{"version":3,"file":"main.js","mappings":"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,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE;YACpH,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE;YACpH,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE;YACpH,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE;YACpH,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE;YACpH,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE;YACpH,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE;YACpH,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CA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","sources":["./src/app/@core/auth.service.ts","./src/app/@core/core.module.ts","./src/app/@core/crypt.service.ts","./src/app/@core/customs/AuthRole.ts","./src/app/@core/customs/common.service.ts","./src/app/@core/customs/constants.ts","./src/app/@core/data/app-congan.service.ts","./src/app/@core/data/app-dmht.service.ts","./src/app/@core/data/app-gopy.service.ts","./src/app/@core/data/app-qtht.service.ts","./src/app/@core/data/users.ts","./src/app/@core/interceptors/auth.interceptor.ts","./src/app/@core/mock/mock-data.module.ts","./src/app/@core/mock/users.service.ts","./src/app/@core/module-import-guard.ts","./src/app/@core/token.service.ts","./src/app/@core/utils/analytics.service.ts","./src/app/@core/utils/index.ts","./src/app/@core/utils/seo.service.ts","./src/app/@core/utils/sort.directive.ts","./src/app/@core/utils/sort.ts","./src/app/@theme/components/footer/footer.component.ts","./src/app/@theme/components/header/header.component.ts","./src/app/@theme/components/header/header.component.html","./src/app/@theme/components/header/notification/notification.component.ts","./src/app/@theme/components/header/notification/notification.component.html","./src/app/@theme/components/index.ts","./src/app/@theme/components/layout-direction-switcher/layout-direction-switcher.component.ts","./src/app/@theme/components/pagination/pagination.component.ts","./src/app/@theme/components/pagination/pagination.component.html","./src/app/@theme/components/search-input/search-input.component.ts","./src/app/@theme/components/switcher/switcher.component.ts","./src/app/@theme/components/template/button/add-sync/btn-add-sync.component.ts","./src/app/@theme/components/template/button/add-sync/btn-add-sync.component.html","./src/app/@theme/components/template/button/add/btn-add.component.ts","./src/app/@theme/components/template/button/add/btn-add.component.html","./src/app/@theme/components/template/button/back/btn-back.component.ts","./src/app/@theme/components/template/button/back/btn-back.component.html","./src/app/@theme/components/template/button/close/btn-close.component.ts","./src/app/@theme/components/template/button/close/btn-close.component.html","./src/app/@theme/components/template/button/config/btn-config.component.ts","./src/app/@theme/components/template/button/config/btn-config.component.html","./src/app/@theme/components/template/button/confirm/btn-confirm.component.ts","./src/app/@theme/components/template/button/confirm/btn-confirm.component.html","./src/app/@theme/components/template/button/default/btn-default.component.ts","./src/app/@theme/components/template/button/default/btn-default.component.html","./src/app/@theme/components/template/button/delete/btn-delete.component.ts","./src/app/@theme/components/template/button/delete/btn-delete.component.html","./src/app/@theme/components/template/button/download/btn-download.component.ts","./src/app/@theme/components/template/button/download/btn-download.component.html","./src/app/@theme/components/template/button/file/btn-file.component.ts","./src/app/@theme/components/template/button/file/btn-file.component.html","./src/app/@theme/components/template/button/refresh/btn-refresh.component.ts","./src/app/@theme/components/template/button/refresh/btn-refresh.component.html","./src/app/@theme/components/template/button/save/btn-save.component.ts","./src/app/@theme/components/template/button/save/btn-save.component.html","./src/app/@theme/components/template/button/search/btn-search.component.ts","./src/app/@theme/components/template/button/search/btn-search.component.html","./src/app/@theme/components/template/button/submit/btn-submit.component.ts","./src/app/@theme/components/template/button/submit/btn-submit.component.html","./src/app/@theme/components/template/button/sync/btn-sync.component.ts","./src/app/@theme/components/template/button/sync/btn-sync.component.html","./src/app/@theme/components/template/button/update-sync/btn-update-sync.component.ts","./src/app/@theme/components/template/button/update-sync/btn-update-sync.component.html","./src/app/@theme/components/template/dialog/delete/delete-dialog.component.ts","./src/app/@theme/components/template/dialog/delete/delete-dialog.component.html","./src/app/@theme/components/template/dialog/input/input-dialog.component.ts","./src/app/@theme/components/template/dialog/input/input-dialog.component.html","./src/app/@theme/components/template/dialog/notification/notification-dialog.component.ts","./src/app/@theme/components/template/dialog/notification/notification-dialog.component.html","./src/app/@theme/components/template/icon/clipboard-list-check/icon-clipboard-list-check.component.ts","./src/app/@theme/components/template/icon/clipboard-list-check/icon-clipboard-list-check.component.html","./src/app/@theme/components/template/icon/delete/icon-delete.component.ts","./src/app/@theme/components/template/icon/delete/icon-delete.component.html","./src/app/@theme/components/template/icon/edit/icon-edit.component.ts","./src/app/@theme/components/template/icon/edit/icon-edit.component.html","./src/app/@theme/components/template/icon/eye/icon-eye.component.ts","./src/app/@theme/components/template/icon/eye/icon-eye.component.html","./src/app/@theme/components/template/icon/info/icon-info.component.ts","./src/app/@theme/components/template/icon/info/icon-info.component.html","./src/app/@theme/components/template/icon/maps/icon-maps.component.ts","./src/app/@theme/components/template/icon/maps/icon-maps.component.html","./src/app/@theme/components/template/icon/minus/icon-minus.component.ts","./src/app/@theme/components/template/icon/minus/icon-minus.component.html","./src/app/@theme/components/template/icon/paper-plane/icon-paper-plane.component.ts","./src/app/@theme/components/template/icon/paper-plane/icon-paper-plane.component.html","./src/app/@theme/components/template/icon/plus/icon-plus.component.ts","./src/app/@theme/components/template/icon/plus/icon-plus.component.html","./src/app/@theme/components/template/icon/reply/icon-reply.component.ts","./src/app/@theme/components/template/icon/reply/icon-reply.component.html","./src/app/@theme/components/template/icon/share/icon-share.component.ts","./src/app/@theme/components/template/icon/share/icon-share.component.html","./src/app/@theme/components/template/icon/users-config/icon-users-config.component.ts","./src/app/@theme/components/template/icon/users-config/icon-users-config.component.html","./src/app/@theme/components/template/report/report.component.ts","./src/app/@theme/components/template/report/report.component.html","./src/app/@theme/layouts/cong-an-layout/cong-an-layout.component.ts","./src/app/@theme/layouts/cong-an-layout/cong-an-layout.component.html","./src/app/@theme/layouts/cong-an-layout/footer-hn/footer-hn.component.ts","./src/app/@theme/layouts/cong-an-layout/footer-hn/footer-hn.component.html","./src/app/@theme/layouts/cong-an-layout/header-hn/header-hn.component.ts","./src/app/@theme/layouts/cong-an-layout/header-hn/header-hn.component.html","./src/app/@theme/layouts/cong-an-layout/web-footer/web-footer.component.ts","./src/app/@theme/layouts/cong-an-layout/web-footer/web-footer.component.html","./src/app/@theme/layouts/cong-an-layout/web-header/web-header.component.ts","./src/app/@theme/layouts/cong-an-layout/web-header/web-header.component.html","./src/app/@theme/layouts/index.ts","./src/app/@theme/layouts/khai-bao-tt-layout/khai-bao-tt-layout.component.ts","./src/app/@theme/layouts/khai-bao-tt-layout/khai-bao-tt-layout.component.html","./src/app/@theme/layouts/one-column/one-column.layout.ts","./src/app/@theme/layouts/three-columns/three-columns.layout.ts","./src/app/@theme/layouts/two-columns/two-columns.layout.ts","./src/app/@theme/pages/change-password/change-password.component.ts","./src/app/@theme/pages/change-password/change-password.component.html","./src/app/@theme/pages/menu/menu.component.ts","./src/app/@theme/pages/menu/menu.component.html","./src/app/@theme/pages/menu/menu.service.ts","./src/app/@theme/pipes/capitalize.pipe.ts","./src/app/@theme/pipes/index.ts","./src/app/@theme/pipes/number-with-commas.pipe.ts","./src/app/@theme/pipes/plural.pipe.ts","./src/app/@theme/pipes/round.pipe.ts","./src/app/@theme/pipes/timing.pipe.ts","./src/app/@theme/styles/theme.corporate.ts","./src/app/@theme/styles/theme.cosmic.ts","./src/app/@theme/styles/theme.dark.ts","./src/app/@theme/styles/theme.default.ts","./src/app/@theme/theme.module.ts","./src/app/modules/app-congan-admin/danh-muc-cong-ty/danh-muc-cong-ty-routing.module.ts","./src/app/modules/app-congan-admin/danh-muc-cong-ty/dmcongty-edit/dmcongty-edit.component.ts","./src/app/modules/app-congan-admin/danh-muc-cong-ty/dmcongty-edit/dmcongty-edit.component.html","./src/app/modules/app-congan-admin/danh-muc-cong-ty/dmcongty-index/dmcongty-index.component.ts","./src/app/modules/app-congan-admin/danh-muc-cong-ty/dmcongty-index/dmcongty-index.component.html","./src/app/modules/app-congan-admin/danh-muc-cong-ty/dmcongty.service.ts","./src/app/modules/app-congan-admin/danh-muc-dan-toc/danh-muc-dan-toc-routing.module.ts","./src/app/modules/app-congan-admin/danh-muc-dan-toc/danh-muc-dan-toc.service.ts","./src/app/modules/app-congan-admin/danh-muc-dan-toc/danh-muc-dan-toc/danh-muc-dan-toc-index/danh-muc-dan-toc-index.component.ts","./src/app/modules/app-congan-admin/danh-muc-dan-toc/danh-muc-dan-toc/danh-muc-dan-toc-index/danh-muc-dan-toc-index.component.html","./src/app/modules/app-congan-admin/danh-muc-dia-ban/danh-muc-dia-ban-routing.module.ts","./src/app/modules/app-congan-admin/danh-muc-dia-ban/dmdiaban-edit/dmdiaban-edit.component.ts","./src/app/modules/app-congan-admin/danh-muc-dia-ban/dmdiaban-edit/dmdiaban-edit.component.html","./src/app/modules/app-congan-admin/danh-muc-dia-ban/dmdiaban-index/dmdiaban-index.component.ts","./src/app/modules/app-congan-admin/danh-muc-dia-ban/dmdiaban-index/dmdiaban-index.component.html","./src/app/modules/app-congan-admin/danh-muc-dia-ban/dmdiaban.service.ts","./src/app/modules/app-congan-admin/danh-muc-don-vi/danh-muc-don-vi-routing.module.ts","./src/app/modules/app-congan-admin/danh-muc-don-vi/danh-muc-don-vi.service.ts","./src/app/modules/app-congan-admin/danh-muc-don-vi/danh-muc-don-vi/danh-muc-don-vi-index/danh-muc-don-vi-index.component.ts","./src/app/modules/app-congan-admin/danh-muc-don-vi/danh-muc-don-vi/danh-muc-don-vi-index/danh-muc-don-vi-index.component.html","./src/app/modules/app-congan-admin/danh-muc-don-vi/danh-muc-don-vi/danh-muc-don-vi/danh-muc-don-vi.component.ts","./src/app/modules/app-congan-admin/danh-muc-don-vi/danh-muc-don-vi/danh-muc-don-vi/danh-muc-don-vi.component.html","./src/app/modules/app-congan-admin/danh-muc-nguoi-dung/danh-muc-nguoi-dung-routing.module.ts","./src/app/modules/app-congan-admin/danh-muc-nguoi-dung/danh-muc-nguoi-dung.service.ts","./src/app/modules/app-congan-admin/danh-muc-nguoi-dung/danh-muc-nguoi-dung/danh-muc-nguoi-dung-index/danh-muc-nguoi-dung-index.component.ts","./src/app/modules/app-congan-admin/danh-muc-nguoi-dung/danh-muc-nguoi-dung/danh-muc-nguoi-dung-index/danh-muc-nguoi-dung-index.component.html","./src/app/modules/app-congan-admin/danh-muc-nguoi-dung/danh-muc-nguoi-dung/danh-muc-nguoi-dung/danh-muc-nguoi-dung.component.ts","./src/app/modules/app-congan-admin/danh-muc-nguoi-dung/danh-muc-nguoi-dung/danh-muc-nguoi-dung/danh-muc-nguoi-dung.component.html","./src/app/modules/app-congan-admin/danh-muc-nguoi-dung/danh-muc-nguoi-dung/import/import.component.ts","./src/app/modules/app-congan-admin/danh-muc-nguoi-dung/danh-muc-nguoi-dung/import/import.component.html","./src/app/modules/app-congan-admin/danh-muc-nguoi-dung/danh-muc-nguoi-dung/lay-lai-mat-khau-ds-tk/lay-lai-mat-khau-ds-tk.component.ts","./src/app/modules/app-congan-admin/danh-muc-nguoi-dung/danh-muc-nguoi-dung/lay-lai-mat-khau-ds-tk/lay-lai-mat-khau-ds-tk.component.html","./src/app/modules/app-congan-admin/danh-muc-nguoi-dung/type-file.ts","./src/app/modules/app-congan-admin/dashboard/dashboard-routing.module.ts","./src/app/modules/app-congan-admin/dashboard/dashboard.component.ts","./src/app/modules/app-congan-admin/dashboard/dashboard.component.html","./src/app/modules/app-congan-admin/dashboard/dashboard.service.ts","./src/app/modules/app-congan-admin/ds-doi-tuong-truy-na/doi-tuong-truy-na.service.ts","./src/app/modules/app-congan-admin/ds-doi-tuong-truy-na/doi-tuong-truy-na/doi-tuong-truy-na.component.ts","./src/app/modules/app-congan-admin/ds-doi-tuong-truy-na/doi-tuong-truy-na/doi-tuong-truy-na.component.html","./src/app/modules/app-congan-admin/ds-doi-tuong-truy-na/ds-doi-tuong-truy-na-routing.module.ts","./src/app/modules/app-congan-admin/ds-doi-tuong-truy-na/import/import.component.ts","./src/app/modules/app-congan-admin/ds-doi-tuong-truy-na/import/import.component.html","./src/app/modules/app-congan-admin/ds-doi-tuong-truy-na/index/index.component.ts","./src/app/modules/app-congan-admin/ds-doi-tuong-truy-na/index/index.component.html","./src/app/modules/app-congan-admin/ds-khach-thue/ds-khach-thue-routing.module.ts","./src/app/modules/app-congan-admin/ds-khach-thue/ds-khach-thue.component.ts","./src/app/modules/app-congan-admin/ds-khach-thue/ds-khach-thue.component.html","./src/app/modules/app-congan-admin/ds-khach-thue/ds-khach-thue.service.ts","./src/app/modules/app-congan-admin/ds-khach-thue/nhat-ky-theo-doi/nhat-ky-theo-doi.component.ts","./src/app/modules/app-congan-admin/ds-khach-thue/nhat-ky-theo-doi/nhat-ky-theo-doi.component.html","./src/app/modules/app-congan-admin/ds-khach-thue/view-lich-su/view-lich-su.component.ts","./src/app/modules/app-congan-admin/ds-khach-thue/view-lich-su/view-lich-su.component.html","./src/app/modules/app-congan-admin/ds-nha-tro/ds-nha-tro-routing.module.ts","./src/app/modules/app-congan-admin/ds-nha-tro/ds-nha-tro.component.ts","./src/app/modules/app-congan-admin/ds-nha-tro/ds-nha-tro.component.html","./src/app/modules/app-congan-admin/ds-nha-tro/ds-nha-tro.service.ts","./src/app/modules/app-congan-admin/ds-nha-tro/view-khach-thue-detail/view-khach-thue-detail.component.ts","./src/app/modules/app-congan-admin/ds-nha-tro/view-khach-thue-detail/view-khach-thue-detail.component.html","./src/app/modules/app-congan-admin/maps/maps-index.component.ts","./src/app/modules/app-congan-admin/maps/maps-index.component.html","./src/app/modules/app-congan-admin/maps/maps.service.ts","./src/app/modules/app-congan-admin/nghiep-vu-routing.module.ts","./src/app/modules/app-congan-admin/nghiep-vu.module.ts","./src/app/modules/app-congan-admin/nhat-ky-he-thong/nhat-ky-he-thong.component.ts","./src/app/modules/app-congan-admin/nhat-ky-he-thong/nhat-ky-he-thong.component.html","./src/app/modules/app-congan-admin/nhat-ky-he-thong/nhat-ky-he-thong.service.ts","./src/app/modules/app-congan-admin/quan-ly-dich-vu/quan-ly-dich-vu-routing.module.ts","./src/app/modules/app-congan-admin/quan-ly-dich-vu/quan-ly-dich-vu.service.ts","./src/app/modules/app-congan-admin/quan-ly-dich-vu/quan-ly-dich-vu/quan-ly-dich-vu-index/quan-ly-dich-vu-index.component.ts","./src/app/modules/app-congan-admin/quan-ly-dich-vu/quan-ly-dich-vu/quan-ly-dich-vu-index/quan-ly-dich-vu-index.component.html","./src/app/modules/app-congan-admin/quan-ly-dich-vu/quan-ly-dich-vu/quan-ly-dich-vu-share/quan-ly-dich-vu-share.component.ts","./src/app/modules/app-congan-admin/quan-ly-dich-vu/quan-ly-dich-vu/quan-ly-dich-vu-share/quan-ly-dich-vu-share.component.html","./src/app/modules/app-congan-admin/quan-ly-dich-vu/quan-ly-dich-vu/quan-ly-dich-vu/quan-ly-dich-vu.component.ts","./src/app/modules/app-congan-admin/quan-ly-dich-vu/quan-ly-dich-vu/quan-ly-dich-vu/quan-ly-dich-vu.component.html","./src/app/modules/app-congan-admin/quan-ly-hoa-don/quan-ly-hoa-don-routing.module.ts","./src/app/modules/app-congan-admin/quan-ly-hoa-don/quan-ly-hoa-don.service.ts","./src/app/modules/app-congan-admin/quan-ly-hoa-don/quan-ly-hoa-don/quan-ly-hoa-don-index/quan-ly-hoa-don-index.component.ts","./src/app/modules/app-congan-admin/quan-ly-hoa-don/quan-ly-hoa-don/quan-ly-hoa-don-index/quan-ly-hoa-don-index.component.html","./src/app/modules/app-congan-admin/quan-ly-hoa-don/quan-ly-hoa-don/quan-ly-hoa-don-pay/quan-ly-hoa-don-pay.component.ts","./src/app/modules/app-congan-admin/quan-ly-hoa-don/quan-ly-hoa-don/quan-ly-hoa-don-pay/quan-ly-hoa-don-pay.component.html","./src/app/modules/app-congan-admin/quan-ly-hoa-don/quan-ly-hoa-don/quan-ly-hoa-don-print/quan-ly-hoa-don-print.component.ts","./src/app/modules/app-congan-admin/quan-ly-hoa-don/quan-ly-hoa-don/quan-ly-hoa-don-print/quan-ly-hoa-don-print.component.html","./src/app/modules/app-congan-admin/quan-ly-hoa-don/quan-ly-hoa-don/quan-ly-hoa-don/quan-ly-hoa-don.component.ts","./src/app/modules/app-congan-admin/quan-ly-hoa-don/quan-ly-hoa-don/quan-ly-hoa-don/quan-ly-hoa-don.component.html","./src/app/modules/app-congan-admin/quan-ly-hop-dong/quan-ly-hop-dong-routing.module.ts","./src/app/modules/app-congan-admin/quan-ly-hop-dong/quan-ly-hop-dong.service.ts","./src/app/modules/app-congan-admin/quan-ly-hop-dong/quan-ly-hop-dong/chon-dich-vu/chon-dich-vu.component.ts","./src/app/modules/app-congan-admin/quan-ly-hop-dong/quan-ly-hop-dong/chon-dich-vu/chon-dich-vu.component.html","./src/app/modules/app-congan-admin/quan-ly-hop-dong/quan-ly-hop-dong/chon-khach-thue/chon-khach-thue.component.ts","./src/app/modules/app-congan-admin/quan-ly-hop-dong/quan-ly-hop-dong/chon-khach-thue/chon-khach-thue.component.html","./src/app/modules/app-congan-admin/quan-ly-hop-dong/quan-ly-hop-dong/quan-ly-hop-dong-index/quan-ly-hop-dong-index.component.ts","./src/app/modules/app-congan-admin/quan-ly-hop-dong/quan-ly-hop-dong/quan-ly-hop-dong-index/quan-ly-hop-dong-index.component.html","./src/app/modules/app-congan-admin/quan-ly-hop-dong/quan-ly-hop-dong/quan-ly-hop-dong/quan-ly-hop-dong.component.ts","./src/app/modules/app-congan-admin/quan-ly-hop-dong/quan-ly-hop-dong/quan-ly-hop-dong/quan-ly-hop-dong.component.html","./src/app/modules/app-congan-admin/quan-ly-khach/confirm/confirm.component.ts","./src/app/modules/app-congan-admin/quan-ly-khach/confirm/confirm.component.html","./src/app/modules/app-congan-admin/quan-ly-khach/dang-ky-tam-tru-confirm/dang-ky-tam-tru-confirm.component.ts","./src/app/modules/app-congan-admin/quan-ly-khach/dang-ky-tam-tru-confirm/dang-ky-tam-tru-confirm.component.html","./src/app/modules/app-congan-admin/quan-ly-khach/quan-ly-khach-routing.module.ts","./src/app/modules/app-congan-admin/quan-ly-khach/quan-ly-khach.service.ts","./src/app/modules/app-congan-admin/quan-ly-khach/quan-ly-khach/quan-ly-khach-index/quan-ly-khach-index.component.ts","./src/app/modules/app-congan-admin/quan-ly-khach/quan-ly-khach/quan-ly-khach-index/quan-ly-khach-index.component.html","./src/app/modules/app-congan-admin/quan-ly-khach/quan-ly-khach/quan-ly-khach-report/quan-ly-khach-report.component.ts","./src/app/modules/app-congan-admin/quan-ly-khach/quan-ly-khach/quan-ly-khach-report/quan-ly-khach-report.component.html","./src/app/modules/app-congan-admin/quan-ly-khach/quan-ly-khach/quan-ly-khach-swap/quan-ly-khach-swap.component.ts","./src/app/modules/app-congan-admin/quan-ly-khach/quan-ly-khach/quan-ly-khach-swap/quan-ly-khach-swap.component.html","./src/app/modules/app-congan-admin/quan-ly-khach/quan-ly-khach/quan-ly-khach-sync/quan-ly-khach-sync.component.ts","./src/app/modules/app-congan-admin/quan-ly-khach/quan-ly-khach/quan-ly-khach-sync/quan-ly-khach-sync.component.html","./src/app/modules/app-congan-admin/quan-ly-khach/quan-ly-khach/quan-ly-khach/quan-ly-khach.component.ts","./src/app/modules/app-congan-admin/quan-ly-khach/quan-ly-khach/quan-ly-khach/quan-ly-khach.component.html","./src/app/modules/app-congan-admin/quan-ly-khach/thong-bao-toi-pham/thong-bao-toi-pham.component.ts","./src/app/modules/app-congan-admin/quan-ly-khach/thong-bao-toi-pham/thong-bao-toi-pham.component.html","./src/app/modules/app-congan-admin/quan-ly-kien-nghi/quan-ly-kien-nghi-routing.module.ts","./src/app/modules/app-congan-admin/quan-ly-kien-nghi/quan-ly-kien-nghi.service.ts","./src/app/modules/app-congan-admin/quan-ly-kien-nghi/quan-ly-kien-nghi/quan-ly-kien-nghi-index/quan-ly-kien-nghi-index.component.ts","./src/app/modules/app-congan-admin/quan-ly-kien-nghi/quan-ly-kien-nghi/quan-ly-kien-nghi-index/quan-ly-kien-nghi-index.component.html","./src/app/modules/app-congan-admin/quan-ly-kien-nghi/quan-ly-kien-nghi/quan-ly-kien-nghi/quan-ly-kien-nghi.component.ts","./src/app/modules/app-congan-admin/quan-ly-kien-nghi/quan-ly-kien-nghi/quan-ly-kien-nghi/quan-ly-kien-nghi.component.html","./src/app/modules/app-congan-admin/quan-ly-mau-thong-bao/crud/crud.component.ts","./src/app/modules/app-congan-admin/quan-ly-mau-thong-bao/crud/crud.component.html","./src/app/modules/app-congan-admin/quan-ly-mau-thong-bao/index/index.component.ts","./src/app/modules/app-congan-admin/quan-ly-mau-thong-bao/index/index.component.html","./src/app/modules/app-congan-admin/quan-ly-mau-thong-bao/quan-ly-mau-thong-bao-routing.module.ts","./src/app/modules/app-congan-admin/quan-ly-nha-nghi/quan-ly-nha-nghi-routing.module.ts","./src/app/modules/app-congan-admin/quan-ly-nha-nghi/quan-ly-nha-nghi.service.ts","./src/app/modules/app-congan-admin/quan-ly-nha-nghi/quan-ly-nha-nghi/quan-ly-nha-nghi-index/quan-ly-nha-nghi-index.component.ts","./src/app/modules/app-congan-admin/quan-ly-nha-nghi/quan-ly-nha-nghi/quan-ly-nha-nghi-index/quan-ly-nha-nghi-index.component.html","./src/app/modules/app-congan-admin/quan-ly-nha-nghi/quan-ly-nha-nghi/quan-ly-nha-nghi/quan-ly-nha-nghi.component.ts","./src/app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-khach-qrcode/quan-ly-khach-qrcode.component.ts","./src/app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-khach-qrcode/quan-ly-khach-qrcode.component.html","./src/app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-nha-tro-routing.module.ts","./src/app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-nha-tro.service.ts","./src/app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-nha-tro/quan-ly-nha-tro-index/quan-ly-nha-tro-index.component.ts","./src/app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-nha-tro/quan-ly-nha-tro-index/quan-ly-nha-tro-index.component.html","./src/app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-nha-tro/quan-ly-nha-tro-maps/quan-ly-nha-tro-maps.component.ts","./src/app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-nha-tro/quan-ly-nha-tro-maps/quan-ly-nha-tro-maps.component.html","./src/app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-nha-tro/quan-ly-nha-tro-share/quan-ly-nha-tro-share.component.ts","./src/app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-nha-tro/quan-ly-nha-tro-share/quan-ly-nha-tro-share.component.html","./src/app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-nha-tro/quan-ly-nha-tro/quan-ly-nha-tro.component.ts","./src/app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-nha-tro/quan-ly-nha-tro/quan-ly-nha-tro.component.html","./src/app/modules/app-congan-admin/quan-ly-phan-anh-tb/patb-detail/patb-detail.component.ts","./src/app/modules/app-congan-admin/quan-ly-phan-anh-tb/patb-detail/patb-detail.component.html","./src/app/modules/app-congan-admin/quan-ly-phan-anh-tb/quan-ly-phan-anh-tb-routing.module.ts","./src/app/modules/app-congan-admin/quan-ly-phan-anh-tb/quan-ly-phan-anh-tb.service.ts","./src/app/modules/app-congan-admin/quan-ly-phan-anh-tb/thong-ke-patb/thong-ke-patb-detail/thong-ke-patb-detail.component.ts","./src/app/modules/app-congan-admin/quan-ly-phan-anh-tb/thong-ke-patb/thong-ke-patb-detail/thong-ke-patb-detail.component.html","./src/app/modules/app-congan-admin/quan-ly-phan-anh-tb/thong-ke-patb/thong-ke-patb.component.ts","./src/app/modules/app-congan-admin/quan-ly-phan-anh-tb/thong-ke-patb/thong-ke-patb.component.html","./src/app/modules/app-congan-admin/quan-ly-phan-anh-tb/xu-ly-patb/ho-tro/ho-tro-process/ho-tro-process.component.ts","./src/app/modules/app-congan-admin/quan-ly-phan-anh-tb/xu-ly-patb/ho-tro/ho-tro-process/ho-tro-process.component.html","./src/app/modules/app-congan-admin/quan-ly-phan-anh-tb/xu-ly-patb/ho-tro/ho-tro.component.ts","./src/app/modules/app-congan-admin/quan-ly-phan-anh-tb/xu-ly-patb/ho-tro/ho-tro.component.html","./src/app/modules/app-congan-admin/quan-ly-phan-anh-tb/xu-ly-patb/phan-cong-xl/phan-cong-xl-assign/phan-cong-xl-assign.component.ts","./src/app/modules/app-congan-admin/quan-ly-phan-anh-tb/xu-ly-patb/phan-cong-xl/phan-cong-xl-assign/phan-cong-xl-assign.component.html","./src/app/modules/app-congan-admin/quan-ly-phan-anh-tb/xu-ly-patb/phan-cong-xl/phan-cong-xl.component.ts","./src/app/modules/app-congan-admin/quan-ly-phan-anh-tb/xu-ly-patb/phan-cong-xl/phan-cong-xl.component.html","./src/app/modules/app-congan-admin/quan-ly-phan-anh-tb/xu-ly-patb/phe-duyet-patb/phe-duyet-patb-approve/phe-duyet-patb-approve.component.ts","./src/app/modules/app-congan-admin/quan-ly-phan-anh-tb/xu-ly-patb/phe-duyet-patb/phe-duyet-patb-approve/phe-duyet-patb-approve.component.html","./src/app/modules/app-congan-admin/quan-ly-phan-anh-tb/xu-ly-patb/phe-duyet-patb/phe-duyet-patb.component.ts","./src/app/modules/app-congan-admin/quan-ly-phan-anh-tb/xu-ly-patb/phe-duyet-patb/phe-duyet-patb.component.html","./src/app/modules/app-congan-admin/quan-ly-phan-anh-tb/xu-ly-patb/xl-cua-toi/xl-cua-toi-process/xl-cua-toi-process.component.ts","./src/app/modules/app-congan-admin/quan-ly-phan-anh-tb/xu-ly-patb/xl-cua-toi/xl-cua-toi-process/xl-cua-toi-process.component.html","./src/app/modules/app-congan-admin/quan-ly-phan-anh-tb/xu-ly-patb/xl-cua-toi/xl-cua-toi.component.ts","./src/app/modules/app-congan-admin/quan-ly-phan-anh-tb/xu-ly-patb/xl-cua-toi/xl-cua-toi.component.html","./src/app/modules/app-congan-admin/quan-ly-phong/quan-ly-phong-routing.module.ts","./src/app/modules/app-congan-admin/quan-ly-phong/quan-ly-phong.service.ts","./src/app/modules/app-congan-admin/quan-ly-phong/quan-ly-phong/quan-ly-phong-index/quan-ly-phong-index.component.ts","./src/app/modules/app-congan-admin/quan-ly-phong/quan-ly-phong/quan-ly-phong-index/quan-ly-phong-index.component.html","./src/app/modules/app-congan-admin/quan-ly-phong/quan-ly-phong/quan-ly-phong-share/quan-ly-phong-share.component.ts","./src/app/modules/app-congan-admin/quan-ly-phong/quan-ly-phong/quan-ly-phong-share/quan-ly-phong-share.component.html","./src/app/modules/app-congan-admin/quan-ly-phong/quan-ly-phong/quan-ly-phong/quan-ly-phong.component.ts","./src/app/modules/app-congan-admin/quan-ly-phong/quan-ly-phong/quan-ly-phong/quan-ly-phong.component.html","./src/app/modules/app-congan-admin/quan-ly-tam-tru/quan-ly-tam-tru-routing.module.ts","./src/app/modules/app-congan-admin/quan-ly-tam-tru/quan-ly-tam-tru.service.ts","./src/app/modules/app-congan-admin/quan-ly-tam-tru/quan-ly-tam-tru/quan-ly-tam-tru-index/quan-ly-tam-tru-index.component.ts","./src/app/modules/app-congan-admin/quan-ly-tam-tru/quan-ly-tam-tru/quan-ly-tam-tru-index/quan-ly-tam-tru-index.component.html","./src/app/modules/app-congan-admin/quan-ly-thong-bao/quan-ly-thong-bao-routing.module.ts","./src/app/modules/app-congan-admin/quan-ly-thong-bao/quan-ly-thong-bao.service.ts","./src/app/modules/app-congan-admin/quan-ly-thong-bao/quan-ly-thong-bao/cau-hinh/cau-hinh.component.ts","./src/app/modules/app-congan-admin/quan-ly-thong-bao/quan-ly-thong-bao/cau-hinh/cau-hinh.component.html","./src/app/modules/app-congan-admin/quan-ly-thong-bao/quan-ly-thong-bao/quan-ly-cau-hinh/quan-ly-cau-hinh.component.ts","./src/app/modules/app-congan-admin/quan-ly-thong-bao/quan-ly-thong-bao/quan-ly-cau-hinh/quan-ly-cau-hinh.component.html","./src/app/modules/app-congan-admin/quan-ly-thong-bao/quan-ly-thong-bao/quan-ly-thong-bao-feedback/quan-ly-thong-bao-feedback.component.ts","./src/app/modules/app-congan-admin/quan-ly-thong-bao/quan-ly-thong-bao/quan-ly-thong-bao-feedback/quan-ly-thong-bao-feedback.component.html","./src/app/modules/app-congan-admin/quan-ly-thong-bao/quan-ly-thong-bao/quan-ly-thong-bao-index/quan-ly-thong-bao-index.component.ts","./src/app/modules/app-congan-admin/quan-ly-thong-bao/quan-ly-thong-bao/quan-ly-thong-bao-index/quan-ly-thong-bao-index.component.html","./src/app/modules/app-congan-admin/quan-ly-thong-bao/quan-ly-thong-bao/quan-ly-thong-bao-showfeedback/quan-ly-thong-bao-showfeedback.component.ts","./src/app/modules/app-congan-admin/quan-ly-thong-bao/quan-ly-thong-bao/quan-ly-thong-bao-showfeedback/quan-ly-thong-bao-showfeedback.component.html","./src/app/modules/app-congan-admin/quan-ly-thong-bao/quan-ly-thong-bao/quan-ly-thong-bao/quan-ly-thong-bao.component.ts","./src/app/modules/app-congan-admin/quan-ly-thong-bao/quan-ly-thong-bao/quan-ly-thong-bao/quan-ly-thong-bao.component.html","./src/app/modules/app-congan-admin/quan-ly-tin-tuc/confirm/confirm.component.ts","./src/app/modules/app-congan-admin/quan-ly-tin-tuc/confirm/confirm.component.html","./src/app/modules/app-congan-admin/quan-ly-tin-tuc/quan-ly-tin-tuc-routing.module.ts","./src/app/modules/app-congan-admin/quan-ly-tin-tuc/tin-tuc-crud/tin-tuc-crud.component.ts","./src/app/modules/app-congan-admin/quan-ly-tin-tuc/tin-tuc-crud/tin-tuc-crud.component.html","./src/app/modules/app-congan-admin/quan-ly-tin-tuc/tin-tuc-index/tin-tuc-index.component.ts","./src/app/modules/app-congan-admin/quan-ly-tin-tuc/tin-tuc-index/tin-tuc-index.component.html","./src/app/modules/app-congan-admin/quan-ly-zalo/quan-ly-zalo-index/quan-ly-zalo-index.component.ts","./src/app/modules/app-congan-admin/quan-ly-zalo/quan-ly-zalo-index/quan-ly-zalo-index.component.html","./src/app/modules/app-congan-admin/quan-ly-zalo/quan-ly-zalo-routing.module.ts","./src/app/modules/app-congan-admin/quan-ly-zalo/quan-ly-zalo/quan-ly-zalo.component.ts","./src/app/modules/app-congan-admin/quan-ly-zalo/quan-ly-zalo/quan-ly-zalo.component.html","./src/app/modules/app-congan-admin/thong-ke/chu-tro/chu-tro.component.ts","./src/app/modules/app-congan-admin/thong-ke/chu-tro/chu-tro.component.html","./src/app/modules/app-congan-admin/thong-ke/khach-thue/khach-thue.component.ts","./src/app/modules/app-congan-admin/thong-ke/khach-thue/khach-thue.component.html","./src/app/modules/app-congan-admin/thong-ke/nguoi-dung-qt/nguoi-dung-qt.component.ts","./src/app/modules/app-congan-admin/thong-ke/nguoi-dung-qt/nguoi-dung-qt.component.html","./src/app/modules/app-congan-admin/thong-ke/nha-tro/nha-tro.component.ts","./src/app/modules/app-congan-admin/thong-ke/nha-tro/nha-tro.component.html","./src/app/modules/app-congan-admin/thong-ke/thong-ke-routing.module.ts","./src/app/modules/app-congan-admin/thong-ke/thong-ke.service.ts","./src/app/modules/app-congan/app-congan-chitietnhatro/app-congan-chitietnhatro.component.ts","./src/app/modules/app-congan/app-congan-chitietnhatro/app-congan-chitietnhatro.component.html","./src/app/modules/app-congan/app-congan-map/app-congan-map.component.ts","./src/app/modules/app-congan/app-congan-map/app-congan-map.component.html","./src/app/modules/app-congan/app-congan-nhatro/app-congan-nhatro.component.ts","./src/app/modules/app-congan/app-congan-nhatro/app-congan-nhatro.component.html","./src/app/modules/app-congan/app-congan-routing.module.ts","./src/app/modules/app-congan/app-congan-tintuc/app-congan-tintuc.component.ts","./src/app/modules/app-congan/app-congan-tintuc/app-congan-tintuc.component.html","./src/app/modules/app-congan/app-congan.module.ts","./src/app/modules/app-congan/detail/detail.component.ts","./src/app/modules/app-congan/detail/detail.component.html","./src/app/modules/app-congan/detail/detail.service.ts","./src/app/modules/app-congan/home-hn/home-hn.component.ts","./src/app/modules/app-congan/home-hn/home-hn.component.html","./src/app/modules/app-congan/home/home.component.ts","./src/app/modules/app-congan/home/home.component.html","./src/app/modules/app-congan/home/home.service.ts","./src/app/modules/app-congan/kiem-tra-cong-dan/kiem-tra-cong-dan.component.ts","./src/app/modules/app-congan/kiem-tra-cong-dan/kiem-tra-cong-dan.component.html","./src/app/modules/app-congan/kiem-tra-cong-dan/kiem-tra-cong-dan.service.ts","./src/app/modules/app-congan/kiem-tra-nha-tro/kiem-tra-nha-tro.component.ts","./src/app/modules/app-congan/kiem-tra-nha-tro/kiem-tra-nha-tro.component.html","./src/app/modules/app-congan/nhap-tt-ca-nhan/nhap-tt-ca-nhan.component.ts","./src/app/modules/app-congan/nhap-tt-ca-nhan/nhap-tt-ca-nhan.component.html","./src/app/modules/app-congan/qr-tra-phong/qr-tra-phong.component.ts","./src/app/modules/app-congan/qr-tra-phong/qr-tra-phong.component.html","./src/app/modules/app-congan/quan-ly-khach-qrcode/quan-ly-khach-qrcode.component.ts","./src/app/modules/app-congan/quan-ly-khach-qrcode/quan-ly-khach-qrcode.component.html","./src/app/modules/app-congan/registerpublic/registerpublic.component.ts","./src/app/modules/app-congan/registerpublic/registerpublic.component.html","./src/app/modules/app-routing.module.ts","./src/app/modules/app.component.ts","./src/app/modules/app.module.ts","./src/environments/environment.ts","./src/environments/pathEnviroment.ts","./src/main.ts","ignored|D:\\CODE_APP\\nha-tro\\bt_open_fe_2021_app_cat\\node_modules\\crypto-js|crypto"],"sourcesContent":["import { AppQthtApiService, AuthenticateRequest, ObjectIEnumerableApiResponse, TokenForRefresh } from './data/app-qtht.service';\r\nimport { CommonService } from './customs/common.service';\r\nimport { HttpClient, HttpErrorResponse, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError, tap } from 'rxjs/operators';\r\nimport { TokenService } from './token.service';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { NOTFOUND_RESPONE, SUCCESS_RESPONSE } from './customs/constants';\r\nimport { MenuService } from 'app/@theme/pages/menu/menu.service';\r\nimport { AppCongAnApiService, LoginModel } from './data/app-congan.service';\r\n\r\nexport interface IUserDataToken {\r\n Id: number;\r\n UnitCode: string;\r\n UnitName: string;\r\n UserName: string;\r\n FullName: string;\r\n RefreshToken: string;\r\n CapDonVi?: number;\r\n Role: string[];\r\n}\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthService {\r\n\r\n redirectUrl = '';\r\n\r\n private static handleError(error: HttpErrorResponse): any {\r\n if (error.error instanceof ErrorEvent) {\r\n console.error('An error occurred:', error.error.message);\r\n } else {\r\n console.error(\r\n `Backend returned code ${error.status}, ` +\r\n `body was: ${error.error}`);\r\n }\r\n return throwError(\r\n 'Something bad happened; please try again later.');\r\n }\r\n\r\n private jwtHelper: JwtHelperService;\r\n private token?: string;\r\n constructor (\r\n private http: HttpClient,\r\n private tokenService: TokenService,\r\n private commonService: CommonService,\r\n private appQthtService: AppQthtApiService,\r\n private appCongAnService: AppCongAnApiService,\r\n private menuService: MenuService,\r\n private router: Router) {\r\n this.jwtHelper = new JwtHelperService();\r\n this.jwtHelper.tokenGetter = () => this.token;\r\n }\r\n\r\n private static log(message: string): any {\r\n // console.log(message);\r\n }\r\n\r\n login(loginData: any): Observable {\r\n this.tokenService.removeToken();\r\n // this.tokenService.removeRefreshToken();\r\n const body = new HttpParams()\r\n .set('username', loginData.username)\r\n .set('password', loginData.password)\r\n .set('grant_type', 'password');\r\n const userLogin = new LoginModel({\r\n userName: loginData.username,\r\n password: loginData.password\r\n });\r\n this.menuService.resetMenuWhenLogin();\r\n return this.appCongAnService.appCongAnApiV1AuthLogin(userLogin)\r\n .pipe(\r\n tap(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.tokenService.saveToken(res.data.jwtToken);\r\n // this.tokenService.saveRefreshToken(res.data.refresh_token);\r\n this.tokenService.setCookieExpired(new Date(res['.expires']));\r\n const usInfor: IUserDataToken = {\r\n Id: res.data.id,\r\n UnitCode: res.data.unitCode,\r\n UnitName: res.data.unitName,\r\n FullName: res.data.fullName,\r\n UserName: res.data.userName,\r\n CapDonVi: res.data.capDonVi,\r\n RefreshToken: res.data.refreshToken,\r\n Role: this.jwtHelper.decodeToken(res.data.jwtToken).role\r\n };\r\n this.tokenService.setUserInfo(usInfor);\r\n this.router.navigate(['congan/admin/dashboard']).then(() => {\r\n this.commonService.toastrSuccess('Đăng nhập thành công !');\r\n });\r\n } else if (res.code === NOTFOUND_RESPONE) {\r\n this.commonService.toastrWarning(res.message, 'Thông báo');\r\n } else {\r\n this.commonService.toastrDanger(res.message, 'Thông báo');\r\n }\r\n }),\r\n catchError(AuthService.handleError)\r\n );\r\n }\r\n\r\n getListApplication(): Observable {\r\n return this.appQthtService.appQthtApiV1SysAppSelectAll();\r\n }\r\n\r\n refreshToken(tag: string = null): Observable {\r\n const body = new TokenForRefresh({\r\n tag: tag\r\n });\r\n return this.appQthtService.appAuthApiV1AuthRefreshTokenBase(body)\r\n .pipe(\r\n tap(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.token = res.data.jwtToken;\r\n const usInfor: IUserDataToken = {\r\n Id: res.data.id,\r\n UnitCode: res.data.unitCode,\r\n UnitName: res.data.unitName,\r\n FullName: res.data.fullName,\r\n UserName: res.data.username,\r\n CapDonVi: res.data.tag !== null && res.data.tag !== '' ? Number(res.data.tag.split(':')[1]) : null,\r\n RefreshToken: res.data.refreshToken,\r\n Role: this.jwtHelper.decodeToken(res.data.jwtToken).role\r\n };\r\n this.tokenService.saveToken(res.data.jwtToken);\r\n this.tokenService.setUserInfo(usInfor);\r\n }\r\n }),\r\n catchError(AuthService.handleError)\r\n );\r\n }\r\n\r\n logout(): void {\r\n this.tokenService.removeToken();\r\n // this.tokenService.removeRefreshToken();\r\n this.tokenService.removeCookie();\r\n }\r\n\r\n register(data: any): Observable {\r\n // return this.http.post(API_URL + 'oauth/signup', data)\r\n // .pipe(\r\n // tap(_ => AuthService.log('register')),\r\n // catchError(AuthService.handleError)\r\n // );\r\n return null;\r\n }\r\n\r\n secured(): Observable {\r\n // return this.http.get(API_URL + 'secret')\r\n // .pipe(catchError(AuthService.handleError));\r\n return null;\r\n }\r\n\r\n checkTokenExpired(): boolean {\r\n const dt = this.tokenService.getCookieExpired();\r\n if (dt === null || dt < new Date()) {\r\n this.router.navigate(['/login']).then(_ => false);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n routingMach(routing: string): boolean {\r\n let checkRouting = false;\r\n this.menuService.getRoutingSaveCheckRole().subscribe(result => {\r\n if (result.length === 0) {\r\n this.menuService.getMenuByUserLogin().subscribe(menuLogin => {\r\n if (menuLogin.code === SUCCESS_RESPONSE) {\r\n this.menuService.setRoutingSaveCheckRole(menuLogin.data);\r\n if (menuLogin.data.findIndex(c => c.state === routing) !== -1) {\r\n checkRouting = true;\r\n }\r\n }\r\n });\r\n } else {\r\n if (result.findIndex(c => c.state === routing) !== -1) {\r\n checkRouting = true;\r\n }\r\n }\r\n });\r\n return checkRouting;\r\n }\r\n}\r\n","import { AuthService } from './auth.service';\r\nimport { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NbAuthModule, NbDummyAuthStrategy } from '@nebular/auth';\r\nimport { NbSecurityModule, NbRoleProvider } from '@nebular/security';\r\nimport { of as observableOf } from 'rxjs';\r\n\r\nimport { throwIfAlreadyLoaded } from './module-import-guard';\r\nimport { AnalyticsService, SeoService } from './utils';\r\nimport { UserData } from './data/users';\r\nimport { UserService } from './mock/users.service';\r\nimport { MockDataModule } from './mock/mock-data.module';\r\nimport { environment } from 'environments/environment';\r\nimport { APP_QTHT_URL } from './data/app-qtht.service';\r\nimport { APP_CONGAN_URL } from './data/app-congan.service';\r\nimport { APP_CONGAN_PATH } from 'environments/pathEnviroment';\r\nimport { APP_GOPY_URL } from './data/app-gopy.service';\r\n\r\nconst socialLinks = [\r\n {\r\n url: 'https://github.com/akveo/nebular',\r\n target: '_blank',\r\n icon: 'github',\r\n },\r\n {\r\n url: 'https://www.facebook.com/akveo/',\r\n target: '_blank',\r\n icon: 'facebook',\r\n },\r\n {\r\n url: 'https://twitter.com/akveo_inc',\r\n target: '_blank',\r\n icon: 'twitter',\r\n },\r\n];\r\n\r\nconst DATA_SERVICES = [\r\n { provide: UserData, useClass: UserService },\r\n];\r\n\r\nexport class NbSimpleRoleProvider extends NbRoleProvider {\r\n getRole() {\r\n // here you could provide any role based on any auth flow\r\n return observableOf('guest');\r\n }\r\n}\r\n\r\nexport const NB_CORE_PROVIDERS = [\r\n { provide: APP_QTHT_URL, useValue: environment.APP_QTHT_URL },\r\n { provide: APP_CONGAN_URL, useValue: environment.APP_CONGAN_URL },\r\n { provide: APP_GOPY_URL, useValue: environment.APP_GOPY_URL },\r\n { provide: APP_CONGAN_PATH, useValue: environment.APP_CONGAN_PATH },\r\n ...MockDataModule.forRoot().providers,\r\n ...DATA_SERVICES,\r\n ...NbAuthModule.forRoot({\r\n\r\n strategies: [\r\n NbDummyAuthStrategy.setup({\r\n name: 'email',\r\n delay: 3000,\r\n }),\r\n ],\r\n forms: {\r\n login: {\r\n socialLinks: socialLinks,\r\n },\r\n register: {\r\n socialLinks: socialLinks,\r\n },\r\n },\r\n }).providers,\r\n\r\n NbSecurityModule.forRoot({\r\n accessControl: {\r\n guest: {\r\n view: '*',\r\n },\r\n user: {\r\n parent: 'guest',\r\n create: '*',\r\n edit: '*',\r\n remove: '*',\r\n },\r\n },\r\n }).providers,\r\n\r\n {\r\n provide: NbRoleProvider, useClass: NbSimpleRoleProvider,\r\n },\r\n AuthService,\r\n AnalyticsService,\r\n SeoService,\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [\r\n NbAuthModule,\r\n ],\r\n declarations: [],\r\n})\r\nexport class CoreModule {\r\n constructor(@Optional() @SkipSelf() parentModule: CoreModule) {\r\n throwIfAlreadyLoaded(parentModule, 'CoreModule');\r\n }\r\n\r\n static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: CoreModule,\r\n providers: [\r\n ...NB_CORE_PROVIDERS,\r\n ],\r\n };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as CryptoJS from 'crypto-js';\r\nimport { environment } from 'environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n///https://www.c-sharpcorner.com/blogs/encrypt-encrypt-payload-using-angular-11-and-asp-net-core - cái này sau sẽ làm để đảm bảo an toàn thông tin\r\nexport class CryptService {\r\n\r\n constructor() { }\r\n\r\n md5Hash(vaule: string) {\r\n return CryptoJS.md5(vaule);\r\n }\r\n\r\n sha1Hash(vaule: string) {\r\n return CryptoJS.sha1(vaule);\r\n }\r\n\r\n sha256Hash(vaule: string) {\r\n return CryptoJS.sha256(vaule);\r\n }\r\n\r\n private key = CryptoJS.enc.Utf8.parse(environment.KeyCrypt);\r\n private iv = CryptoJS.enc.Utf8.parse(environment.IV);\r\n\r\n encryptUsingAES256(text): any {\r\n var encrypted = CryptoJS.AES.encrypt(text, this.key, {\r\n iv: this.iv,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7\r\n });\r\n return encrypted.toString();\r\n }\r\n\r\n decryptUsingAES256(decString) {\r\n var decrypted = CryptoJS.AES.decrypt(decString, this.key, {\r\n iv: this.iv,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7\r\n });\r\n return decrypted.toString(CryptoJS.enc.Utf8);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CommonService, RoleAuthModel } from './common.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthRole {\r\n constructor(private commonServiceRole: CommonService) {\r\n this.loadRole();\r\n }\r\n role: RoleAuthModel = new RoleAuthModel();\r\n loadRole() {\r\n this.commonServiceRole.getRoleAuth().then((result) => {\r\n this.role = result;\r\n });\r\n }\r\n}\r\n","import { AppQthtApiService, FileParameter, FileResponse, ResponseModelListApiResponse } from 'app/@core/data/app-qtht.service';\r\nimport { TokenService } from './../token.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Component, Injectable, Pipe, PipeTransform } from '@angular/core';\r\nimport { MatDialogConfig } from '@angular/material/dialog';\r\nimport { NbToastrService } from '@nebular/theme';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { HEIGHT_DIALOG, TITLE_NOTICE, WIDTH_DIALOG, SUCCESS_NOTICE, SUCCESS_RESPONSE, RoleAuth } from './constants';\r\nimport { Observable } from 'rxjs';\r\nimport { Router } from '@angular/router';\r\nimport { Worksheet } from 'exceljs';\r\nexport class RoleAuthModel {\r\n Xem: boolean = false;\r\n Them: boolean = false;\r\n Sua: boolean = false;\r\n Xoa: boolean = false;\r\n DongBo: boolean = false;\r\n Duyet: boolean = false;\r\n ChiaSe: boolean = false;\r\n ThuHoi: boolean = false;\r\n}\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CommonService {\r\n constructor(\r\n private toastrService: NbToastrService,\r\n private appQthtApiService: AppQthtApiService,\r\n private spinner: NgxSpinnerService,\r\n private tokenService: TokenService,\r\n private router: Router\r\n ) { }\r\n\r\n getDuAnDauTu() {\r\n return this.tokenService.getProjectInvest();\r\n }\r\n\r\n getUserInfo() {\r\n return this.tokenService.getUserInfo();\r\n }\r\n\r\n uploadFile(folder: string, files: FileParameter[]): Observable {\r\n return this.appQthtApiService.appQthtApiV1FileUploadFile(folder, files);\r\n }\r\n\r\n getRoleAuth(): Promise {\r\n return new Promise((resolve, reson) => {\r\n this.getUserInfo().subscribe((result) => {\r\n let arRole = result.Role;\r\n if (typeof arRole === 'string') {\r\n arRole = [arRole];\r\n }\r\n const indexRole = arRole.findIndex(c => c.startsWith(this.router.routerState.snapshot.url));\r\n resolve({\r\n Xem: arRole[indexRole].includes((',' + RoleAuth.Xem)),\r\n Them: arRole[indexRole].includes((',' + RoleAuth.Them)),\r\n Sua: arRole[indexRole].includes((',' + RoleAuth.Sua)),\r\n Xoa: arRole[indexRole].includes((',' + RoleAuth.Xoa)),\r\n DongBo: arRole[indexRole].includes((',' + RoleAuth.DongBo)),\r\n Duyet: arRole[indexRole].includes((',' + RoleAuth.Duyet)),\r\n ChiaSe: arRole[indexRole].includes((',' + RoleAuth.ChiaSe)),\r\n ThuHoi: arRole[indexRole].includes((',' + RoleAuth.ThuHoi)),\r\n } as RoleAuthModel);\r\n });\r\n });\r\n }\r\n\r\n downloadFile(fileId: number): void {\r\n this.appQthtApiService.appQthtApiV1FileDownloadFile(fileId).subscribe(response => {\r\n const blob = new Blob([response.data], { type: response.headers['content-type'] });\r\n const a = document.createElement('a');\r\n a.setAttribute('style', 'display:none;');\r\n document.body.appendChild(a);\r\n a.download = b64DecodeUnicode(response.headers['x-file-name']);\r\n a.href = URL.createObjectURL(blob);\r\n a.target = '_blank';\r\n a.click();\r\n document.body.removeChild(a);\r\n if (response.status !== 200) {\r\n this.toastrDanger('Lỗi khi thực hiện tác vụ download.');\r\n }\r\n });\r\n\r\n function b64DecodeUnicode(str) {\r\n // Going backwards: from bytestream, to percent-encoding, to original string.\r\n return decodeURIComponent(atob(str).split('').map(function (c) {\r\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\r\n }).join(''));\r\n }\r\n }\r\n\r\n patternDate = (str) => {\r\n const m = str.match(/^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4})$/);\r\n return (m) ? new Date(m[3], m[2] - 1, m[1]) : null;\r\n }\r\n\r\n convertStringToCurrnet = moneyString => {\r\n return moneyString = parseFloat(moneyString).toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,');\r\n }\r\n\r\n convertCurrencyStringToNumber = moneyString => {\r\n return parseFloat(parseFloat(moneyString.split(',').join('')).toFixed(2));\r\n }\r\n\r\n getFile(fileId: number): Observable {\r\n return this.appQthtApiService.appQthtApiV1FileDownloadFile(fileId);\r\n }\r\n\r\n toastrSuccess(message?: string, title?: string) {\r\n this.toastrService.success(message ?? SUCCESS_NOTICE, title ?? TITLE_NOTICE, { icon: '' });\r\n }\r\n\r\n toastrPrimary(message: string, title?: string) {\r\n this.toastrService.primary(message, title ?? TITLE_NOTICE, { icon: '' });\r\n }\r\n\r\n toastrWarning(message: string, title?: string) {\r\n this.toastrService.warning(message, title ?? TITLE_NOTICE, { icon: '' });\r\n }\r\n\r\n toastrDanger(message: string, title?: string) {\r\n this.toastrService.danger(message, title ?? TITLE_NOTICE, { icon: '' });\r\n }\r\n\r\n toastrInfo(message: string, title?: string) {\r\n this.toastrService.info(message, title ?? TITLE_NOTICE, { icon: '' });\r\n }\r\n\r\n toastrShow(message: string, title?: string) {\r\n this.toastrService.show(message, title ?? TITLE_NOTICE, { icon: '' });\r\n }\r\n\r\n toastrDefault(message: string, title?: string) {\r\n this.toastrService.default(message, title ?? TITLE_NOTICE, { icon: '' });\r\n }\r\n\r\n showSpinner() {\r\n this.spinner.show();\r\n }\r\n\r\n hideSpinner() {\r\n this.spinner.hide();\r\n }\r\n\r\n configDialog(\r\n widthDialog: string,\r\n data: any,\r\n ): MatDialogConfig {\r\n const DIALOG_CONFIG = new MatDialogConfig();\r\n // DIALOG_CONFIG.disableClose = true;\r\n DIALOG_CONFIG.width = widthDialog;\r\n DIALOG_CONFIG.height = 'auto';\r\n DIALOG_CONFIG.maxWidth = WIDTH_DIALOG;\r\n DIALOG_CONFIG.maxHeight = HEIGHT_DIALOG;\r\n DIALOG_CONFIG.data = data;\r\n return DIALOG_CONFIG;\r\n }\r\n\r\n transform(value: any) {\r\n const datePipe = new DatePipe('en-US');\r\n value = datePipe.transform(value, 'yyyy-MM-dd');\r\n return value;\r\n }\r\n\r\n encodeFile = file => new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = error => reject(error);\r\n })\r\n\r\n decodeFile = (dataurl, filename) => {\r\n fetch(dataurl)\r\n .then(res => res.blob())\r\n .then(blob => {\r\n const file = new File([blob], filename, { type: 'image/png' });\r\n return file;\r\n });\r\n return null;\r\n }\r\n\r\n /**\r\n * thiết lập style khi export excel\r\n * @param worksheet worksheet\r\n * @param colStart cột đầu tiên\r\n * @param colEnd cột cuối cùng\r\n * @param rowHeaderStart dòng tiêu đề bắt đầu\r\n * @param rowHeaderEnd dòng tiêu đề kết thúc\r\n * @param colCenter mảng cột căn giữa\r\n * @param colRight mảng cột căn phải\r\n * @param rowBold mảng dòng in đậm\r\n * @param rowItalic mảng dòng in nghiêng\r\n * @param heightTitle chiều cao dòng tiêu đề\r\n * @param heightHeader mảng chiều cao dòng header của table\r\n */\r\n setStyleExport(\r\n worksheet: Worksheet,\r\n colStart: number,\r\n colEnd: number,\r\n rowHeaderStart: number,\r\n rowHeaderEnd: number,\r\n colCenter?: number[],\r\n colRight?: number[],\r\n rowBold?: number[],\r\n rowItalic?: number[],\r\n heightTitle: number = 40,\r\n heightHeader: number[] = [25]\r\n ) {\r\n worksheet.mergeCells(1, colStart, 1, colEnd);\r\n worksheet.getCell(1, 1).style = {\r\n font: { bold: true, name: 'Times New Roman', size: 17 },\r\n alignment: { vertical: 'middle', horizontal: 'center', wrapText: true }\r\n };\r\n worksheet.getRow(1).height = heightTitle;\r\n for (let i = rowHeaderStart; i <= rowHeaderEnd; i++) {\r\n if (i - rowHeaderStart > heightHeader.length - 1) {\r\n worksheet.getRow(i).height = heightHeader[heightHeader.length - 1];\r\n } else {\r\n worksheet.getRow(i).height = heightHeader[i - rowHeaderStart];\r\n }\r\n }\r\n\r\n worksheet.eachRow((row, rowNumber) => {\r\n for (let colNumber = colStart; colNumber <= colEnd; colNumber++) {\r\n if (rowNumber >= rowHeaderStart && rowNumber <= rowHeaderEnd) {\r\n worksheet.getCell(rowNumber, colNumber).style = {\r\n border: { top: { style: 'thin' }, bottom: { style: 'thin' }, left: { style: 'thin' }, right: { style: 'thin' } },\r\n font: { size: 13, name: 'Times New Roman', bold: true },\r\n alignment: { wrapText: true, vertical: 'middle', horizontal: 'center' }\r\n };\r\n } else if (rowNumber > rowHeaderEnd) {\r\n if (colCenter?.includes(colNumber)) {\r\n worksheet.getCell(rowNumber, colNumber).style = {\r\n border: { top: { style: 'thin' }, bottom: { style: 'thin' }, left: { style: 'thin' }, right: { style: 'thin' } },\r\n font: {\r\n size: 13,\r\n name: 'Times New Roman',\r\n bold: rowBold && rowBold.length > 0 ? rowBold.includes(rowNumber) : false,\r\n italic: rowItalic && rowItalic.length > 0 ? rowItalic.includes(rowNumber) : false,\r\n },\r\n alignment: { wrapText: true, vertical: 'middle', horizontal: 'center' }\r\n };\r\n } else if (colRight?.includes(colNumber)) {\r\n worksheet.getCell(rowNumber, colNumber).style = {\r\n border: { top: { style: 'thin' }, bottom: { style: 'thin' }, left: { style: 'thin' }, right: { style: 'thin' } },\r\n font: {\r\n size: 13,\r\n name: 'Times New Roman',\r\n bold: rowBold && rowBold.length > 0 ? rowBold.includes(rowNumber) : false,\r\n italic: rowItalic && rowItalic.length > 0 ? rowItalic.includes(rowNumber) : false,\r\n },\r\n alignment: { wrapText: true, vertical: 'middle', horizontal: 'right' },\r\n numFmt: '#,##0'\r\n };\r\n } else {\r\n worksheet.getCell(rowNumber, colNumber).style = {\r\n border: { top: { style: 'thin' }, bottom: { style: 'thin' }, left: { style: 'thin' }, right: { style: 'thin' } },\r\n font: {\r\n size: 13,\r\n name: 'Times New Roman',\r\n bold: rowBold && rowBold.length > 0 ? rowBold.includes(rowNumber) : false,\r\n italic: rowItalic && rowItalic.length > 0 ? rowItalic.includes(rowNumber) : false,\r\n },\r\n alignment: { wrapText: true, vertical: 'middle', horizontal: 'left' }\r\n };\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * \r\n * @param printSectionId\r\n * @returns \r\n */\r\n private getHtmlContents(printSectionId: string) {\r\n const printContents = document.getElementById(printSectionId);\r\n\r\n const innards = printContents.getElementsByTagName('input');\r\n\r\n this.getFormData(innards);\r\n\r\n const txt = printContents.getElementsByTagName('textarea');\r\n\r\n this.getFormData(txt);\r\n\r\n return printContents.innerHTML;\r\n }\r\n\r\n /**\r\n * \r\n * @param data the html element collection to save defaults to\r\n */\r\n private getFormData(data: any) {\r\n for (let i = 0; i < data.length; i++) {\r\n data[i].defaultValue = data[i].value;\r\n if (data[i].checked) {\r\n data[i].defaultChecked = true;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * @param printSectionId\r\n * @param printTitle\r\n */\r\n public printHtml(printSectionId: string, printTitle?: string, printSubTitle?: string) {\r\n const printContents = this.getHtmlContents(printSectionId);\r\n\r\n const popupWin = window.open('', '_blank', 'top=0,left=0,height=auto,width=auto');\r\n popupWin.document.open();\r\n popupWin.document.write(`${printTitle}`);\r\n popupWin.document.write(`\r\n \r\n `);\r\n popupWin.document.write(` \\n${printContents}\\n`);\r\n popupWin.document.write(``);\r\n popupWin.document.write(`\\n`);\r\n popupWin.document.close();\r\n }\r\n}\r\n\r\n@Component({\r\n template: ''\r\n})\r\n// tslint:disable-next-line: component-class-suffix\r\nexport class VitualScrollNgSelect {\r\n numberOfItemsFromEndBeforeFetchingMore = 10;\r\n loading = false;\r\n vitualData = [];\r\n lstVitualScroll = [];\r\n bufferSize = 10;\r\n\r\n constructor() { }\r\n\r\n setDataForVitualScroll(lst: any[]) {\r\n this.vitualData = lst;\r\n this.lstVitualScroll = this.vitualData.slice(0, this.bufferSize);\r\n }\r\n\r\n onScrollToEnd() {\r\n this.fetchMore();\r\n }\r\n\r\n onScroll({ end }) {\r\n if (this.loading || this.vitualData.length <= this.lstVitualScroll.length) {\r\n return;\r\n }\r\n\r\n if (end + this.numberOfItemsFromEndBeforeFetchingMore >= this.lstVitualScroll.length) {\r\n this.fetchMore();\r\n }\r\n }\r\n private fetchMore() {\r\n const len = this.lstVitualScroll.length;\r\n const more = this.vitualData.slice(len, this.bufferSize + len);\r\n this.loading = true;\r\n // using timeout here to simulate backend API delay\r\n setTimeout(() => {\r\n this.loading = false;\r\n this.lstVitualScroll = this.lstVitualScroll.concat(more);\r\n }, 200);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SearchService {\r\n constructor() { }\r\n filter(array, string) {\r\n function convertDate(params: string, str: string) {\r\n if ((params !== null || params !== undefined) && params.length === 8) {\r\n try {\r\n const year = params.substr(0, 4);\r\n const month = params.substr(4, 2);\r\n const day = params.substr(6, 2);\r\n if (`${day}/${month}/${year}`.includes(str)) {\r\n return true;\r\n }\r\n } catch (error) {\r\n return false;\r\n }\r\n }\r\n return false;\r\n }\r\n function checkData(params: string, str: string) {\r\n return params.toLowerCase().includes(str.toLowerCase())\r\n || convertDate(params, str) ? true : false;\r\n }\r\n if ((array !== null || array !== undefined) && (string !== null || string !== undefined) && string !== '') {\r\n return array.filter(o =>\r\n Object.keys(o).some(\r\n k => typeof (o[k]) === 'string'\r\n ? checkData(o[k], string)\r\n : typeof (o[k]) === 'number'\r\n ? o[k].toString().includes(string.toLowerCase())\r\n : false\r\n ));\r\n }\r\n return array;\r\n }\r\n\r\n searchItem(string: string, obj: any) {\r\n function convertDate(params: string, str: string) {\r\n if ((params !== null || params !== undefined) && params.length === 8) {\r\n try {\r\n const year = params.substr(0, 4);\r\n const month = params.substr(4, 2);\r\n const day = params.substr(6, 2);\r\n if (`${day}/${month}/${year}`.includes(str)) {\r\n return true;\r\n }\r\n } catch (error) {\r\n return false;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n function checkData(params: string, str: string) {\r\n return params.toLowerCase().includes(str.toLowerCase())\r\n || convertDate(params, str) ? true : false;\r\n }\r\n\r\n return Object.keys(obj).some(\r\n k => typeof (obj[k]) === 'string'\r\n ? checkData(obj[k], string)\r\n : typeof (obj[k]) === 'number'\r\n ? obj[k].toString().includes(string.toLowerCase())\r\n : false\r\n );\r\n }\r\n}\r\n\r\n@Pipe({\r\n name: 'pipeDate',\r\n})\r\nexport class ConvertDatePipe implements PipeTransform {\r\n //#region CONVERT_DATE\r\n\r\n transform(value: any) {\r\n const datePipe = new DatePipe('en-US');\r\n value = datePipe.transform(value, 'yyyy-MM-dd');\r\n return value;\r\n }\r\n\r\n convertStringToDateImportExcel(target: string): Date {\r\n if (target) {\r\n const array = target.split('/');\r\n if (array.length === 3)\r\n return new Date(array[2] + '-' + array[1] + '-' + array[0]);\r\n }\r\n return null;\r\n }\r\n \r\n\r\n convertDateToStringExport(target: Date): string {\r\n if (target) return target.toLocaleDateString('en-gb'); // dd/MM/yyyy\r\n return null;\r\n }\r\n\r\n convertDateToString(target: Date): string {\r\n if (target) {\r\n return this.transform(target.toString());\r\n }\r\n return null;\r\n }\r\n\r\n convertStringToDateString(target: string): string {\r\n if (target) {\r\n if (target.length === 8) {\r\n const year = target.substr(0, 4);\r\n const month = target.substr(4, 2);\r\n const day = target.substr(6, 2);\r\n return day + '/' + month + '/' + year;\r\n }\r\n if (target.length === 10) {\r\n const year = target.substr(0, 4);\r\n const month = target.substr(5, 2);\r\n const day = target.substr(8, 2);\r\n return day + '/' + month + '/' + year;\r\n }\r\n return target;\r\n }\r\n }\r\n\r\n convertDateToDateString(target: Date): string {\r\n let _target: string = '';\r\n if (target) {\r\n const datePipe = new DatePipe('en-US');\r\n _target = datePipe.transform(target, 'HH:mm dd/MM/yyyy');\r\n }\r\n return _target;\r\n }\r\n\r\n convertStringToDateString2(target: string): string {\r\n if (target) {\r\n if (target.length === 10) {\r\n const year = target.substr(0, 4);\r\n const month = target.substr(5, 2);\r\n const day = target.substr(8, 2);\r\n return day + '/' + month + '/' + year;\r\n }\r\n return target;\r\n }\r\n }\r\n\r\n convertStringToDate(target: string): Date {\r\n if (target && target.length === 8) {\r\n const year = +target.substr(0, 4);\r\n const month = +target.substr(4, 2);\r\n const day = +target.substr(6, 2);\r\n return new Date(year, month, day);\r\n }\r\n return null;\r\n }\r\n\r\n convertStringVnToDate(target: string): Date {\r\n if (target && target.length === 10) {\r\n const year = + target.substr(6, 4);\r\n const month = + target.substr(3, 2);\r\n const day = + target.substr(0, 2);\r\n return new Date(year, month, day);\r\n }\r\n return null;\r\n }\r\n\r\n convertStringToFormatInput(target: string): string {\r\n if (target && target.length === 8) {\r\n const year = target.substr(0, 4);\r\n const month = target.substr(4, 2);\r\n const day = target.substr(6, 2);\r\n return year + '-' + month + '-' + day;\r\n }\r\n return target;\r\n }\r\n\r\n convertStringToFormatInput2(target: string): string {\r\n if (target && target.length === 10) {\r\n const year = target.substr(6, 4);\r\n const month = target.substr(3, 2);\r\n const day = target.substr(0, 2);\r\n return year + '-' + month + '-' + day;\r\n }\r\n return target;\r\n }\r\n\r\n convertStringddMMyyyyToFormatTextVN(target: string) {\r\n if (target && target.length === 8) {\r\n const year = target.substr(0, 4);\r\n const month = target.substr(4, 2);\r\n const day = target.substr(6, 2);\r\n return 'Ngày ' + day + ' tháng ' + month + ' năm ' + year;\r\n }\r\n return target;\r\n }\r\n\r\n convertStringDisplayToDateString(target: string) {\r\n if (target && target.length === 10) {\r\n const year = target.substr(0, 4);\r\n const month = target.substr(5, 2);\r\n const day = target.substr(8, 2);\r\n return year + month + day;\r\n }\r\n return target;\r\n }\r\n\r\n convertStringToDateVnString(target: string): string {\r\n if (target && target.length === 8) {\r\n const day = target.substr(0, 2);\r\n const month = target.substr(2, 2);\r\n const year = target.substr(4, 4);\r\n return day + '/' + month + '/' + year;\r\n }\r\n return target;\r\n }\r\n\r\n convertStringToDate2(target: string): Date {\r\n if (target && target.length === 10) {\r\n const day = target.substr(0, 2);\r\n const month = target.substr(3, 2);\r\n const year = target.substr(6, 4);\r\n return new Date(year + '-' + month + '-' + day);\r\n }\r\n return new Date();\r\n }\r\n\r\n\r\n //#endregion\r\n}\r\n","export const SUCCESS_RESPONSE = 'Success';\r\nexport const DUPLICATE_RESPONE = 'Duplicate';\r\nexport const NOTFOUND_RESPONE = 'NotFound';\r\nexport const SUCCESS_NOTICE = 'Thành công';\r\nexport const TITLE_NOTICE = 'Thông báo';\r\n\r\nexport const PAGE_SIZE = 10;\r\n\r\nexport const WIDTH_DIALOG = '80%';\r\nexport const HEIGHT_DIALOG = '100%';\r\nexport const SEARCH_LABEL = 'Tìm kiếm';\r\nexport const REFRESH_LABEL = 'Làm mới';\r\nexport const ADDNEW_LABEL = 'Thêm mới';\r\nexport const EDIT_LABEL = 'Sửa';\r\nexport const DETAIL_LABEL = 'Xem';\r\nexport const DELETE_LABEL = 'Xóa';\r\n\r\nexport const LBL_DISPLAY = {\r\n syncNgsp: 'Đồng bộ NGSP',\r\n add: 'Thêm mới',\r\n edit: 'Sửa',\r\n update: 'Cập nhập',\r\n delete: 'Xóa',\r\n view: 'Xem',\r\n search: 'Tìm kiếm',\r\n save: 'Lưu',\r\n close: 'Đóng',\r\n back: 'Quay lại',\r\n refresh: 'Làm mới',\r\n file: 'Chọn file',\r\n download: 'Tải xuống',\r\n confirm: 'Xác nhận',\r\n config: 'Cấu hình'\r\n};\r\n\r\nexport const RoleAuth = {\r\n Xem: 1,\r\n Them: 2,\r\n Sua: 3,\r\n Xoa: 4,\r\n DongBo: 5,\r\n Duyet: 6,\r\n ChiaSe: 7,\r\n ThuHoi: 8\r\n};\r\n\r\nexport const STATUS_ACTION = {\r\n create: 0,\r\n edit: 1,\r\n detail: 2,\r\n delete: 3,\r\n swap: 4,\r\n print: 5\r\n};\r\n\r\nexport const STATUS_DELETE = 99;\r\n\r\nexport const STATUS_HOPDONG = {\r\n chuathue: 0,\r\n dangxuly: 1,\r\n dathue: 2,\r\n datraphong: 3\r\n};\r\n\r\nexport const KEY_APIBG = {\r\n keyphone: 'apiinfo_phone',\r\n keycccd: 'apiinfo_cccd'\r\n};\r\n\r\nexport class ViewDiaBan {\r\n id: number;\r\n ma: string;\r\n ten: string;\r\n macha: string;\r\n madiabankey: string;\r\n constructor(data?: ViewDiaBan) {\r\n this.id = data.id ?? null;\r\n this.ma = data?.ma ?? null;\r\n this.ten = data?.ten ?? null;\r\n this.macha = data?.macha ?? null;\r\n this.madiabankey = data?.madiabankey ?? null;\r\n }\r\n}\r\n\r\nexport class ViewNhaTro {\r\n id: number;\r\n ten: string;\r\n constructor(data?: ViewNhaTro) {\r\n this.id = data?.id ?? null;\r\n this.ten = data?.ten ?? null;\r\n }\r\n}\r\n\r\nexport const lstChuDe = [\r\n {\r\n text: 'Tin tuyển dụng',\r\n value: 'LD',\r\n },\r\n {\r\n text: 'Tin an ninh trật tự',\r\n value: 'ANTT',\r\n },\r\n {\r\n text: 'An toàn giao thông',\r\n value: 'ATGT',\r\n },\r\n {\r\n text: 'Phòng chống ma túy',\r\n value: 'PCMT',\r\n },\r\n {\r\n text: 'Người tốt việc tốt',\r\n value: 'NTVT',\r\n },\r\n {\r\n text: 'Cuộc chiến chống Covid',\r\n value: 'CoVid',\r\n },\r\n {\r\n text: 'Chuyên mục cảnh giác',\r\n value: 'CG',\r\n },\r\n {\r\n text: 'Tin tức công an',\r\n value: 'NEWS',\r\n },\r\n];\r\n\r\nexport const LIST_NGHENGHIEP = [\r\n {\r\n value: 0,\r\n text: 'Công nhân'\r\n },\r\n {\r\n value: 1,\r\n text: 'Lao động tự do'\r\n },\r\n {\r\n value: 3,\r\n text: 'Học sinh'\r\n },\r\n {\r\n value: 3,\r\n text: 'Sinh viên'\r\n },\r\n {\r\n value: 2,\r\n text: 'Khác'\r\n }\r\n];\r\n\r\nexport const LST_TRANGTHAIPHONG = [\r\n { value: 1, text: 'Mới' },\r\n { value: 2, text: 'Đã nhận phòng' },\r\n { value: 3, text: 'Đã trả phòng' },\r\n { value: 3, text: 'Chuyển phòng' }\r\n];\r\n\r\nexport const LST_GIOITINH = [\r\n { value: 0, text: 'Nữ' },\r\n { value: 1, text: 'Nam' }\r\n];\r\n\r\nexport const LST_TRANGTHAITHUE = [\r\n {\r\n value: 2,\r\n text: 'Đang thuê'\r\n },\r\n {\r\n value: 3,\r\n text: 'Đã trả'\r\n }\r\n];\r\n\r\nexport const dateRegexString = `\r\n ^ # start\r\n (\r\n ( # non-leap months & days\r\n (?!00|29)([012]\\\\d)/(0[1-9]|1[012]) # all months, days 01-28, uses negative lookahead\r\n |\r\n (29|30)/(0[13-9]|1[012]) # all months except feb, days 29,30\r\n |\r\n 31/(0[13578]|1[02]) # all 31 day months, day 31 only\r\n )\r\n /\r\n (18|19|20)\\\\d{2} # all years\r\n |\r\n 29/02 # leap months & days\r\n /\r\n (\r\n (18|19|20)(0[48]|[2468][048]|[13579][26]) # leap years not divisible by 100\r\n |\r\n 2000 # leap years divisible by 100\r\n )\r\n )\r\n $ # end\r\n`;\r\n\r\nexport const provinceCode = '24';\r\n\r\nexport const DEFAULT_PHONENUMBER = '0000000000';\r\n\r\nexport const FUNCTION_TEXT = {\r\n TK_CNT: 'THỐNG KÊ CHỦ TRỌ CÓ NHIỀU NHÀ TRỌ',\r\n TK_NGUOIDUNG_QT: 'THỐNG KÊ NGƯỜI DÙNG QUẢN TRỊ',\r\n NHATKY_HT: 'NHẬT KÝ HỆ THỐNG',\r\n TK_PHANANH_TB: 'THỐNG KÊ PHẢN ÁNH/TRÌNH BÁO',\r\n TK_PHANANH_TB_CHITIET: 'THÔNG TIN CHI TIẾT PHẢN ÁNH/TRÌNH BÁO',\r\n XULY_PHANCONG: 'PHÂN CÔNG XỬ LÝ',\r\n XULY_CUATOI: 'XỬ LÝ CỦA TÔI',\r\n XULY_CUATTOI_PATB: 'XỬ LÝ PHẢN ÁNH TRÌNH BÁO',\r\n XULY_HOTRO: 'HỖ TRỢ',\r\n XULY_HOTRO_XL: 'HỖ TRỢ XỬ LÝ',\r\n XULY_PHEDUYET: 'PHÊ DUYỆT PHẢN ÁNH/TRÌNH BÁO'\r\n};\r\n\r\nexport const AREA_LEVEL = {\r\n LEVEL1: 1,\r\n LEVEL2: 2,\r\n LEVEL3: 3,\r\n LEVEL4: 4\r\n};\r\nexport const LIST_DOI_TUONG = [\r\n {\r\n text: 'Công an huyện',\r\n value: '2'\r\n },\r\n {\r\n text: 'Công an xã',\r\n value: '3'\r\n },\r\n {\r\n text: 'Chủ nhà trọ',\r\n value: '4'\r\n }\r\n];\r\n\r\nexport enum STATUS_PROCESS {\r\n //** Tin rác */\r\n TinRac = 0,\r\n //** Tin rác */\r\n ChoXuLy = 1,\r\n //** Từ chối hỗ trợ */\r\n TuChoiHoTro = 27,\r\n //** Từ chối xử lý */\r\n TuChoiXuLy = 28,\r\n //** Đã phân công xử lý */\r\n DaPhanCongXuLy = 29,\r\n //** Chờ duyệt */\r\n ChoDuyet = 30,\r\n //** Đã xử lý */\r\n DaXuLy = 31,\r\n //** Từ chối duyệt */\r\n TuChoiDuyet = 32,\r\n //** Nhờ hỗ trợ */\r\n NhoHoTro = 33\r\n}\r\n\r\nexport enum RejectType {\r\n MyHandle = 1,\r\n Suport = 2\r\n}\r\n\r\nexport const CHU_DE_THONG_BAO_AUTO = [\r\n {\r\n text: 'Thống kê biến động số lượng khách thuê trong ngày',\r\n value: '1'\r\n },\r\n {\r\n text: 'Nhắc nhở làm tạm trú',\r\n value: '2'\r\n }\r\n];\r\n\r\nexport const country = '+84';\r\n\r\nexport enum ActivityStatus {\r\n Active = 1,\r\n InActive = 0\r\n}\r\n\r\nexport const DEFAULT_OTP = '135790';\r\n\r\nexport enum LEVEL_UNIT {\r\n LEVEL1 = 1, // cấp tỉnh\r\n LEVEL2 = 2, // cấp huyện\r\n LEVEL3 = 3, // cấp xã\r\n}","//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.19.0.0 (NJsonSchema v10.9.0.0 (Newtonsoft.Json v11.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { mergeMap as _observableMergeMap, catchError as _observableCatch } from 'rxjs/operators';\r\nimport { Observable, throwError as _observableThrow, of as _observableOf } from 'rxjs';\r\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\r\n\r\nexport const APP_CONGAN_URL = new InjectionToken('APP_CONGAN_URL');\r\n\r\nexport interface IAppCongAnApiService {\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1AuthLogin(body: LoginModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1AuthDoiMatKhau(body: DoiMatKhauModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1AuthDoiMatKhauNguoiThue(body: DoiMatKhauModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1AuthAuthenticateMobileNguoiThue(body: AuthenticateRequest | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhdongboSyncData(body: ItemCauhinhdongbo | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhdongboSynchronized(body: ItemCauhinhdongbo | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhdongboPostPagingCauhinhdongbo(body: PageCauhinhdongbo | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhdongboPostInsertCauhinhdongbo(body: ItemCauhinhdongbo | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhdongboPostUpdateCauhinhdongbo(body: ItemCauhinhdongbo | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhdongboPostDeleteCauhinhdongbo(_Id: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhdongboGetOneCauhinhdongbo(_Id: number): Observable;\r\n /**\r\n * @param _Unitcode (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhthongbaoPagingCauhinhthongbao(_Unitcode: string | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhthongbaoSelectAllSysUnit(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhthongbaoPostPagingCauhinhthongbao(body: PageCauhinhthongbao | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhthongbaoPostInsertCauhinhthongbao(body: ItemCauhinhthongbao | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhthongbaoPostUpdateCauhinhthongbao(body: ItemCauhinhthongbao | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhthongbaoPostDeleteCauhinhthongbao(_Id: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhthongbaoGetOneCauhinhthongbao(_Id: number): Observable;\r\n /**\r\n * @param _Unitcode (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhthongbaoGetByUnitcodeCauhinhthongbao(_Unitcode: string | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ChuyenNhaPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ChuyenNhaSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ChuyenNhaSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ChuyenNhaInsert(body: DichvuChuyennhaEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ChuyenNhaUpdate(body: DichvuChuyennhaEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ChuyenNhaDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhGiaPagingMobie(body: PageModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhGiaPagingMobieV2(body: PageModel | undefined): Observable;\r\n /**\r\n * @param star (optional) \r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhGiaPagingMobieV3(star: number | undefined, body: PageModel | undefined): Observable;\r\n /**\r\n * @param star (optional) \r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhGiaPagingMobieV4(star: number | undefined, body: PageModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhGiaDanhGia(body: DanhGiaModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhGiaDanhGiaV2(body: DanhGiaModel | undefined): Observable;\r\n /**\r\n * @param idNhatro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhGiaAvgDanhGia(idNhatro: number | undefined): Observable;\r\n /**\r\n * @param idNhatro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhGiaDetailStar(idNhatro: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhGiaPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DanhGiaSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DanhGiaSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhGiaInsert(body: DanhgiaEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhGiaUpdate(body: DanhgiaEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DanhGiaDelete(key: number): Observable;\r\n /**\r\n * @param _Idnhatro (optional) \r\n * @param _IdNguoiThue (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetDanhgiaByIdnhatro2(_Idnhatro: number | undefined, _IdNguoiThue: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiPostInsertMasterMoreDetailDanhgiaPhanhoi(body: DanhgiaPhanhoiVM | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiPostUpdateMasterMoreDetailDanhgiaPhanhoi(body: DanhgiaPhanhoiVM | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiPostDeleteMasterMoreDetailDanhgiaPhanhoi(_Id: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetOneMasterMoreDetailDanhgiaPhanhoi(_Id: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetOneMasterMorePageDetailDanhgiaPhanhoi(_Id: number, body: PagePhanhoi | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiPostPagingDanhgia(body: PageDanhgia | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiPostInsertDanhgia(body: ItemDanhgia | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiPostUpdateDanhgia(body: ItemDanhgia | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiPostDeleteDanhgia(_Id: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetOneDanhgia(_Id: number): Observable;\r\n /**\r\n * @param _Idnhatro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetDanhgiaByIdnhatro(_Idnhatro: number | undefined): Observable;\r\n /**\r\n * @param _Diem (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetDanhgiaByDiem(_Diem: number | undefined): Observable;\r\n /**\r\n * @param _Nhanxet (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetDanhgiaByNhanxet(_Nhanxet: string | undefined): Observable;\r\n /**\r\n * @param _Idnguoidanhgia (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetDanhgiaByIdnguoidanhgia(_Idnguoidanhgia: number | undefined): Observable;\r\n /**\r\n * @param _Ngaydanhgia (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetDanhgiaByNgaydanhgia(_Ngaydanhgia: Date | undefined): Observable;\r\n /**\r\n * @param _Avatar (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetDanhgiaByAvatar(_Avatar: string | undefined): Observable;\r\n /**\r\n * @param _Doituongdanhgia (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetDanhgiaByDoituongdanhgia(_Doituongdanhgia: number | undefined): Observable;\r\n /**\r\n * @param _Noidungvipham (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetDanhgiaByNoidungvipham(_Noidungvipham: string | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiPostPagingPhanhoi(body: PagePhanhoi | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiPostInsertPhanhoi(body: ItemPhanhoi | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiPostUpdatePhanhoi(body: ItemPhanhoi | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiPostDeletePhanhoi(_Id: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetOnePhanhoi(_Id: number): Observable;\r\n /**\r\n * @param _Iddanhgia (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetPhanhoiByIddanhgia(_Iddanhgia: number | undefined): Observable;\r\n /**\r\n * @param _Noidungphanhoi (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetPhanhoiByNoidungphanhoi(_Noidungphanhoi: string | undefined): Observable;\r\n /**\r\n * @param _Thoigianphanhoi (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetPhanhoiByThoigianphanhoi(_Thoigianphanhoi: Date | undefined): Observable;\r\n /**\r\n * @param _Idnguoiphanhoi (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetPhanhoiByIdnguoiphanhoi(_Idnguoiphanhoi: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DashboardGetDataChart(body: DashboardSearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DashboardSelectCountNguoithueNgay(body: SearchDashboardNguoiThueModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DashboardSelectCountNha(body: SearchDashboardNguoiThueModel | undefined): Observable;\r\n /**\r\n * @param lat (optional) \r\n * @param _long (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DiabanGetAddresByLatLong(lat: string | undefined, _long: string | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DiabanPostPagingDiaban(body: PageDiaban | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DiabanPostInsertDiaban(body: ItemDiaban | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DiabanPostUpdateDiaban(body: ItemDiaban | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DiabanPostDeleteDiaban(_Makey: string): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DiabanGetOneDiaban(_Makey: string): Observable;\r\n /**\r\n * @param _Ma (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DiabanGetByMaDiaban(_Ma: string | undefined): Observable;\r\n /**\r\n * @param _Level (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DiabanGetByLevelDiaban(_Level: number | undefined): Observable;\r\n /**\r\n * @param _MaCha (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DiabanGetByMaChaDiaban(_MaCha: string | undefined): Observable;\r\n /**\r\n * @param pageSize (optional) \r\n * @param currentPage (optional) \r\n * @param strkey (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuPostPagingDichvu(pageSize: number | undefined, currentPage: number | undefined, strkey: string | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuPostInsertDichvu(body: ItemDichvu | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuPostUpdateDichvu(body: ItemDichvu | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuPostDeleteDichvu(_Id: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuGetOneDichvu(_Id: number): Observable;\r\n /**\r\n * @param _Tendichvu (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuGetByTendichvuDichvu(_Tendichvu: string | undefined): Observable;\r\n /**\r\n * @param _Mota (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuGetByMotaDichvu(_Mota: string | undefined): Observable;\r\n /**\r\n * @param _Idnhatro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuGetByIdnhatroDichvu(_Idnhatro: number | undefined): Observable;\r\n /**\r\n * @param _Quytactinhtien (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuGetByQuytactinhtienDichvu(_Quytactinhtien: number | undefined): Observable;\r\n /**\r\n * @param _Donvitinh (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuGetByDonvitinhDichvu(_Donvitinh: string | undefined): Observable;\r\n /**\r\n * @param _Giadichvu (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuGetByGiadichvuDichvu(_Giadichvu: number | undefined): Observable;\r\n /**\r\n * @param _Hoatdong (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuGetByHoatdongDichvu(_Hoatdong: boolean | undefined): Observable;\r\n /**\r\n * @param _Loai (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuGetByLoaiDichvu(_Loai: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuShare(body: ShareModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuDeleteListRecord(body: number[] | undefined): Observable;\r\n /**\r\n * @param idNhaTro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuSelectByIdNhaTro(idNhaTro: number | undefined): Observable;\r\n /**\r\n * @param idNhaTro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuSelectByIdNhaTroDesc(idNhaTro: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuPagingCustom(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuInsertV2(body: InsertModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuInsertCheckDVExitsV1(body: InsertModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuPagingV2(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param name (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuFindByName(name: string | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuInsert(body: DichvuEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuUpdate(body: DichvuEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmcongtyGetOneDmcongtyCus(_Id: number): Observable;\r\n /**\r\n * @param id (optional) \r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmcongtyCheckMaSoThue(id: number | undefined, body: string | undefined): Observable;\r\n /**\r\n * @param ten (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmcongtySelectByLikeTen(ten: string | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmcongtyPostPagingDmcongty(body: PageDmcongty | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmcongtyPostInsertDmcongty(body: ItemDmcongty | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmcongtyPostUpdateDmcongty(body: ItemDmcongty | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmcongtyPostDeleteDmcongty(_Id: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmcongtyGetOneDmcongty(_Id: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmcongtyGetAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmdantocPostPagingDmdantoc(body: PageDmdantoc | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmdantocPostInsertDmdantoc(body: ItemDmdantoc | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmdantocPostUpdateDmdantoc(body: ItemDmdantoc | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmdantocPostDeleteDmdantoc(_Id: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmdantocGetOneDmdantoc(_Id: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmDanTocSyncData(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDanTocUpdate(body: DmdantocEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmDanTocDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDanTocPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmDanTocSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmDanTocSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDanTocInsert(body: DmdantocEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanPostPagingDiabanCus(body: PageDiaban | undefined): Observable;\r\n /**\r\n * @param macha (optional) \r\n * @param level (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanSellectAllCus(macha: string | undefined, level: number | undefined): Observable;\r\n /**\r\n * @param macha (optional) \r\n * @param level (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanSellectAllCusV2(macha: string | undefined, level: number | undefined): Observable;\r\n /**\r\n * @param madiabankey (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanSellectlikemadiabankey(madiabankey: string | undefined): Observable;\r\n /**\r\n * @param maDiaBanKey (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanSelectTenDiaBan(maDiaBanKey: string | undefined): Observable;\r\n /**\r\n * @param tenDiaBan (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanSelectMaDiaBan(tenDiaBan: string | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanSelectAll(): Observable;\r\n /**\r\n * @param _Level (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanGetByLevelDiabanCus(_Level: number | undefined): Observable;\r\n /**\r\n * @param _Level (optional) \r\n * @param maCha (optional) \r\n * @param asc (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanGetByLevelAndMaDiabanCus(_Level: number | undefined, maCha: string | undefined, asc: boolean | undefined): Observable;\r\n /**\r\n * @param _Ma (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanGetByMaDiabanCus(_Ma: string | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanGetOneDiabanCus(_Makey: string): Observable;\r\n /**\r\n * @param _MaCha (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanGetByMaChaDiabanCus(_MaCha: string | undefined): Observable;\r\n /**\r\n * @param maKeyCu (optional) \r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanPostUpdateDiabanCus(maKeyCu: string | undefined, body: ItemDiaban | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanPostPagingDiaban(body: PageDiaban | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanPostInsertDiaban(body: ItemDiaban | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanPostUpdateDiaban(body: ItemDiaban | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanPostDeleteDiaban(_Makey: string): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanGetOneDiaban(_Makey: string): Observable;\r\n /**\r\n * @param _Ma (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanGetByMaDiaban(_Ma: string | undefined): Observable;\r\n /**\r\n * @param _Level (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanGetByLevelDiaban(_Level: number | undefined): Observable;\r\n /**\r\n * @param _MaCha (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanGetByMaChaDiaban(_MaCha: string | undefined): Observable;\r\n /**\r\n * @param maDinhDanh (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmTuDienSelectByType(maDinhDanh: string | undefined): Observable;\r\n /**\r\n * @param maDinhDanh (optional) \r\n * @param idNhaTro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmTuDienSelectByTypeV2(maDinhDanh: string | undefined, idNhaTro: number | undefined): Observable;\r\n /**\r\n * @param maDinhDanh (optional) \r\n * @param idDV (optional) \r\n * @param idNhaTro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmTuDienSelectByTypeV3(maDinhDanh: string | undefined, idDV: number | undefined, idNhaTro: number | undefined): Observable;\r\n /**\r\n * @param maDinhDanh (optional) \r\n * @param idNhaTro (optional) \r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmTuDienInsertCheckTDExitsV1(maDinhDanh: string | undefined, idNhaTro: number | undefined, body: InserttudienModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmTuDienPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmTuDienSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmTuDienSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmTuDienInsert(body: DmtudienEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmTuDienUpdate(body: DmtudienEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmTuDienDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaGetDoiTuongTruyNa(body: string | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaInsertListDoiTuongTruyNa(body: DoituongTruynaEntity[] | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaInsertDoiTuongTruyNa(body: DoituongTruynaEntity | undefined): Observable;\r\n /**\r\n * @param id (optional) \r\n * @param status (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaChangeStatusDoiTuongTruyNa(id: number | undefined, status: number | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaLstdoituongtheodoi(): Observable;\r\n /**\r\n * @param listLoai (optional) \r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaPagingDoiTuongMobile(listLoai: number[] | undefined, body: PageModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaPagingDoiTuongWeb(body: PageModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaSerarchDoiTuongMobile(body: SearchDoiTuongModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaDownloadTemplateFile(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaSelectOneWithFile(type: number, id: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaInsertWithFile(body: DoituongTruynaEntityProcessInsertFileModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaUpdateWithFile(body: DoituongTruynaEntityProcessUpdateFileModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaDeleteWithFile(id: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaInsert(body: DoituongTruynaEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaUpdate(body: DoituongTruynaEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DonViInsert(body: SysunitEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DonViUpdate(body: SysunitEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DonViSelectOneWithUnitCode(unitCode: string): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DonViSelectOneByMaXa(maXa: string): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DonViSelectOneByUserSdtV2(sdt: string): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DonViChangeStatus(unitCode: string): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DonViDeleteUnit(unitCode: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DonViDeleteUnitCus(body: string | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DonViGetAllCongAn(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DonViPagingDonViCustom(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DonViPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DonViSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DonViSelectAll(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DonViDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonShare(body: ShareModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonDeleteListRecord(body: number[] | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonPagingCus(body: PageModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonPagingCusV2(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonTongTienHD(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonPagingNtMobile(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonInsertCus(body: HoaDonModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonInsertCusV2(body: HoaDonModel | undefined): Observable;\r\n /**\r\n * @param idPhong (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonThangThanhToanGanNhat(idPhong: number | undefined): Observable;\r\n /**\r\n * @param idHoaDon (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonSelectOnCus(idHoaDon: number | undefined): Observable;\r\n /**\r\n * @param idn (optional) \r\n * @param idphong (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonGetThangCuoi(idn: string | undefined, idphong: number | undefined): Observable;\r\n /**\r\n * @param idHoaDon (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonSelectHDByIdMobile(idHoaDon: number | undefined): Observable;\r\n /**\r\n * @param idPhong (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonTinhGiaiDoanThanhToanMoi(idPhong: number | undefined): Observable;\r\n /**\r\n * @param idHoaDon (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonXacNhanThanhToan(idHoaDon: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonPagingChuaThanhToanChuaLapHoaDon(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonInsert(body: HoadonEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonUpdate(body: HoadonEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonDelete(key: number): Observable;\r\n /**\r\n * @param userId (optional) \r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HomePagingDataClient(userId: number | undefined, body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongShare(body: ShareModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongDeleteListRecord(body: number[] | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongPagingCus(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongPagingHDNtMobile(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongPagingCusV2(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongPagingMobile(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongInsertCus(body: HopDongModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongInsertCusHD(body: HopDongModel2 | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongLoadHopDongNguoiThue(body: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongLoadHopDongDichVu(body: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongLoadHopDongDichVuV2(body: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongLoadHopDongDichVuV3(body: number | undefined): Observable;\r\n /**\r\n * @param idPhong (optional) \r\n * @param idHopdong (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongSelectHopDongDichVu(idPhong: number | undefined, idHopdong: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongLoadNguoiThuePhong(body: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongLoadHopDongNguoiThueNew(body: ParamNguoiThue | undefined): Observable;\r\n /**\r\n * @param roomId (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongSelectRoomByMotelIdMobile(motelId: number, roomId: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongInsertContractTenant(body: HopdongNguoithueEntity[] | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongInsertContractService(body: HopdongDichvuEntity[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongSelectOne(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongLoadDichVuTrongHopDong(body: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongInsert(body: HopdongEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongUpdate(body: HopdongEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongDelete(key: number): Observable;\r\n /**\r\n * @param loai (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HuongdanGetHuongDan(loai: string | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1HuongdanGetHuongDanAll(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1HuongdanGetFormHuongDan(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HuongdanPostPagingHuongdan(body: PageHuongdan | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HuongdanPostInsertHuongdan(body: ItemHuongdan | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HuongdanPostUpdateHuongdan(body: ItemHuongdan | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1HuongdanPostDeleteHuongdan(_Id: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1HuongdanGetOneHuongdan(_Id: number): Observable;\r\n /**\r\n * @param _Loai (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HuongdanGetByLoaiHuongdan(_Loai: string | undefined): Observable;\r\n /**\r\n * @param phoneNumber (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1InforNguoiThueGetByPhone(phoneNumber: string | undefined): Observable;\r\n /**\r\n * @param identification (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1InforNguoiThueGetByIdentification(identification: string | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1InforNguoiThuePaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1InforNguoiThueSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1InforNguoiThueSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1InforNguoiThueInsert(body: NguoithueEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1InforNguoiThueUpdate(body: NguoithueEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1InforNguoiThueDelete(key: number): Observable;\r\n /**\r\n * @param maHuyen (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1MapsThongKe(maHuyen: string | undefined): Observable;\r\n /**\r\n * @param maHuyen (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1MapsNhaTro(maHuyen: string | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoithueChutrodskhachthuepageM(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoithuePagingNguoiThueHomentM(body: SearchModelPagingMchutroqlnhaoHome | undefined): Observable;\r\n /**\r\n * @param idnhatro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoithueGetNguoiThueByIdNhatroM(idnhatro: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoithueInsertNguoithueNhatroNhathue(body: NguoiThueModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoithueInsertNguoithueNhatroNhathueM(body: NguoiThueModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoithueLichSuThueM(body: NguoiThueLichSuSearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoithuePostPagingNguoithue2(body: PageNguoithue2 | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoithuePostInsertNguoithue2(body: ItemNguoithue2 | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoithuePostInsertChutroThemKhach(body: ItemNguoithue2 | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoithuePostUpdateNguoithue2(body: ItemNguoithue2 | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NguoithuePostDeleteNguoithue2(_Id: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NguoithueGetOneNguoithue2(_Id: number): Observable;\r\n /**\r\n * @param _Cccd (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoithueGetByCccdNguoithue2(_Cccd: string | undefined): Observable;\r\n /**\r\n * @param _Dienthoai (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoithueGetByDienthoaiNguoithue2(_Dienthoai: string | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueShare(body: ShareModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueShareWebTraphong(body: ShareModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueDeleteListRecord(body: number[] | undefined): Observable;\r\n /**\r\n * @param cCCD (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueSelectkiemtraByIdCCCDV2(cCCD: string | undefined): Observable;\r\n /**\r\n * @param idNhaTro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueSelectByIdNhaTro(idNhaTro: number | undefined): Observable;\r\n /**\r\n * @param idNhaTro (optional) \r\n * @param idChuTro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueSelectByIdChuTro(idNhaTro: number | undefined, idChuTro: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThuePagingCus(body: PageModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueLichSuNguoiThueMobile(body: NguoiThueLichSuSearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueLichSuNguoiThueMobileV2(body: NguoiThueLichSuSearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueGetDiaChi(body: NguoiThueLichSuSearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueLichSuThanhToan(body: LichSuThanhToanSearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueInsertCus(body: NguoiThueModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueInsertCusNotPhongid(body: NguoiThueModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueInsertCusV2(body: NguoiThueModelV2 | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueUpdateCus(body: NguoiThueModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueUpdateAvatar(body: Avatar | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueUpdateCusHopDong(body: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueUpdateCusNguoithuePhong(body: NguoiThue_phong_Model | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueUpdateCusNguoithuePhongHopdong(body: NguoiThue_phong_Model | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueInsertMobile(body: NguoiThueModel | undefined): Observable;\r\n /**\r\n * @param isHopdong (optional) \r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueInsertWeb(isHopdong: boolean | undefined, body: NguoiThueModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueInsertMobileV2(body: NguoiThueModelV2 | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueReRent(body: NguoithuePhongEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThuePagingCustom(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThuePagingWeb(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThuePagingMobile(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueCongantamtruMobile(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueRentingPagingMobile(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueSelectNguoiThueByQRCode(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueSwap(body: SwapRoomModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueCheckValidate(body: CheckNguoiThueModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueCheckValidateV2(body: CheckNguoiThueModel | undefined): Observable;\r\n /**\r\n * @param sdt (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueCheckSdt(sdt: string | undefined): Observable;\r\n /**\r\n * @param sdt (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueCheckCccd(sdt: string | undefined): Observable;\r\n /**\r\n * @param idnhatro (optional) \r\n * @param idphong (optional) \r\n * @param idnguoithue (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueSelectDmdvbynhatrophongtroV2(idnhatro: number | undefined, idphong: number | undefined, idnguoithue: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueGetDataApiBG(body: ResquestApiBG | undefined): Observable;\r\n /**\r\n * @param motelId (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueSelectTeantByMotel(motelId: number | undefined): Observable;\r\n /**\r\n * @param motelId (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueSelectTeantByMotelV2(motelId: number | undefined): Observable;\r\n /**\r\n * @param roomId (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueSelectTenantByRoom(roomId: number | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueSelectById(id: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueDangKyTamTru(body: NguoiThueModel[] | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueHuyDangKyTamTru(body: NguoiThueModel[] | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueSelectChecked(body: SearchModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueCheckTenantInRoom(roomId: number, tenantId: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueIsTenatCheckined(tenantId: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueCheckout(roomId: number, tenantId: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueCheckoutNhaM(idnha: number, tenantId: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueCheckoutWithoutRoom(tenantId: number): Observable;\r\n /**\r\n * @param trangThai (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueKiemTraNguoiThueVaNhaTro(idNguoiThue: number, idNhatro: number, trangThai: number | undefined): Observable;\r\n /**\r\n * @param idNguoithue (optional) \r\n * @param idPhong (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueDeleteNguoiThuePhong(idNguoithue: number | undefined, idPhong: number | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueGetNguoiThueByPhoneOrPasstPort(ma: string, idPhong: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueGetNguoiThueByPhoneOrPasstPortIdnhatro(ma: string, idnhatro: number): Observable;\r\n /**\r\n * @param idZalo (optional) \r\n * @param msg (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueSendZaloMessage(idZalo: string | undefined, msg: string | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThuePaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueInsert(body: NguoithueEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueUpdate(body: NguoithueEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatkyDoituongTheodoiPostPagingNhatkyDoituongTheodoi(body: PageNhatkyDoituongTheodoi | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatkyDoituongTheodoiPostInsertNhatkyDoituongTheodoi(body: ItemNhatkyDoituongTheodoi | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatkyDoituongTheodoiPostUpdateNhatkyDoituongTheodoi(body: ItemNhatkyDoituongTheodoi | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhatkyDoituongTheodoiPostDeleteNhatkyDoituongTheodoi(_Id: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhatkyDoituongTheodoiGetOneNhatkyDoituongTheodoi(_Id: number): Observable;\r\n /**\r\n * @param madiabantinh (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroSelectCountNhatroPhongtroNguoithue(madiabantinh: string | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPagingMchutroqlnhatro(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPagingMchutroqlnhaoHomeM(body: SearchModelPagingMchutroqlnhaoHome | undefined): Observable;\r\n /**\r\n * @param keysearch (optional) \r\n * @param currentPage (optional) \r\n * @param pageSize (optional) \r\n * @param loaiNha (optional) \r\n * @param matinh (optional) \r\n * @param maHuyen (optional) \r\n * @param maXa (optional) \r\n * @param maThon (optional) \r\n * @param localKey (optional) \r\n * @param tuNgay (optional) \r\n * @param denNgay (optional) \r\n * @param dongiaphongtu (optional) \r\n * @param dongiaphongden (optional) \r\n * @param lsdmdv (optional) \r\n * @param isdanhgia (optional) \r\n * @param idnguoidanhgia (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPagingdsnhatroGis(keysearch: string | undefined, currentPage: number | undefined, pageSize: number | undefined, loaiNha: number | undefined, matinh: string | undefined, maHuyen: string | undefined, maXa: string | undefined, maThon: string | undefined, localKey: string | undefined, tuNgay: string | undefined, denNgay: string | undefined, dongiaphongtu: number | undefined, dongiaphongden: number | undefined, lsdmdv: string | undefined, isdanhgia: boolean | undefined, idnguoidanhgia: number | undefined): Observable;\r\n /**\r\n * @param status (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroGetDataByStatus(status: number | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroGetLoaiNha(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPostPagingNhatro2(body: PageNhatro2 | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPostInsertNhatro2(body: ItemNhatro2 | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPostUpdateNhatro2(body: ItemNhatro2 | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPostDeleteNhatro2(_Id: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroGetOneNhatro2(_Id: number): Observable;\r\n /**\r\n * @param _Idnguoitao (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroGetByIdnguoitaoNhatro2(_Idnguoitao: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroUpdateImage(body: UpdateImageModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroShare(body: ShareModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroDeleteListRecord(body: number[] | undefined): Observable;\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroDeleteCustom(id: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroPagingCustom(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroPagingMobile(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param _loainhatro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectByLoainhatro(_loainhatro: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroPagingMobileV2(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroPagingMobileV3(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroPagingMobileCa(body: SearchModelDSNhatroV2 | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroPagingMobile4NguoiThue(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroPagingMobile4NguoiThueV3(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroPagingHomeDSNhatroV2(body: SearchModelDSNhatroV2 | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroUpdateLocation(body: NhaTroLocationModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroPagingMobile4NguoiThueV2(body: SearchModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectAllCus(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectAllCus2(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectAllCus3(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectAllCusV4(): Observable;\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectAllForHDByIdCusMobile(id: number | undefined): Observable;\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectAllForHopDongByIdCusMobile(id: number | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectNhaTroCusExitsPhong(): Observable;\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectAllByIdChu(id: number | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectAll(): Observable;\r\n /**\r\n * @param name (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSearchByName(name: string | undefined): Observable;\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectById(id: number | undefined): Observable;\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectByIdV2(id: number | undefined): Observable;\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectByIdV3(id: number | undefined): Observable;\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectByListId(id: number[] | undefined): Observable;\r\n /**\r\n * @param phongId (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectByPhongId(phongId: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectOne(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroInsert(body: NhatroEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroUpdate(body: NhatroEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroPostInsertMasterMoreDetailNhatroPhongtro(body: NhatroPhongtroVM | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroPostUpdateMasterMoreDetailNhatroPhongtro(body: NhatroPhongtroVM | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroPostDeleteMasterMoreDetailNhatroPhongtro(_Id: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetOneMasterMoreDetailNhatroPhongtro(_Id: number): Observable;\r\n /**\r\n * @param pageSize (optional) \r\n * @param currentPage (optional) \r\n * @param strkey (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroPostPagingPhongtro(pageSize: number | undefined, currentPage: number | undefined, strkey: string | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroPostInsertNhatro(body: ItemNhatro | undefined): Observable;\r\n /**\r\n * @param id (optional) \r\n * @param tennhatro (optional) \r\n * @param diachicuthe (optional) \r\n * @param trangthai (optional) \r\n * @param tenchunhatro (optional) \r\n * @param dienthoai (optional) \r\n * @param idnguoitao (optional) \r\n * @param cccdchutro (optional) \r\n * @param loainhatro (optional) \r\n * @param tinh (optional) \r\n * @param huyen (optional) \r\n * @param xa (optional) \r\n * @param ngaytao (optional) \r\n * @param madiabankey (optional) \r\n * @param mota (optional) \r\n * @param motachitiet (optional) \r\n * @param anhdaidien (optional) \r\n * @param anh1 (optional) \r\n * @param anh2 (optional) \r\n * @param anh3 (optional) \r\n * @param sophong (optional) \r\n * @param sotang (optional) \r\n * @param anhdkkd (optional) \r\n * @param sodkkd (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroPostUpdateNhatro(id: number | undefined, tennhatro: string | undefined, diachicuthe: string | undefined, trangthai: number | undefined, tenchunhatro: string | undefined, dienthoai: string | undefined, idnguoitao: number | undefined, cccdchutro: string | undefined, loainhatro: number | undefined, tinh: string | undefined, huyen: string | undefined, xa: string | undefined, ngaytao: Date | undefined, madiabankey: string | undefined, mota: string | undefined, motachitiet: string | undefined, anhdaidien: string | undefined, anh1: string | undefined, anh2: string | undefined, anh3: string | undefined, sophong: number | undefined, sotang: number | undefined, anhdkkd: string | undefined, sodkkd: string | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroPostDeleteNhatro(_Id: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetOneNhatro(_Id: number): Observable;\r\n /**\r\n * @param _Tennhatro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByTennhatro(_Tennhatro: string | undefined): Observable;\r\n /**\r\n * @param _Diachicuthe (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByDiachicuthe(_Diachicuthe: string | undefined): Observable;\r\n /**\r\n * @param _Trangthai (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByTrangthai(_Trangthai: number | undefined): Observable;\r\n /**\r\n * @param _Tenchunhatro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByTenchunhatro(_Tenchunhatro: string | undefined): Observable;\r\n /**\r\n * @param _Dienthoai (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByDienthoai(_Dienthoai: string | undefined): Observable;\r\n /**\r\n * @param _Idnguoitao (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByIdnguoitao(_Idnguoitao: number | undefined): Observable;\r\n /**\r\n * @param _Cccdchutro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByCccdchutro(_Cccdchutro: string | undefined): Observable;\r\n /**\r\n * @param _Loainhatro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByLoainhatro(_Loainhatro: number | undefined): Observable;\r\n /**\r\n * @param _Tinh (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByTinh(_Tinh: string | undefined): Observable;\r\n /**\r\n * @param _Huyen (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByHuyen(_Huyen: string | undefined): Observable;\r\n /**\r\n * @param _Xa (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByXa(_Xa: string | undefined): Observable;\r\n /**\r\n * @param _Ngaytao (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByNgaytao(_Ngaytao: Date | undefined): Observable;\r\n /**\r\n * @param _Madiabankey (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByMadiabankey(_Madiabankey: string | undefined): Observable;\r\n /**\r\n * @param _Mota (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByMota(_Mota: string | undefined): Observable;\r\n /**\r\n * @param _Motachitiet (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByMotachitiet(_Motachitiet: string | undefined): Observable;\r\n /**\r\n * @param _Anhdaidien (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByAnhdaidien(_Anhdaidien: string | undefined): Observable;\r\n /**\r\n * @param _Anh1 (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByAnh1(_Anh1: string | undefined): Observable;\r\n /**\r\n * @param _Anh2 (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByAnh2(_Anh2: string | undefined): Observable;\r\n /**\r\n * @param _Anh3 (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByAnh3(_Anh3: string | undefined): Observable;\r\n /**\r\n * @param _Sophong (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroBySophong(_Sophong: number | undefined): Observable;\r\n /**\r\n * @param _Sotang (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroBySotang(_Sotang: number | undefined): Observable;\r\n /**\r\n * @param _Anhdkkd (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByAnhdkkd(_Anhdkkd: string | undefined): Observable;\r\n /**\r\n * @param _Sodkkd (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroBySodkkd(_Sodkkd: string | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PdfViewerLoad(body: { [key: string]: string; } | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PdfViewerRenderPdfPages(body: { [key: string]: string; } | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PdfViewerRenderAnnotationComments(body: { [key: string]: string; } | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PdfViewerUnload(body: { [key: string]: string; } | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PdfViewerRenderThumbnailImages(body: { [key: string]: string; } | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PdfViewerBookmarks(body: { [key: string]: string; } | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PdfViewerDownload(body: { [key: string]: string; } | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PdfViewerPrintImages(body: { [key: string]: string; } | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PdfViewerExportAnnotations(body: { [key: string]: string; } | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PdfViewerImportAnnotations(body: { [key: string]: string; } | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PdfViewerRenderPdfTexts(body: { [key: string]: string; } | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PdfViewerExportFormFields(body: { [key: string]: string; } | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PdfViewerImportFormFields(body: { [key: string]: string; } | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhanAnhTrinhBaoGetDonViXuLy(body: PhanAnhTrinhBaoSearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhanAnhTrinhBaoGetDonViXuLyMobile(body: PhanAnhTrinhBaoSearchModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1PhanAnhTrinhBaoGetListUnit(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhanAnhTrinhBaoGetUserRequestSupport(body: number[] | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhanAnhTrinhBaoPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1PhanAnhTrinhBaoSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1PhanAnhTrinhBaoSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhanAnhTrinhBaoInsert(body: SysunitEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhanAnhTrinhBaoUpdate(body: SysunitEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1PhanAnhTrinhBaoDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1PhanHoiSelectById(idDanhGia: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1PhanHoiSelectByIdV2(idDanhGia: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhanHoiInsert(body: PhanHoiUpdateModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhanHoiInsertV2(body: PhanHoiUpdateModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroSelectAllCus(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroUpdateImageRoom(body: UpdateImageRoomModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroShare(body: ShareModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroDeleteListRecord(body: number[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroSelectByIdNhaTroForQuanLyKhach(nhaTroId: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroSelectByIdNhaTroForQuanLyKhachCus(nhaTroId: number): Observable;\r\n /**\r\n * @param nhaTroId (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroSelectPhongByIdNhaTroForHopDong(nhaTroId: number | undefined): Observable;\r\n /**\r\n * @param idNhaTro (optional) \r\n * @param loai (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroSelectByIdNhaTro(idNhaTro: number | undefined, loai: number | undefined): Observable;\r\n /**\r\n * @param idNhaTro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroSelectByIdNhaTroMobile(idNhaTro: number | undefined): Observable;\r\n /**\r\n * @param idNhaTro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroSelectByIdNhaTroV3(idNhaTro: number | undefined): Observable;\r\n /**\r\n * @param idNhaTro (optional) \r\n * @param idNguoiTao (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroSelectByIdNhaTroV2(idNhaTro: number | undefined, idNguoiTao: number | undefined): Observable;\r\n /**\r\n * @param idNhaTro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroSelectByIdNhaTroV4(idNhaTro: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroPagingCustom2(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroPagingCustom(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroInsertCustom(body: InsertRoomCustomModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroSelect(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroCheckById(id: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroUpdateMultiple(body: PhongtroEntity[] | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroUpdateInfoRoom(body: PhongTroViewModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroInsert(body: PhongtroEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroUpdate(body: PhongtroEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1QuanLyKhachQuanlykhachindex(body: SearchModel_quanlykhachindex | undefined): Observable;\r\n /**\r\n * @param madiabantinh (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1QuanLyKhachSelectCountNhatroPhongtroNguoithue(madiabantinh: string | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1QuanLyKhachPagingMchutroqlnhatro(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1QuanLyKhachPagingMchutroqlnhaoHomeM(body: SearchModelPagingMchutroqlnhaoHome | undefined): Observable;\r\n /**\r\n * @param keysearch (optional) \r\n * @param currentPage (optional) \r\n * @param pageSize (optional) \r\n * @param loaiNha (optional) \r\n * @param matinh (optional) \r\n * @param maHuyen (optional) \r\n * @param maXa (optional) \r\n * @param maThon (optional) \r\n * @param localKey (optional) \r\n * @param tuNgay (optional) \r\n * @param denNgay (optional) \r\n * @param dongiaphongtu (optional) \r\n * @param dongiaphongden (optional) \r\n * @param lsdmdv (optional) \r\n * @param isdanhgia (optional) \r\n * @param idnguoidanhgia (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1QuanLyKhachPagingdsnhatroGis(keysearch: string | undefined, currentPage: number | undefined, pageSize: number | undefined, loaiNha: number | undefined, matinh: string | undefined, maHuyen: string | undefined, maXa: string | undefined, maThon: string | undefined, localKey: string | undefined, tuNgay: string | undefined, denNgay: string | undefined, dongiaphongtu: number | undefined, dongiaphongden: number | undefined, lsdmdv: string | undefined, isdanhgia: boolean | undefined, idnguoidanhgia: number | undefined): Observable;\r\n /**\r\n * @param status (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1QuanLyKhachGetDataByStatus(status: number | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1QuanLyKhachGetLoaiNha(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1QuanLyKhachPostPagingNhatro2(body: PageNhatro2 | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1QuanLyKhachPostInsertNhatro2(body: ItemNhatro2 | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1QuanLyKhachPostUpdateNhatro2(body: ItemNhatro2 | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1QuanLyKhachPostDeleteNhatro2(_Id: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1QuanLyKhachGetOneNhatro2(_Id: number): Observable;\r\n /**\r\n * @param _Idnguoitao (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1QuanLyKhachGetByIdnguoitaoNhatro2(_Idnguoitao: number | undefined): Observable;\r\n /**\r\n * @param capdonvi (optional) \r\n * @param unitcode (optional) \r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanPagingCus(capdonvi: string | undefined, unitcode: string | undefined, body: SearchTaiKhoanModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanGetChuTroByXa(unitcode: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanUpdateAvatar(body: Avatar | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanRegister(body: RegisterAccountPostModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanGetDiaChi(body: NguoiThueLichSuSearchModel | undefined): Observable;\r\n /**\r\n * @param unit (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanGetTKByUnitcode(unit: string | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanRegisterNguoithue(body: RegisterNguoithuePostModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanGetModelInsertUpdate(recordId: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanChangeStatus(id: number): Observable;\r\n /**\r\n * @param sdt (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanCheckSdt(sdt: string | undefined): Observable;\r\n /**\r\n * @param sdt (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanCheckCccd(sdt: string | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanUpdateAcc(body: TaikhoanEntity | undefined): Observable;\r\n /**\r\n * @param sdt (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanSelectAccBySdt(sdt: string | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanPagingMobile(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanDeleteAccount(userId: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanGetListUserIdByUnitCode(unitCode: string): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanSelectAccById(id: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanGetListUserIdByLocal(unitCode: string): Observable;\r\n /**\r\n * @param encrypt (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanEncrypt(encrypt: string | undefined): Observable;\r\n /**\r\n * @param encrypt (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanDecrypt(encrypt: string | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanInsertChat(body: ChatInfo | undefined): Observable;\r\n /**\r\n * @param userId (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanGetLogByUser(userId: number | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanInsert(body: TaikhoanEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanUpdate(body: TaikhoanEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TemporaryPaging(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TemporaryPagingV2(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TemporaryListTamTruKhachThuePaging(body: SearchTamTruModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThamSoHeThongOtp(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoPagingCus(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoPagingWeb(body: SearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoShare(body: number | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoSelectOneById(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoActionDetail(body: number | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoSelectTk(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoSelectSysunitByCap(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoSelectTbbyUserName(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoSelectNhaTroByXa(xa: string): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoTenTk(id: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoDeleteListRecord(body: number[] | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoInsertDvnhanPhong(body: DVNhanThongBaoModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoSelectFeedback(idthongbao: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoInsertAuto(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoInsertAutoTrongNgay(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoInsertNguoiDanGuiYKien(body: YKienModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoPushNotifications(body: NotificationModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoUpdateTB(body: ThongBaoUpdateModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoSelectOneWithFile(type: number, id: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoInsertWithFile(body: ThongbaoEntityProcessInsertFileModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoUpdateWithFile(body: ThongbaoEntityProcessUpdateFileModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoDeleteWithFile(id: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoInsert(body: ThongbaoEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoUpdate(body: ThongbaoEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoAutoCauhinhthongbaoInsert(body: ItemCauhinhthongbao | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoAutoPostPagingCauhinhthongbao(body: PageCauhinhthongbao | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoAutoPostInsertCauhinhthongbao(body: ItemCauhinhthongbao | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoAutoPostUpdateCauhinhthongbao(body: ItemCauhinhthongbao | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoAutoPostDeleteCauhinhthongbao(_Id: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoAutoGetOneCauhinhthongbao(_Id: number): Observable;\r\n /**\r\n * @param _Unitcode (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoAutoGetByUnitcodeCauhinhthongbao(_Unitcode: string | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongKeGetListSearchIndex(body: SelectNhaTroPostModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongKePaging(body: ThongKeSearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongKePagingNhatro(body: ThongKeSearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongKePagingV2(body: ThongKeSearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongKeGetDataChart(body: ThongKeSearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongKeGetTenantHistory(body: TenantHistorySearchModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TinPagingMobie(body: PageModel | undefined): Observable;\r\n /**\r\n * @param loaitin (optional) \r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TinPagingMobieV2(loaitin: number[] | undefined, body: PageModel | undefined): Observable;\r\n /**\r\n * @param loaitin (optional) \r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TinPagingMobieV3(loaitin: number[] | undefined, body: PageModel | undefined): Observable;\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TinSelectById(id: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TinPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TinSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TinSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TinInsert(body: TinlaodongEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TinUpdate(body: TinlaodongEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TinDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TinlaodongPagingCus(body: SearchTinTucModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TinlaodongPostPagingTinlaodong(body: PageTinlaodong | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TinlaodongPostInsertTinlaodong(body: ItemTinlaodong | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TinlaodongPostUpdateTinlaodong(body: ItemTinlaodong | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TinlaodongPostDeleteTinlaodong(_Id: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TinlaodongGetOneTinlaodong(_Id: number): Observable;\r\n /**\r\n * @param token (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1UserNotificationRemoveToken(token: string | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1UserNotificationInsert(body: UsernotificationEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1UserNotificationCheckVersion(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1UserNotificationPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1UserNotificationSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1UserNotificationSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1UserNotificationUpdate(body: UsernotificationEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1UserNotificationDelete(key: number): Observable;\r\n /**\r\n * @param userIdOa (optional) \r\n * @param msg (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ZaloInsert(userIdOa: string | undefined, msg: string | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ZaloPostPagingZalo(body: PageZalo | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ZaloPostInsertZalo(body: ItemZalo | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ZaloPostUpdateZalo(body: ItemZalo | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ZaloPostDeleteZalo(_Id: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ZaloGetOneZalo(_Id: number): Observable;\r\n /**\r\n * @param list (optional) \r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ZaloDoituongInsertZaloDt(list: number[] | undefined, body: ItemZaloDoituong | undefined): Observable;\r\n /**\r\n * @param list (optional) \r\n * @param listDele (optional) \r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ZaloDoituongUpdateZaloDt(list: number[] | undefined, listDele: number[] | undefined, body: ItemZaloDoituong | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ZaloDoituongPostPagingZaloDoituong(body: PageZaloDoituong | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ZaloDoituongPostInsertZaloDoituong(body: ItemZaloDoituong | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ZaloDoituongPostUpdateZaloDoituong(body: ItemZaloDoituong | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ZaloDoituongPostDeleteZaloDoituong(_Id: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ZaloDoituongGetOneZaloDoituong(_Id: number): Observable;\r\n /**\r\n * @param _Idzalo (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ZaloDoituongGetByIdzaloZaloDoituong(_Idzalo: string | undefined): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppCongAnApiService implements IAppCongAnApiService {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(APP_CONGAN_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1AuthLogin(body: LoginModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Auth/Login\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1AuthLogin(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1AuthLogin(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1AuthLogin(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AuthenticateResponseApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1AuthDoiMatKhau(body: DoiMatKhauModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Auth/DoiMatKhau\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1AuthDoiMatKhau(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1AuthDoiMatKhau(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1AuthDoiMatKhau(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1AuthDoiMatKhauNguoiThue(body: DoiMatKhauModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Auth/DoiMatKhauNguoiThue\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1AuthDoiMatKhauNguoiThue(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1AuthDoiMatKhauNguoiThue(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1AuthDoiMatKhauNguoiThue(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1AuthAuthenticateMobileNguoiThue(body: AuthenticateRequest | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Auth/AuthenticateMobile_NguoiThue\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1AuthAuthenticateMobileNguoiThue(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1AuthAuthenticateMobileNguoiThue(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1AuthAuthenticateMobileNguoiThue(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AuthenticateNguoiThueResponseApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhdongboSyncData(body: ItemCauhinhdongbo | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Cauhinhdongbo/SyncData\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1CauhinhdongboSyncData(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1CauhinhdongboSyncData(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1CauhinhdongboSyncData(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhdongboSynchronized(body: ItemCauhinhdongbo | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Cauhinhdongbo/Synchronized\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1CauhinhdongboSynchronized(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1CauhinhdongboSynchronized(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1CauhinhdongboSynchronized(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhdongboPostPagingCauhinhdongbo(body: PageCauhinhdongbo | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Cauhinhdongbo/PostPagingCauhinhdongbo\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1CauhinhdongboPostPagingCauhinhdongbo(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1CauhinhdongboPostPagingCauhinhdongbo(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1CauhinhdongboPostPagingCauhinhdongbo(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemCauhinhdongboIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhdongboPostInsertCauhinhdongbo(body: ItemCauhinhdongbo | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Cauhinhdongbo/PostInsertCauhinhdongbo\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1CauhinhdongboPostInsertCauhinhdongbo(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1CauhinhdongboPostInsertCauhinhdongbo(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1CauhinhdongboPostInsertCauhinhdongbo(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhdongboPostUpdateCauhinhdongbo(body: ItemCauhinhdongbo | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Cauhinhdongbo/PostUpdateCauhinhdongbo\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1CauhinhdongboPostUpdateCauhinhdongbo(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1CauhinhdongboPostUpdateCauhinhdongbo(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1CauhinhdongboPostUpdateCauhinhdongbo(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhdongboPostDeleteCauhinhdongbo(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Cauhinhdongbo/PostDeleteCauhinhdongbo/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1CauhinhdongboPostDeleteCauhinhdongbo(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1CauhinhdongboPostDeleteCauhinhdongbo(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1CauhinhdongboPostDeleteCauhinhdongbo(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhdongboGetOneCauhinhdongbo(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Cauhinhdongbo/GetOneCauhinhdongbo/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1CauhinhdongboGetOneCauhinhdongbo(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1CauhinhdongboGetOneCauhinhdongbo(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1CauhinhdongboGetOneCauhinhdongbo(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemCauhinhdongboApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Unitcode (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhthongbaoPagingCauhinhthongbao(_Unitcode: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Cauhinhthongbao/PagingCauhinhthongbao?\";\r\n if (_Unitcode === null)\r\n throw new Error(\"The parameter '_Unitcode' cannot be null.\");\r\n else if (_Unitcode !== undefined)\r\n url_ += \"_Unitcode=\" + encodeURIComponent(\"\" + _Unitcode) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1CauhinhthongbaoPagingCauhinhthongbao(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1CauhinhthongbaoPagingCauhinhthongbao(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1CauhinhthongbaoPagingCauhinhthongbao(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CauhinhThongbaoViewModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhthongbaoSelectAllSysUnit(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Cauhinhthongbao/SelectAllSysUnit\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1CauhinhthongbaoSelectAllSysUnit(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1CauhinhthongbaoSelectAllSysUnit(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1CauhinhthongbaoSelectAllSysUnit(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SysunitEntityListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhthongbaoPostPagingCauhinhthongbao(body: PageCauhinhthongbao | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Cauhinhthongbao/PostPagingCauhinhthongbao\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1CauhinhthongbaoPostPagingCauhinhthongbao(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1CauhinhthongbaoPostPagingCauhinhthongbao(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1CauhinhthongbaoPostPagingCauhinhthongbao(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemCauhinhthongbaoIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhthongbaoPostInsertCauhinhthongbao(body: ItemCauhinhthongbao | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Cauhinhthongbao/PostInsertCauhinhthongbao\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1CauhinhthongbaoPostInsertCauhinhthongbao(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1CauhinhthongbaoPostInsertCauhinhthongbao(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1CauhinhthongbaoPostInsertCauhinhthongbao(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhthongbaoPostUpdateCauhinhthongbao(body: ItemCauhinhthongbao | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Cauhinhthongbao/PostUpdateCauhinhthongbao\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1CauhinhthongbaoPostUpdateCauhinhthongbao(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1CauhinhthongbaoPostUpdateCauhinhthongbao(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1CauhinhthongbaoPostUpdateCauhinhthongbao(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhthongbaoPostDeleteCauhinhthongbao(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Cauhinhthongbao/PostDeleteCauhinhthongbao/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1CauhinhthongbaoPostDeleteCauhinhthongbao(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1CauhinhthongbaoPostDeleteCauhinhthongbao(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1CauhinhthongbaoPostDeleteCauhinhthongbao(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhthongbaoGetOneCauhinhthongbao(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Cauhinhthongbao/GetOneCauhinhthongbao/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1CauhinhthongbaoGetOneCauhinhthongbao(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1CauhinhthongbaoGetOneCauhinhthongbao(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1CauhinhthongbaoGetOneCauhinhthongbao(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemCauhinhthongbaoApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Unitcode (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1CauhinhthongbaoGetByUnitcodeCauhinhthongbao(_Unitcode: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Cauhinhthongbao/GetByUnitcodeCauhinhthongbao?\";\r\n if (_Unitcode === null)\r\n throw new Error(\"The parameter '_Unitcode' cannot be null.\");\r\n else if (_Unitcode !== undefined)\r\n url_ += \"_Unitcode=\" + encodeURIComponent(\"\" + _Unitcode) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1CauhinhthongbaoGetByUnitcodeCauhinhthongbao(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1CauhinhthongbaoGetByUnitcodeCauhinhthongbao(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1CauhinhthongbaoGetByUnitcodeCauhinhthongbao(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemCauhinhthongbaoListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ChuyenNhaPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ChuyenNha/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ChuyenNhaPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ChuyenNhaPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ChuyenNhaPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ChuyenNhaSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ChuyenNha/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ChuyenNhaSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ChuyenNhaSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ChuyenNhaSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DichvuChuyennhaEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ChuyenNhaSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ChuyenNha/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ChuyenNhaSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ChuyenNhaSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ChuyenNhaSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ChuyenNhaInsert(body: DichvuChuyennhaEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ChuyenNha/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ChuyenNhaInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ChuyenNhaInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ChuyenNhaInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ChuyenNhaUpdate(body: DichvuChuyennhaEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ChuyenNha/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ChuyenNhaUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ChuyenNhaUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ChuyenNhaUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ChuyenNhaDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ChuyenNha/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ChuyenNhaDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ChuyenNhaDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ChuyenNhaDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhGiaPagingMobie(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhGia/PagingMobie\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhGiaPagingMobie(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhGiaPagingMobie(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhGiaPagingMobie(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhGiaPagingMobieV2(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhGia/PagingMobie_V2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhGiaPagingMobieV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhGiaPagingMobieV2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhGiaPagingMobieV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param star (optional) \r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhGiaPagingMobieV3(star: number | undefined, body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhGia/PagingMobie_V3?\";\r\n if (star === null)\r\n throw new Error(\"The parameter 'star' cannot be null.\");\r\n else if (star !== undefined)\r\n url_ += \"star=\" + encodeURIComponent(\"\" + star) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhGiaPagingMobieV3(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhGiaPagingMobieV3(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhGiaPagingMobieV3(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param star (optional) \r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhGiaPagingMobieV4(star: number | undefined, body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhGia/PagingMobie_V4?\";\r\n if (star === null)\r\n throw new Error(\"The parameter 'star' cannot be null.\");\r\n else if (star !== undefined)\r\n url_ += \"star=\" + encodeURIComponent(\"\" + star) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhGiaPagingMobieV4(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhGiaPagingMobieV4(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhGiaPagingMobieV4(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhGiaDanhGia(body: DanhGiaModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhGia/DanhGia\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhGiaDanhGia(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhGiaDanhGia(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhGiaDanhGia(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhGiaDanhGiaV2(body: DanhGiaModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhGia/DanhGia_V2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhGiaDanhGiaV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhGiaDanhGiaV2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhGiaDanhGiaV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param idNhatro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhGiaAvgDanhGia(idNhatro: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhGia/AvgDanhGia?\";\r\n if (idNhatro === null)\r\n throw new Error(\"The parameter 'idNhatro' cannot be null.\");\r\n else if (idNhatro !== undefined)\r\n url_ += \"IdNhatro=\" + encodeURIComponent(\"\" + idNhatro) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhGiaAvgDanhGia(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhGiaAvgDanhGia(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhGiaAvgDanhGia(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DoubleApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param idNhatro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhGiaDetailStar(idNhatro: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhGia/DetailStar?\";\r\n if (idNhatro === null)\r\n throw new Error(\"The parameter 'idNhatro' cannot be null.\");\r\n else if (idNhatro !== undefined)\r\n url_ += \"IdNhatro=\" + encodeURIComponent(\"\" + idNhatro) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhGiaDetailStar(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhGiaDetailStar(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhGiaDetailStar(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TotalDanhGiaModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhGiaPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhGia/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhGiaPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhGiaPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhGiaPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DanhGiaSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhGia/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhGiaSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhGiaSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhGiaSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DanhgiaEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DanhGiaSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhGia/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhGiaSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhGiaSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhGiaSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhGiaInsert(body: DanhgiaEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhGia/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhGiaInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhGiaInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhGiaInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhGiaUpdate(body: DanhgiaEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhGia/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhGiaUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhGiaUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhGiaUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DanhGiaDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhGia/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhGiaDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhGiaDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhGiaDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Idnhatro (optional) \r\n * @param _IdNguoiThue (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetDanhgiaByIdnhatro2(_Idnhatro: number | undefined, _IdNguoiThue: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhgiaPhanhoi/Get_Danhgia_ByIdnhatro2?\";\r\n if (_Idnhatro === null)\r\n throw new Error(\"The parameter '_Idnhatro' cannot be null.\");\r\n else if (_Idnhatro !== undefined)\r\n url_ += \"_Idnhatro=\" + encodeURIComponent(\"\" + _Idnhatro) + \"&\";\r\n if (_IdNguoiThue === null)\r\n throw new Error(\"The parameter '_IdNguoiThue' cannot be null.\");\r\n else if (_IdNguoiThue !== undefined)\r\n url_ += \"_IdNguoiThue=\" + encodeURIComponent(\"\" + _IdNguoiThue) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetDanhgiaByIdnhatro2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetDanhgiaByIdnhatro2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhgiaPhanhoiGetDanhgiaByIdnhatro2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDanhgiaApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiPostInsertMasterMoreDetailDanhgiaPhanhoi(body: DanhgiaPhanhoiVM | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhgiaPhanhoi/PostInsertMasterMoreDetailDanhgiaPhanhoi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiPostInsertMasterMoreDetailDanhgiaPhanhoi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiPostInsertMasterMoreDetailDanhgiaPhanhoi(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhgiaPhanhoiPostInsertMasterMoreDetailDanhgiaPhanhoi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiPostUpdateMasterMoreDetailDanhgiaPhanhoi(body: DanhgiaPhanhoiVM | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhgiaPhanhoi/PostUpdateMasterMoreDetailDanhgiaPhanhoi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiPostUpdateMasterMoreDetailDanhgiaPhanhoi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiPostUpdateMasterMoreDetailDanhgiaPhanhoi(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhgiaPhanhoiPostUpdateMasterMoreDetailDanhgiaPhanhoi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiPostDeleteMasterMoreDetailDanhgiaPhanhoi(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhgiaPhanhoi/PostDeleteMasterMoreDetailDanhgiaPhanhoi/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiPostDeleteMasterMoreDetailDanhgiaPhanhoi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiPostDeleteMasterMoreDetailDanhgiaPhanhoi(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhgiaPhanhoiPostDeleteMasterMoreDetailDanhgiaPhanhoi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetOneMasterMoreDetailDanhgiaPhanhoi(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhgiaPhanhoi/GetOneMasterMoreDetailDanhgiaPhanhoi/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetOneMasterMoreDetailDanhgiaPhanhoi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetOneMasterMoreDetailDanhgiaPhanhoi(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhgiaPhanhoiGetOneMasterMoreDetailDanhgiaPhanhoi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DanhgiaPhanhoiVMApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetOneMasterMorePageDetailDanhgiaPhanhoi(_Id: number, body: PagePhanhoi | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhgiaPhanhoi/GetOneMasterMorePageDetailDanhgiaPhanhoi/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetOneMasterMorePageDetailDanhgiaPhanhoi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetOneMasterMorePageDetailDanhgiaPhanhoi(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhgiaPhanhoiGetOneMasterMorePageDetailDanhgiaPhanhoi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DanhgiaPhanhoiVMApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiPostPagingDanhgia(body: PageDanhgia | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhgiaPhanhoi/PostPaging_Danhgia\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiPostPagingDanhgia(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiPostPagingDanhgia(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhgiaPhanhoiPostPagingDanhgia(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDanhgiaIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiPostInsertDanhgia(body: ItemDanhgia | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhgiaPhanhoi/PostInsertDanhgia\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiPostInsertDanhgia(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiPostInsertDanhgia(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhgiaPhanhoiPostInsertDanhgia(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiPostUpdateDanhgia(body: ItemDanhgia | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhgiaPhanhoi/PostUpdateDanhgia\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiPostUpdateDanhgia(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiPostUpdateDanhgia(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhgiaPhanhoiPostUpdateDanhgia(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiPostDeleteDanhgia(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhgiaPhanhoi/PostDeleteDanhgia/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiPostDeleteDanhgia(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiPostDeleteDanhgia(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhgiaPhanhoiPostDeleteDanhgia(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetOneDanhgia(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhgiaPhanhoi/GetOneDanhgia/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetOneDanhgia(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetOneDanhgia(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhgiaPhanhoiGetOneDanhgia(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDanhgiaApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Idnhatro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetDanhgiaByIdnhatro(_Idnhatro: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhgiaPhanhoi/Get_Danhgia_ByIdnhatro?\";\r\n if (_Idnhatro === null)\r\n throw new Error(\"The parameter '_Idnhatro' cannot be null.\");\r\n else if (_Idnhatro !== undefined)\r\n url_ += \"_Idnhatro=\" + encodeURIComponent(\"\" + _Idnhatro) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetDanhgiaByIdnhatro(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetDanhgiaByIdnhatro(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhgiaPhanhoiGetDanhgiaByIdnhatro(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDanhgiaListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Diem (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetDanhgiaByDiem(_Diem: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhgiaPhanhoi/Get_Danhgia_ByDiem?\";\r\n if (_Diem === null)\r\n throw new Error(\"The parameter '_Diem' cannot be null.\");\r\n else if (_Diem !== undefined)\r\n url_ += \"_Diem=\" + encodeURIComponent(\"\" + _Diem) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetDanhgiaByDiem(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetDanhgiaByDiem(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhgiaPhanhoiGetDanhgiaByDiem(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDanhgiaListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Nhanxet (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetDanhgiaByNhanxet(_Nhanxet: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhgiaPhanhoi/Get_Danhgia_ByNhanxet?\";\r\n if (_Nhanxet === null)\r\n throw new Error(\"The parameter '_Nhanxet' cannot be null.\");\r\n else if (_Nhanxet !== undefined)\r\n url_ += \"_Nhanxet=\" + encodeURIComponent(\"\" + _Nhanxet) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetDanhgiaByNhanxet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetDanhgiaByNhanxet(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhgiaPhanhoiGetDanhgiaByNhanxet(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDanhgiaListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Idnguoidanhgia (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetDanhgiaByIdnguoidanhgia(_Idnguoidanhgia: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhgiaPhanhoi/Get_Danhgia_ByIdnguoidanhgia?\";\r\n if (_Idnguoidanhgia === null)\r\n throw new Error(\"The parameter '_Idnguoidanhgia' cannot be null.\");\r\n else if (_Idnguoidanhgia !== undefined)\r\n url_ += \"_Idnguoidanhgia=\" + encodeURIComponent(\"\" + _Idnguoidanhgia) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetDanhgiaByIdnguoidanhgia(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetDanhgiaByIdnguoidanhgia(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhgiaPhanhoiGetDanhgiaByIdnguoidanhgia(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDanhgiaListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Ngaydanhgia (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetDanhgiaByNgaydanhgia(_Ngaydanhgia: Date | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhgiaPhanhoi/Get_Danhgia_ByNgaydanhgia?\";\r\n if (_Ngaydanhgia === null)\r\n throw new Error(\"The parameter '_Ngaydanhgia' cannot be null.\");\r\n else if (_Ngaydanhgia !== undefined)\r\n url_ += \"_Ngaydanhgia=\" + encodeURIComponent(_Ngaydanhgia ? \"\" + _Ngaydanhgia.toISOString() : \"\") + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetDanhgiaByNgaydanhgia(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetDanhgiaByNgaydanhgia(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhgiaPhanhoiGetDanhgiaByNgaydanhgia(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDanhgiaListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Avatar (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetDanhgiaByAvatar(_Avatar: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhgiaPhanhoi/Get_Danhgia_ByAvatar?\";\r\n if (_Avatar === null)\r\n throw new Error(\"The parameter '_Avatar' cannot be null.\");\r\n else if (_Avatar !== undefined)\r\n url_ += \"_Avatar=\" + encodeURIComponent(\"\" + _Avatar) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetDanhgiaByAvatar(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetDanhgiaByAvatar(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhgiaPhanhoiGetDanhgiaByAvatar(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDanhgiaListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Doituongdanhgia (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetDanhgiaByDoituongdanhgia(_Doituongdanhgia: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhgiaPhanhoi/Get_Danhgia_ByDoituongdanhgia?\";\r\n if (_Doituongdanhgia === null)\r\n throw new Error(\"The parameter '_Doituongdanhgia' cannot be null.\");\r\n else if (_Doituongdanhgia !== undefined)\r\n url_ += \"_Doituongdanhgia=\" + encodeURIComponent(\"\" + _Doituongdanhgia) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetDanhgiaByDoituongdanhgia(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetDanhgiaByDoituongdanhgia(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhgiaPhanhoiGetDanhgiaByDoituongdanhgia(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDanhgiaListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Noidungvipham (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetDanhgiaByNoidungvipham(_Noidungvipham: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhgiaPhanhoi/Get_Danhgia_ByNoidungvipham?\";\r\n if (_Noidungvipham === null)\r\n throw new Error(\"The parameter '_Noidungvipham' cannot be null.\");\r\n else if (_Noidungvipham !== undefined)\r\n url_ += \"_Noidungvipham=\" + encodeURIComponent(\"\" + _Noidungvipham) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetDanhgiaByNoidungvipham(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetDanhgiaByNoidungvipham(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhgiaPhanhoiGetDanhgiaByNoidungvipham(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDanhgiaListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiPostPagingPhanhoi(body: PagePhanhoi | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhgiaPhanhoi/PostPaging_Phanhoi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiPostPagingPhanhoi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiPostPagingPhanhoi(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhgiaPhanhoiPostPagingPhanhoi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemPhanhoiIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiPostInsertPhanhoi(body: ItemPhanhoi | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhgiaPhanhoi/PostInsertPhanhoi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiPostInsertPhanhoi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiPostInsertPhanhoi(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhgiaPhanhoiPostInsertPhanhoi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiPostUpdatePhanhoi(body: ItemPhanhoi | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhgiaPhanhoi/PostUpdatePhanhoi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiPostUpdatePhanhoi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiPostUpdatePhanhoi(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhgiaPhanhoiPostUpdatePhanhoi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiPostDeletePhanhoi(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhgiaPhanhoi/PostDeletePhanhoi/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiPostDeletePhanhoi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiPostDeletePhanhoi(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhgiaPhanhoiPostDeletePhanhoi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetOnePhanhoi(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhgiaPhanhoi/GetOnePhanhoi/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetOnePhanhoi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetOnePhanhoi(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhgiaPhanhoiGetOnePhanhoi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemPhanhoiApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Iddanhgia (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetPhanhoiByIddanhgia(_Iddanhgia: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhgiaPhanhoi/Get_Phanhoi_ByIddanhgia?\";\r\n if (_Iddanhgia === null)\r\n throw new Error(\"The parameter '_Iddanhgia' cannot be null.\");\r\n else if (_Iddanhgia !== undefined)\r\n url_ += \"_Iddanhgia=\" + encodeURIComponent(\"\" + _Iddanhgia) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetPhanhoiByIddanhgia(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetPhanhoiByIddanhgia(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhgiaPhanhoiGetPhanhoiByIddanhgia(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemPhanhoiListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Noidungphanhoi (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetPhanhoiByNoidungphanhoi(_Noidungphanhoi: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhgiaPhanhoi/Get_Phanhoi_ByNoidungphanhoi?\";\r\n if (_Noidungphanhoi === null)\r\n throw new Error(\"The parameter '_Noidungphanhoi' cannot be null.\");\r\n else if (_Noidungphanhoi !== undefined)\r\n url_ += \"_Noidungphanhoi=\" + encodeURIComponent(\"\" + _Noidungphanhoi) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetPhanhoiByNoidungphanhoi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetPhanhoiByNoidungphanhoi(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhgiaPhanhoiGetPhanhoiByNoidungphanhoi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemPhanhoiListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Thoigianphanhoi (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetPhanhoiByThoigianphanhoi(_Thoigianphanhoi: Date | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhgiaPhanhoi/Get_Phanhoi_ByThoigianphanhoi?\";\r\n if (_Thoigianphanhoi === null)\r\n throw new Error(\"The parameter '_Thoigianphanhoi' cannot be null.\");\r\n else if (_Thoigianphanhoi !== undefined)\r\n url_ += \"_Thoigianphanhoi=\" + encodeURIComponent(_Thoigianphanhoi ? \"\" + _Thoigianphanhoi.toISOString() : \"\") + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetPhanhoiByThoigianphanhoi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetPhanhoiByThoigianphanhoi(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhgiaPhanhoiGetPhanhoiByThoigianphanhoi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemPhanhoiListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Idnguoiphanhoi (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DanhgiaPhanhoiGetPhanhoiByIdnguoiphanhoi(_Idnguoiphanhoi: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DanhgiaPhanhoi/Get_Phanhoi_ByIdnguoiphanhoi?\";\r\n if (_Idnguoiphanhoi === null)\r\n throw new Error(\"The parameter '_Idnguoiphanhoi' cannot be null.\");\r\n else if (_Idnguoiphanhoi !== undefined)\r\n url_ += \"_Idnguoiphanhoi=\" + encodeURIComponent(\"\" + _Idnguoiphanhoi) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetPhanhoiByIdnguoiphanhoi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DanhgiaPhanhoiGetPhanhoiByIdnguoiphanhoi(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DanhgiaPhanhoiGetPhanhoiByIdnguoiphanhoi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemPhanhoiListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DashboardGetDataChart(body: DashboardSearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Dashboard/GetDataChart\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DashboardGetDataChart(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DashboardGetDataChart(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DashboardGetDataChart(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DashboardModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DashboardSelectCountNguoithueNgay(body: SearchDashboardNguoiThueModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Dashboard/SelectCountNguoithueNgay\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DashboardSelectCountNguoithueNgay(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DashboardSelectCountNguoithueNgay(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DashboardSelectCountNguoithueNgay(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DashboardNguoiThueModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DashboardSelectCountNha(body: SearchDashboardNguoiThueModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Dashboard/SelectCountNha\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DashboardSelectCountNha(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DashboardSelectCountNha(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DashboardSelectCountNha(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DashboardNhaTroModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param lat (optional) \r\n * @param _long (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DiabanGetAddresByLatLong(lat: string | undefined, _long: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Diaban/getAddresByLatLong?\";\r\n if (lat === null)\r\n throw new Error(\"The parameter 'lat' cannot be null.\");\r\n else if (lat !== undefined)\r\n url_ += \"lat=\" + encodeURIComponent(\"\" + lat) + \"&\";\r\n if (_long === null)\r\n throw new Error(\"The parameter '_long' cannot be null.\");\r\n else if (_long !== undefined)\r\n url_ += \"_long=\" + encodeURIComponent(\"\" + _long) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DiabanGetAddresByLatLong(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DiabanGetAddresByLatLong(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DiabanGetAddresByLatLong(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SearchModelDSNhatroV2ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DiabanPostPagingDiaban(body: PageDiaban | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Diaban/PostPagingDiaban\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DiabanPostPagingDiaban(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DiabanPostPagingDiaban(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DiabanPostPagingDiaban(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDiabanIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DiabanPostInsertDiaban(body: ItemDiaban | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Diaban/PostInsertDiaban\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DiabanPostInsertDiaban(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DiabanPostInsertDiaban(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DiabanPostInsertDiaban(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DiabanPostUpdateDiaban(body: ItemDiaban | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Diaban/PostUpdateDiaban\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DiabanPostUpdateDiaban(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DiabanPostUpdateDiaban(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DiabanPostUpdateDiaban(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DiabanPostDeleteDiaban(_Makey: string): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Diaban/PostDeleteDiaban/{_Makey}\";\r\n if (_Makey === undefined || _Makey === null)\r\n throw new Error(\"The parameter '_Makey' must be defined.\");\r\n url_ = url_.replace(\"{_Makey}\", encodeURIComponent(\"\" + _Makey));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DiabanPostDeleteDiaban(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DiabanPostDeleteDiaban(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DiabanPostDeleteDiaban(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DiabanGetOneDiaban(_Makey: string): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Diaban/GetOneDiaban/{_Makey}\";\r\n if (_Makey === undefined || _Makey === null)\r\n throw new Error(\"The parameter '_Makey' must be defined.\");\r\n url_ = url_.replace(\"{_Makey}\", encodeURIComponent(\"\" + _Makey));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DiabanGetOneDiaban(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DiabanGetOneDiaban(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DiabanGetOneDiaban(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDiabanApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Ma (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DiabanGetByMaDiaban(_Ma: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Diaban/GetByMaDiaban?\";\r\n if (_Ma === null)\r\n throw new Error(\"The parameter '_Ma' cannot be null.\");\r\n else if (_Ma !== undefined)\r\n url_ += \"_Ma=\" + encodeURIComponent(\"\" + _Ma) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DiabanGetByMaDiaban(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DiabanGetByMaDiaban(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DiabanGetByMaDiaban(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDiabanListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Level (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DiabanGetByLevelDiaban(_Level: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Diaban/GetByLevelDiaban?\";\r\n if (_Level === null)\r\n throw new Error(\"The parameter '_Level' cannot be null.\");\r\n else if (_Level !== undefined)\r\n url_ += \"_Level=\" + encodeURIComponent(\"\" + _Level) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DiabanGetByLevelDiaban(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DiabanGetByLevelDiaban(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DiabanGetByLevelDiaban(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDiabanListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _MaCha (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DiabanGetByMaChaDiaban(_MaCha: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Diaban/GetByMaChaDiaban?\";\r\n if (_MaCha === null)\r\n throw new Error(\"The parameter '_MaCha' cannot be null.\");\r\n else if (_MaCha !== undefined)\r\n url_ += \"_MaCha=\" + encodeURIComponent(\"\" + _MaCha) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DiabanGetByMaChaDiaban(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DiabanGetByMaChaDiaban(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DiabanGetByMaChaDiaban(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDiabanListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param pageSize (optional) \r\n * @param currentPage (optional) \r\n * @param strkey (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuPostPagingDichvu(pageSize: number | undefined, currentPage: number | undefined, strkey: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DichVu/PostPagingDichvu?\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (currentPage === null)\r\n throw new Error(\"The parameter 'currentPage' cannot be null.\");\r\n else if (currentPage !== undefined)\r\n url_ += \"CurrentPage=\" + encodeURIComponent(\"\" + currentPage) + \"&\";\r\n if (strkey === null)\r\n throw new Error(\"The parameter 'strkey' cannot be null.\");\r\n else if (strkey !== undefined)\r\n url_ += \"strkey=\" + encodeURIComponent(\"\" + strkey) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DichVuPostPagingDichvu(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DichVuPostPagingDichvu(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DichVuPostPagingDichvu(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuPostInsertDichvu(body: ItemDichvu | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DichVu/PostInsertDichvu\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DichVuPostInsertDichvu(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DichVuPostInsertDichvu(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DichVuPostInsertDichvu(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuPostUpdateDichvu(body: ItemDichvu | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DichVu/PostUpdateDichvu\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DichVuPostUpdateDichvu(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DichVuPostUpdateDichvu(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DichVuPostUpdateDichvu(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuPostDeleteDichvu(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DichVu/PostDeleteDichvu/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DichVuPostDeleteDichvu(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DichVuPostDeleteDichvu(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DichVuPostDeleteDichvu(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuGetOneDichvu(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DichVu/GetOneDichvu/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DichVuGetOneDichvu(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DichVuGetOneDichvu(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DichVuGetOneDichvu(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDichvuApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Tendichvu (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuGetByTendichvuDichvu(_Tendichvu: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DichVu/GetByTendichvuDichvu?\";\r\n if (_Tendichvu === null)\r\n throw new Error(\"The parameter '_Tendichvu' cannot be null.\");\r\n else if (_Tendichvu !== undefined)\r\n url_ += \"_Tendichvu=\" + encodeURIComponent(\"\" + _Tendichvu) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DichVuGetByTendichvuDichvu(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DichVuGetByTendichvuDichvu(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DichVuGetByTendichvuDichvu(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDichvuListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Mota (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuGetByMotaDichvu(_Mota: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DichVu/GetByMotaDichvu?\";\r\n if (_Mota === null)\r\n throw new Error(\"The parameter '_Mota' cannot be null.\");\r\n else if (_Mota !== undefined)\r\n url_ += \"_Mota=\" + encodeURIComponent(\"\" + _Mota) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DichVuGetByMotaDichvu(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DichVuGetByMotaDichvu(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DichVuGetByMotaDichvu(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDichvuListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Idnhatro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuGetByIdnhatroDichvu(_Idnhatro: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DichVu/GetByIdnhatroDichvu?\";\r\n if (_Idnhatro === null)\r\n throw new Error(\"The parameter '_Idnhatro' cannot be null.\");\r\n else if (_Idnhatro !== undefined)\r\n url_ += \"_Idnhatro=\" + encodeURIComponent(\"\" + _Idnhatro) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DichVuGetByIdnhatroDichvu(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DichVuGetByIdnhatroDichvu(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DichVuGetByIdnhatroDichvu(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDichvuListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Quytactinhtien (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuGetByQuytactinhtienDichvu(_Quytactinhtien: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DichVu/GetByQuytactinhtienDichvu?\";\r\n if (_Quytactinhtien === null)\r\n throw new Error(\"The parameter '_Quytactinhtien' cannot be null.\");\r\n else if (_Quytactinhtien !== undefined)\r\n url_ += \"_Quytactinhtien=\" + encodeURIComponent(\"\" + _Quytactinhtien) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DichVuGetByQuytactinhtienDichvu(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DichVuGetByQuytactinhtienDichvu(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DichVuGetByQuytactinhtienDichvu(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDichvuListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Donvitinh (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuGetByDonvitinhDichvu(_Donvitinh: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DichVu/GetByDonvitinhDichvu?\";\r\n if (_Donvitinh === null)\r\n throw new Error(\"The parameter '_Donvitinh' cannot be null.\");\r\n else if (_Donvitinh !== undefined)\r\n url_ += \"_Donvitinh=\" + encodeURIComponent(\"\" + _Donvitinh) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DichVuGetByDonvitinhDichvu(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DichVuGetByDonvitinhDichvu(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DichVuGetByDonvitinhDichvu(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDichvuListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Giadichvu (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuGetByGiadichvuDichvu(_Giadichvu: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DichVu/GetByGiadichvuDichvu?\";\r\n if (_Giadichvu === null)\r\n throw new Error(\"The parameter '_Giadichvu' cannot be null.\");\r\n else if (_Giadichvu !== undefined)\r\n url_ += \"_Giadichvu=\" + encodeURIComponent(\"\" + _Giadichvu) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DichVuGetByGiadichvuDichvu(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DichVuGetByGiadichvuDichvu(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DichVuGetByGiadichvuDichvu(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDichvuListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Hoatdong (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuGetByHoatdongDichvu(_Hoatdong: boolean | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DichVu/GetByHoatdongDichvu?\";\r\n if (_Hoatdong === null)\r\n throw new Error(\"The parameter '_Hoatdong' cannot be null.\");\r\n else if (_Hoatdong !== undefined)\r\n url_ += \"_Hoatdong=\" + encodeURIComponent(\"\" + _Hoatdong) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DichVuGetByHoatdongDichvu(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DichVuGetByHoatdongDichvu(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DichVuGetByHoatdongDichvu(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDichvuListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Loai (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuGetByLoaiDichvu(_Loai: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DichVu/GetByLoaiDichvu?\";\r\n if (_Loai === null)\r\n throw new Error(\"The parameter '_Loai' cannot be null.\");\r\n else if (_Loai !== undefined)\r\n url_ += \"_Loai=\" + encodeURIComponent(\"\" + _Loai) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DichVuGetByLoaiDichvu(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DichVuGetByLoaiDichvu(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DichVuGetByLoaiDichvu(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDichvuListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuShare(body: ShareModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DichVu/Share\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DichVuShare(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DichVuShare(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DichVuShare(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuDeleteListRecord(body: number[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DichVu/DeleteListRecord\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DichVuDeleteListRecord(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DichVuDeleteListRecord(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DichVuDeleteListRecord(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param idNhaTro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuSelectByIdNhaTro(idNhaTro: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DichVu/SelectByIdNhaTro?\";\r\n if (idNhaTro === null)\r\n throw new Error(\"The parameter 'idNhaTro' cannot be null.\");\r\n else if (idNhaTro !== undefined)\r\n url_ += \"IdNhaTro=\" + encodeURIComponent(\"\" + idNhaTro) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DichVuSelectByIdNhaTro(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DichVuSelectByIdNhaTro(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DichVuSelectByIdNhaTro(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DichvuEntityListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param idNhaTro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuSelectByIdNhaTroDesc(idNhaTro: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DichVu/SelectByIdNhaTroDesc?\";\r\n if (idNhaTro === null)\r\n throw new Error(\"The parameter 'idNhaTro' cannot be null.\");\r\n else if (idNhaTro !== undefined)\r\n url_ += \"IdNhaTro=\" + encodeURIComponent(\"\" + idNhaTro) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DichVuSelectByIdNhaTroDesc(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DichVuSelectByIdNhaTroDesc(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DichVuSelectByIdNhaTroDesc(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DichvuEntityListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuPagingCustom(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DichVu/PagingCustom\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DichVuPagingCustom(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DichVuPagingCustom(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DichVuPagingCustom(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuInsertV2(body: InsertModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DichVu/InsertV2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DichVuInsertV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DichVuInsertV2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DichVuInsertV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuInsertCheckDVExitsV1(body: InsertModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DichVu/InsertCheckDVExitsV1\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DichVuInsertCheckDVExitsV1(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DichVuInsertCheckDVExitsV1(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DichVuInsertCheckDVExitsV1(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuPagingV2(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DichVu/PagingV2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DichVuPagingV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DichVuPagingV2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DichVuPagingV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param name (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuFindByName(name: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DichVu/FindByName?\";\r\n if (name === null)\r\n throw new Error(\"The parameter 'name' cannot be null.\");\r\n else if (name !== undefined)\r\n url_ += \"name=\" + encodeURIComponent(\"\" + name) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DichVuFindByName(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DichVuFindByName(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DichVuFindByName(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BooleanApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DichVu/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DichVuPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DichVuPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DichVuPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DichVu/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DichVuSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DichVuSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DichVuSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DichvuEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DichVu/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DichVuSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DichVuSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DichVuSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuInsert(body: DichvuEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DichVu/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DichVuInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DichVuInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DichVuInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuUpdate(body: DichvuEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DichVu/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DichVuUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DichVuUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DichVuUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DichVuDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DichVu/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DichVuDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DichVuDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DichVuDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmcongtyGetOneDmcongtyCus(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Dmcongty/GetOneDmcongtyCus/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmcongtyGetOneDmcongtyCus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmcongtyGetOneDmcongtyCus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmcongtyGetOneDmcongtyCus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDmcongtyApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param id (optional) \r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmcongtyCheckMaSoThue(id: number | undefined, body: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Dmcongty/CheckMaSoThue?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmcongtyCheckMaSoThue(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmcongtyCheckMaSoThue(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmcongtyCheckMaSoThue(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param ten (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmcongtySelectByLikeTen(ten: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Dmcongty/SelectByLikeTen?\";\r\n if (ten === null)\r\n throw new Error(\"The parameter 'ten' cannot be null.\");\r\n else if (ten !== undefined)\r\n url_ += \"ten=\" + encodeURIComponent(\"\" + ten) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmcongtySelectByLikeTen(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmcongtySelectByLikeTen(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmcongtySelectByLikeTen(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDmcongty2ListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmcongtyPostPagingDmcongty(body: PageDmcongty | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Dmcongty/PostPagingDmcongty\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmcongtyPostPagingDmcongty(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmcongtyPostPagingDmcongty(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmcongtyPostPagingDmcongty(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDmcongtyIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmcongtyPostInsertDmcongty(body: ItemDmcongty | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Dmcongty/PostInsertDmcongty\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmcongtyPostInsertDmcongty(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmcongtyPostInsertDmcongty(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmcongtyPostInsertDmcongty(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmcongtyPostUpdateDmcongty(body: ItemDmcongty | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Dmcongty/PostUpdateDmcongty\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmcongtyPostUpdateDmcongty(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmcongtyPostUpdateDmcongty(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmcongtyPostUpdateDmcongty(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmcongtyPostDeleteDmcongty(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Dmcongty/PostDeleteDmcongty/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmcongtyPostDeleteDmcongty(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmcongtyPostDeleteDmcongty(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmcongtyPostDeleteDmcongty(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmcongtyGetOneDmcongty(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Dmcongty/GetOneDmcongty/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmcongtyGetOneDmcongty(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmcongtyGetOneDmcongty(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmcongtyGetOneDmcongty(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDmcongtyApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmcongtyGetAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Dmcongty/GetAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmcongtyGetAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmcongtyGetAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmcongtyGetAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDmcongtyListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmdantocPostPagingDmdantoc(body: PageDmdantoc | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Dmdantoc/PostPagingDmdantoc\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmdantocPostPagingDmdantoc(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmdantocPostPagingDmdantoc(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmdantocPostPagingDmdantoc(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDmdantocIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmdantocPostInsertDmdantoc(body: ItemDmdantoc | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Dmdantoc/PostInsertDmdantoc\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmdantocPostInsertDmdantoc(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmdantocPostInsertDmdantoc(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmdantocPostInsertDmdantoc(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmdantocPostUpdateDmdantoc(body: ItemDmdantoc | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Dmdantoc/PostUpdateDmdantoc\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmdantocPostUpdateDmdantoc(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmdantocPostUpdateDmdantoc(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmdantocPostUpdateDmdantoc(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmdantocPostDeleteDmdantoc(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Dmdantoc/PostDeleteDmdantoc/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmdantocPostDeleteDmdantoc(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmdantocPostDeleteDmdantoc(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmdantocPostDeleteDmdantoc(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmdantocGetOneDmdantoc(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Dmdantoc/GetOneDmdantoc/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmdantocGetOneDmdantoc(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmdantocGetOneDmdantoc(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmdantocGetOneDmdantoc(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDmdantocApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmDanTocSyncData(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmDanToc/SyncData\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmDanTocSyncData(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmDanTocSyncData(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmDanTocSyncData(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDanTocUpdate(body: DmdantocEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmDanToc/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmDanTocUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmDanTocUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmDanTocUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmDanTocDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmDanToc/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmDanTocDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmDanTocDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmDanTocDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDanTocPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmDanToc/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmDanTocPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmDanTocPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmDanTocPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmDanTocSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmDanToc/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmDanTocSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmDanTocSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmDanTocSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmdantocEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmDanTocSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmDanToc/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmDanTocSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmDanTocSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmDanTocSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDanTocInsert(body: DmdantocEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmDanToc/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmDanTocInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmDanTocInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmDanTocInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanPostPagingDiabanCus(body: PageDiaban | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmDiaBan/PostPagingDiabanCus\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmDiaBanPostPagingDiabanCus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmDiaBanPostPagingDiabanCus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmDiaBanPostPagingDiabanCus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDiabanIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param macha (optional) \r\n * @param level (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanSellectAllCus(macha: string | undefined, level: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmDiaBan/SellectAllCus?\";\r\n if (macha === null)\r\n throw new Error(\"The parameter 'macha' cannot be null.\");\r\n else if (macha !== undefined)\r\n url_ += \"macha=\" + encodeURIComponent(\"\" + macha) + \"&\";\r\n if (level === null)\r\n throw new Error(\"The parameter 'level' cannot be null.\");\r\n else if (level !== undefined)\r\n url_ += \"level=\" + encodeURIComponent(\"\" + level) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmDiaBanSellectAllCus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmDiaBanSellectAllCus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmDiaBanSellectAllCus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DiabanEntityListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param macha (optional) \r\n * @param level (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanSellectAllCusV2(macha: string | undefined, level: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmDiaBan/SellectAllCusV2?\";\r\n if (macha === null)\r\n throw new Error(\"The parameter 'macha' cannot be null.\");\r\n else if (macha !== undefined)\r\n url_ += \"macha=\" + encodeURIComponent(\"\" + macha) + \"&\";\r\n if (level === null)\r\n throw new Error(\"The parameter 'level' cannot be null.\");\r\n else if (level !== undefined)\r\n url_ += \"level=\" + encodeURIComponent(\"\" + level) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmDiaBanSellectAllCusV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmDiaBanSellectAllCusV2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmDiaBanSellectAllCusV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DiaBanInfoModelIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param madiabankey (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanSellectlikemadiabankey(madiabankey: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmDiaBan/Sellectlikemadiabankey?\";\r\n if (madiabankey === null)\r\n throw new Error(\"The parameter 'madiabankey' cannot be null.\");\r\n else if (madiabankey !== undefined)\r\n url_ += \"madiabankey=\" + encodeURIComponent(\"\" + madiabankey) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmDiaBanSellectlikemadiabankey(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmDiaBanSellectlikemadiabankey(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmDiaBanSellectlikemadiabankey(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DiaBanInfoModelIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param maDiaBanKey (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanSelectTenDiaBan(maDiaBanKey: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmDiaBan/SelectTenDiaBan?\";\r\n if (maDiaBanKey === null)\r\n throw new Error(\"The parameter 'maDiaBanKey' cannot be null.\");\r\n else if (maDiaBanKey !== undefined)\r\n url_ += \"maDiaBanKey=\" + encodeURIComponent(\"\" + maDiaBanKey) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmDiaBanSelectTenDiaBan(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmDiaBanSelectTenDiaBan(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmDiaBanSelectTenDiaBan(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = StringListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param tenDiaBan (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanSelectMaDiaBan(tenDiaBan: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmDiaBan/SelectMaDiaBan?\";\r\n if (tenDiaBan === null)\r\n throw new Error(\"The parameter 'tenDiaBan' cannot be null.\");\r\n else if (tenDiaBan !== undefined)\r\n url_ += \"tenDiaBan=\" + encodeURIComponent(\"\" + tenDiaBan) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmDiaBanSelectMaDiaBan(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmDiaBanSelectMaDiaBan(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmDiaBanSelectMaDiaBan(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmDiaBan/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmDiaBanSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmDiaBanSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmDiaBanSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Level (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanGetByLevelDiabanCus(_Level: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmDiaBan/GetByLevelDiabanCus?\";\r\n if (_Level === null)\r\n throw new Error(\"The parameter '_Level' cannot be null.\");\r\n else if (_Level !== undefined)\r\n url_ += \"_Level=\" + encodeURIComponent(\"\" + _Level) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmDiaBanGetByLevelDiabanCus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmDiaBanGetByLevelDiabanCus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmDiaBanGetByLevelDiabanCus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDiabanListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Level (optional) \r\n * @param maCha (optional) \r\n * @param asc (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanGetByLevelAndMaDiabanCus(_Level: number | undefined, maCha: string | undefined, asc: boolean | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmDiaBan/GetByLevelAndMaDiabanCus?\";\r\n if (_Level === null)\r\n throw new Error(\"The parameter '_Level' cannot be null.\");\r\n else if (_Level !== undefined)\r\n url_ += \"_Level=\" + encodeURIComponent(\"\" + _Level) + \"&\";\r\n if (maCha === null)\r\n throw new Error(\"The parameter 'maCha' cannot be null.\");\r\n else if (maCha !== undefined)\r\n url_ += \"maCha=\" + encodeURIComponent(\"\" + maCha) + \"&\";\r\n if (asc === null)\r\n throw new Error(\"The parameter 'asc' cannot be null.\");\r\n else if (asc !== undefined)\r\n url_ += \"asc=\" + encodeURIComponent(\"\" + asc) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmDiaBanGetByLevelAndMaDiabanCus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmDiaBanGetByLevelAndMaDiabanCus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmDiaBanGetByLevelAndMaDiabanCus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDiabanListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Ma (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanGetByMaDiabanCus(_Ma: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmDiaBan/GetByMaDiabanCus?\";\r\n if (_Ma === null)\r\n throw new Error(\"The parameter '_Ma' cannot be null.\");\r\n else if (_Ma !== undefined)\r\n url_ += \"_Ma=\" + encodeURIComponent(\"\" + _Ma) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmDiaBanGetByMaDiabanCus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmDiaBanGetByMaDiabanCus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmDiaBanGetByMaDiabanCus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDiabanListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanGetOneDiabanCus(_Makey: string): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmDiaBan/GetOneDiabanCus/{_Makey}\";\r\n if (_Makey === undefined || _Makey === null)\r\n throw new Error(\"The parameter '_Makey' must be defined.\");\r\n url_ = url_.replace(\"{_Makey}\", encodeURIComponent(\"\" + _Makey));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmDiaBanGetOneDiabanCus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmDiaBanGetOneDiabanCus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmDiaBanGetOneDiabanCus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDiabanApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _MaCha (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanGetByMaChaDiabanCus(_MaCha: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmDiaBan/GetByMaChaDiabanCus?\";\r\n if (_MaCha === null)\r\n throw new Error(\"The parameter '_MaCha' cannot be null.\");\r\n else if (_MaCha !== undefined)\r\n url_ += \"_MaCha=\" + encodeURIComponent(\"\" + _MaCha) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmDiaBanGetByMaChaDiabanCus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmDiaBanGetByMaChaDiabanCus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmDiaBanGetByMaChaDiabanCus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDiabanListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param maKeyCu (optional) \r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanPostUpdateDiabanCus(maKeyCu: string | undefined, body: ItemDiaban | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmDiaBan/PostUpdateDiabanCus?\";\r\n if (maKeyCu === null)\r\n throw new Error(\"The parameter 'maKeyCu' cannot be null.\");\r\n else if (maKeyCu !== undefined)\r\n url_ += \"maKeyCu=\" + encodeURIComponent(\"\" + maKeyCu) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmDiaBanPostUpdateDiabanCus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmDiaBanPostUpdateDiabanCus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmDiaBanPostUpdateDiabanCus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanPostPagingDiaban(body: PageDiaban | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmDiaBan/PostPagingDiaban\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmDiaBanPostPagingDiaban(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmDiaBanPostPagingDiaban(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmDiaBanPostPagingDiaban(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDiabanIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanPostInsertDiaban(body: ItemDiaban | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmDiaBan/PostInsertDiaban\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmDiaBanPostInsertDiaban(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmDiaBanPostInsertDiaban(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmDiaBanPostInsertDiaban(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanPostUpdateDiaban(body: ItemDiaban | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmDiaBan/PostUpdateDiaban\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmDiaBanPostUpdateDiaban(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmDiaBanPostUpdateDiaban(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmDiaBanPostUpdateDiaban(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanPostDeleteDiaban(_Makey: string): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmDiaBan/PostDeleteDiaban/{_Makey}\";\r\n if (_Makey === undefined || _Makey === null)\r\n throw new Error(\"The parameter '_Makey' must be defined.\");\r\n url_ = url_.replace(\"{_Makey}\", encodeURIComponent(\"\" + _Makey));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmDiaBanPostDeleteDiaban(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmDiaBanPostDeleteDiaban(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmDiaBanPostDeleteDiaban(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanGetOneDiaban(_Makey: string): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmDiaBan/GetOneDiaban/{_Makey}\";\r\n if (_Makey === undefined || _Makey === null)\r\n throw new Error(\"The parameter '_Makey' must be defined.\");\r\n url_ = url_.replace(\"{_Makey}\", encodeURIComponent(\"\" + _Makey));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmDiaBanGetOneDiaban(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmDiaBanGetOneDiaban(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmDiaBanGetOneDiaban(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDiabanApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Ma (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanGetByMaDiaban(_Ma: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmDiaBan/GetByMaDiaban?\";\r\n if (_Ma === null)\r\n throw new Error(\"The parameter '_Ma' cannot be null.\");\r\n else if (_Ma !== undefined)\r\n url_ += \"_Ma=\" + encodeURIComponent(\"\" + _Ma) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmDiaBanGetByMaDiaban(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmDiaBanGetByMaDiaban(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmDiaBanGetByMaDiaban(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDiabanListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Level (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanGetByLevelDiaban(_Level: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmDiaBan/GetByLevelDiaban?\";\r\n if (_Level === null)\r\n throw new Error(\"The parameter '_Level' cannot be null.\");\r\n else if (_Level !== undefined)\r\n url_ += \"_Level=\" + encodeURIComponent(\"\" + _Level) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmDiaBanGetByLevelDiaban(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmDiaBanGetByLevelDiaban(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmDiaBanGetByLevelDiaban(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDiabanListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _MaCha (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmDiaBanGetByMaChaDiaban(_MaCha: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmDiaBan/GetByMaChaDiaban?\";\r\n if (_MaCha === null)\r\n throw new Error(\"The parameter '_MaCha' cannot be null.\");\r\n else if (_MaCha !== undefined)\r\n url_ += \"_MaCha=\" + encodeURIComponent(\"\" + _MaCha) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmDiaBanGetByMaChaDiaban(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmDiaBanGetByMaChaDiaban(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmDiaBanGetByMaChaDiaban(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDiabanListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param maDinhDanh (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmTuDienSelectByType(maDinhDanh: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmTuDien/SelectByType?\";\r\n if (maDinhDanh === null)\r\n throw new Error(\"The parameter 'maDinhDanh' cannot be null.\");\r\n else if (maDinhDanh !== undefined)\r\n url_ += \"maDinhDanh=\" + encodeURIComponent(\"\" + maDinhDanh) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmTuDienSelectByType(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmTuDienSelectByType(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmTuDienSelectByType(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmtudienModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param maDinhDanh (optional) \r\n * @param idNhaTro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmTuDienSelectByTypeV2(maDinhDanh: string | undefined, idNhaTro: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmTuDien/SelectByTypeV2?\";\r\n if (maDinhDanh === null)\r\n throw new Error(\"The parameter 'maDinhDanh' cannot be null.\");\r\n else if (maDinhDanh !== undefined)\r\n url_ += \"maDinhDanh=\" + encodeURIComponent(\"\" + maDinhDanh) + \"&\";\r\n if (idNhaTro === null)\r\n throw new Error(\"The parameter 'idNhaTro' cannot be null.\");\r\n else if (idNhaTro !== undefined)\r\n url_ += \"idNhaTro=\" + encodeURIComponent(\"\" + idNhaTro) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmTuDienSelectByTypeV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmTuDienSelectByTypeV2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmTuDienSelectByTypeV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmtudienModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param maDinhDanh (optional) \r\n * @param idDV (optional) \r\n * @param idNhaTro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmTuDienSelectByTypeV3(maDinhDanh: string | undefined, idDV: number | undefined, idNhaTro: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmTuDien/SelectByTypeV3?\";\r\n if (maDinhDanh === null)\r\n throw new Error(\"The parameter 'maDinhDanh' cannot be null.\");\r\n else if (maDinhDanh !== undefined)\r\n url_ += \"maDinhDanh=\" + encodeURIComponent(\"\" + maDinhDanh) + \"&\";\r\n if (idDV === null)\r\n throw new Error(\"The parameter 'idDV' cannot be null.\");\r\n else if (idDV !== undefined)\r\n url_ += \"idDV=\" + encodeURIComponent(\"\" + idDV) + \"&\";\r\n if (idNhaTro === null)\r\n throw new Error(\"The parameter 'idNhaTro' cannot be null.\");\r\n else if (idNhaTro !== undefined)\r\n url_ += \"idNhaTro=\" + encodeURIComponent(\"\" + idNhaTro) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmTuDienSelectByTypeV3(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmTuDienSelectByTypeV3(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmTuDienSelectByTypeV3(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmtudienModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param maDinhDanh (optional) \r\n * @param idNhaTro (optional) \r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmTuDienInsertCheckTDExitsV1(maDinhDanh: string | undefined, idNhaTro: number | undefined, body: InserttudienModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmTuDien/InsertCheckTDExitsV1?\";\r\n if (maDinhDanh === null)\r\n throw new Error(\"The parameter 'maDinhDanh' cannot be null.\");\r\n else if (maDinhDanh !== undefined)\r\n url_ += \"maDinhDanh=\" + encodeURIComponent(\"\" + maDinhDanh) + \"&\";\r\n if (idNhaTro === null)\r\n throw new Error(\"The parameter 'idNhaTro' cannot be null.\");\r\n else if (idNhaTro !== undefined)\r\n url_ += \"idNhaTro=\" + encodeURIComponent(\"\" + idNhaTro) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmTuDienInsertCheckTDExitsV1(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmTuDienInsertCheckTDExitsV1(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmTuDienInsertCheckTDExitsV1(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmTuDienPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmTuDien/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmTuDienPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmTuDienPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmTuDienPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmTuDienSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmTuDien/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmTuDienSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmTuDienSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmTuDienSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmtudienEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmTuDienSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmTuDien/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmTuDienSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmTuDienSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmTuDienSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmTuDienInsert(body: DmtudienEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmTuDien/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmTuDienInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmTuDienInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmTuDienInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DmTuDienUpdate(body: DmtudienEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmTuDien/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmTuDienUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmTuDienUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmTuDienUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DmTuDienDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DmTuDien/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DmTuDienDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DmTuDienDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DmTuDienDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaGetDoiTuongTruyNa(body: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DoiTuongTruyNa/GetDoiTuongTruyNa\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaGetDoiTuongTruyNa(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaGetDoiTuongTruyNa(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DoiTuongTruyNaGetDoiTuongTruyNa(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DoituongTruynaEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaInsertListDoiTuongTruyNa(body: DoituongTruynaEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DoiTuongTruyNa/InsertListDoiTuongTruyNa\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaInsertListDoiTuongTruyNa(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaInsertListDoiTuongTruyNa(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DoiTuongTruyNaInsertListDoiTuongTruyNa(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaInsertDoiTuongTruyNa(body: DoituongTruynaEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DoiTuongTruyNa/InsertDoiTuongTruyNa\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaInsertDoiTuongTruyNa(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaInsertDoiTuongTruyNa(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DoiTuongTruyNaInsertDoiTuongTruyNa(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param id (optional) \r\n * @param status (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaChangeStatusDoiTuongTruyNa(id: number | undefined, status: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DoiTuongTruyNa/ChangeStatusDoiTuongTruyNa?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n if (status === null)\r\n throw new Error(\"The parameter 'status' cannot be null.\");\r\n else if (status !== undefined)\r\n url_ += \"status=\" + encodeURIComponent(\"\" + status) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaChangeStatusDoiTuongTruyNa(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaChangeStatusDoiTuongTruyNa(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DoiTuongTruyNaChangeStatusDoiTuongTruyNa(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaLstdoituongtheodoi(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DoiTuongTruyNa/Lstdoituongtheodoi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaLstdoituongtheodoi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaLstdoituongtheodoi(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DoiTuongTruyNaLstdoituongtheodoi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemDoiTuongListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param listLoai (optional) \r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaPagingDoiTuongMobile(listLoai: number[] | undefined, body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DoiTuongTruyNa/PagingDoiTuongMobile?\";\r\n if (listLoai === null)\r\n throw new Error(\"The parameter 'listLoai' cannot be null.\");\r\n else if (listLoai !== undefined)\r\n listLoai && listLoai.forEach(item => { url_ += \"listLoai=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaPagingDoiTuongMobile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaPagingDoiTuongMobile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DoiTuongTruyNaPagingDoiTuongMobile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaPagingDoiTuongWeb(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DoiTuongTruyNa/PagingDoiTuongWeb\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaPagingDoiTuongWeb(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaPagingDoiTuongWeb(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DoiTuongTruyNaPagingDoiTuongWeb(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaSerarchDoiTuongMobile(body: SearchDoiTuongModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DoiTuongTruyNa/SerarchDoiTuongMobile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaSerarchDoiTuongMobile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaSerarchDoiTuongMobile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DoiTuongTruyNaSerarchDoiTuongMobile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaDownloadTemplateFile(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DoiTuongTruyNa/DownloadTemplateFile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaDownloadTemplateFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaDownloadTemplateFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DoiTuongTruyNaDownloadTemplateFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaSelectOneWithFile(type: number, id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DoiTuongTruyNa/SelectOneWithFile/{type}/{id}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaSelectOneWithFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaSelectOneWithFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DoiTuongTruyNaSelectOneWithFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = EntityWithFileModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaInsertWithFile(body: DoituongTruynaEntityProcessInsertFileModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DoiTuongTruyNa/InsertWithFile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaInsertWithFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaInsertWithFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DoiTuongTruyNaInsertWithFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaUpdateWithFile(body: DoituongTruynaEntityProcessUpdateFileModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DoiTuongTruyNa/UpdateWithFile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaUpdateWithFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaUpdateWithFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DoiTuongTruyNaUpdateWithFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaDeleteWithFile(id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DoiTuongTruyNa/DeleteWithFile/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaDeleteWithFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaDeleteWithFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DoiTuongTruyNaDeleteWithFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DoiTuongTruyNa/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DoiTuongTruyNaPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DoiTuongTruyNa/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DoiTuongTruyNaSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DoituongTruynaEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DoiTuongTruyNa/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DoiTuongTruyNaSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaInsert(body: DoituongTruynaEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DoiTuongTruyNa/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DoiTuongTruyNaInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaUpdate(body: DoituongTruynaEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DoiTuongTruyNa/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DoiTuongTruyNaUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DoiTuongTruyNaDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DoiTuongTruyNa/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DoiTuongTruyNaDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DoiTuongTruyNaDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DonViInsert(body: SysunitEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DonVi/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DonViInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DonViInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DonViInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DonViUpdate(body: SysunitEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DonVi/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DonViUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DonViUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DonViUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DonViSelectOneWithUnitCode(unitCode: string): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DonVi/SelectOneWithUnitCode/{unitCode}\";\r\n if (unitCode === undefined || unitCode === null)\r\n throw new Error(\"The parameter 'unitCode' must be defined.\");\r\n url_ = url_.replace(\"{unitCode}\", encodeURIComponent(\"\" + unitCode));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DonViSelectOneWithUnitCode(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DonViSelectOneWithUnitCode(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DonViSelectOneWithUnitCode(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SysunitEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DonViSelectOneByMaXa(maXa: string): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DonVi/SelectOneByMaXa/{maXa}\";\r\n if (maXa === undefined || maXa === null)\r\n throw new Error(\"The parameter 'maXa' must be defined.\");\r\n url_ = url_.replace(\"{maXa}\", encodeURIComponent(\"\" + maXa));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DonViSelectOneByMaXa(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DonViSelectOneByMaXa(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DonViSelectOneByMaXa(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SysunitEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DonViSelectOneByUserSdtV2(sdt: string): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DonVi/SelectOneByUserSdtV2/{sdt}\";\r\n if (sdt === undefined || sdt === null)\r\n throw new Error(\"The parameter 'sdt' must be defined.\");\r\n url_ = url_.replace(\"{sdt}\", encodeURIComponent(\"\" + sdt));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DonViSelectOneByUserSdtV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DonViSelectOneByUserSdtV2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DonViSelectOneByUserSdtV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DonViV2ModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DonViChangeStatus(unitCode: string): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DonVi/ChangeStatus/{unitCode}\";\r\n if (unitCode === undefined || unitCode === null)\r\n throw new Error(\"The parameter 'unitCode' must be defined.\");\r\n url_ = url_.replace(\"{unitCode}\", encodeURIComponent(\"\" + unitCode));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DonViChangeStatus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DonViChangeStatus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DonViChangeStatus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DonViDeleteUnit(unitCode: string): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DonVi/DeleteUnit/{unitCode}\";\r\n if (unitCode === undefined || unitCode === null)\r\n throw new Error(\"The parameter 'unitCode' must be defined.\");\r\n url_ = url_.replace(\"{unitCode}\", encodeURIComponent(\"\" + unitCode));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DonViDeleteUnit(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DonViDeleteUnit(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DonViDeleteUnit(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DonViDeleteUnitCus(body: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DonVi/DeleteUnitCus\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DonViDeleteUnitCus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DonViDeleteUnitCus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DonViDeleteUnitCus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DonViGetAllCongAn(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DonVi/GetAllCongAn\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DonViGetAllCongAn(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DonViGetAllCongAn(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DonViGetAllCongAn(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CongAnListListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DonViPagingDonViCustom(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DonVi/PagingDonViCustom\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DonViPagingDonViCustom(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DonViPagingDonViCustom(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DonViPagingDonViCustom(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DonViModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1DonViPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DonVi/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DonViPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DonViPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DonViPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DonViSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DonVi/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DonViSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DonViSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DonViSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SysunitEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DonViSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DonVi/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DonViSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DonViSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DonViSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1DonViDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/DonVi/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1DonViDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1DonViDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1DonViDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonShare(body: ShareModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HoaDon/Share\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HoaDonShare(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HoaDonShare(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HoaDonShare(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonDeleteListRecord(body: number[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HoaDon/DeleteListRecord\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HoaDonDeleteListRecord(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HoaDonDeleteListRecord(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HoaDonDeleteListRecord(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonPagingCus(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HoaDon/PagingCus\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HoaDonPagingCus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HoaDonPagingCus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HoaDonPagingCus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonPagingCusV2(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HoaDon/PagingCusV2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HoaDonPagingCusV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HoaDonPagingCusV2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HoaDonPagingCusV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonTongTienHD(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HoaDon/TongTienHD\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HoaDonTongTienHD(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HoaDonTongTienHD(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HoaDonTongTienHD(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonPagingNtMobile(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HoaDon/PagingNtMobile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HoaDonPagingNtMobile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HoaDonPagingNtMobile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HoaDonPagingNtMobile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonInsertCus(body: HoaDonModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HoaDon/InsertCus\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HoaDonInsertCus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HoaDonInsertCus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HoaDonInsertCus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonInsertCusV2(body: HoaDonModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HoaDon/InsertCusV2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HoaDonInsertCusV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HoaDonInsertCusV2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HoaDonInsertCusV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param idPhong (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonThangThanhToanGanNhat(idPhong: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HoaDon/ThangThanhToanGanNhat?\";\r\n if (idPhong === null)\r\n throw new Error(\"The parameter 'idPhong' cannot be null.\");\r\n else if (idPhong !== undefined)\r\n url_ += \"idPhong=\" + encodeURIComponent(\"\" + idPhong) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HoaDonThangThanhToanGanNhat(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HoaDonThangThanhToanGanNhat(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HoaDonThangThanhToanGanNhat(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = StringApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param idHoaDon (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonSelectOnCus(idHoaDon: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HoaDon/SelectOnCus?\";\r\n if (idHoaDon === null)\r\n throw new Error(\"The parameter 'idHoaDon' cannot be null.\");\r\n else if (idHoaDon !== undefined)\r\n url_ += \"idHoaDon=\" + encodeURIComponent(\"\" + idHoaDon) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HoaDonSelectOnCus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HoaDonSelectOnCus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HoaDonSelectOnCus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ViewHoaDonModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param idn (optional) \r\n * @param idphong (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonGetThangCuoi(idn: string | undefined, idphong: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HoaDon/GetThangCuoi?\";\r\n if (idn === null)\r\n throw new Error(\"The parameter 'idn' cannot be null.\");\r\n else if (idn !== undefined)\r\n url_ += \"idn=\" + encodeURIComponent(\"\" + idn) + \"&\";\r\n if (idphong === null)\r\n throw new Error(\"The parameter 'idphong' cannot be null.\");\r\n else if (idphong !== undefined)\r\n url_ += \"idphong=\" + encodeURIComponent(\"\" + idphong) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HoaDonGetThangCuoi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HoaDonGetThangCuoi(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HoaDonGetThangCuoi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ThoiGianHoaDonApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param idHoaDon (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonSelectHDByIdMobile(idHoaDon: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HoaDon/SelectHDByIdMobile?\";\r\n if (idHoaDon === null)\r\n throw new Error(\"The parameter 'idHoaDon' cannot be null.\");\r\n else if (idHoaDon !== undefined)\r\n url_ += \"idHoaDon=\" + encodeURIComponent(\"\" + idHoaDon) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HoaDonSelectHDByIdMobile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HoaDonSelectHDByIdMobile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HoaDonSelectHDByIdMobile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ViewHoaDonDetailModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param idPhong (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonTinhGiaiDoanThanhToanMoi(idPhong: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HoaDon/TinhGiaiDoanThanhToanMoi?\";\r\n if (idPhong === null)\r\n throw new Error(\"The parameter 'idPhong' cannot be null.\");\r\n else if (idPhong !== undefined)\r\n url_ += \"idPhong=\" + encodeURIComponent(\"\" + idPhong) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HoaDonTinhGiaiDoanThanhToanMoi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HoaDonTinhGiaiDoanThanhToanMoi(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HoaDonTinhGiaiDoanThanhToanMoi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ThoiGianHoaDonApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param idHoaDon (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonXacNhanThanhToan(idHoaDon: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HoaDon/XacNhanThanhToan?\";\r\n if (idHoaDon === null)\r\n throw new Error(\"The parameter 'idHoaDon' cannot be null.\");\r\n else if (idHoaDon !== undefined)\r\n url_ += \"idHoaDon=\" + encodeURIComponent(\"\" + idHoaDon) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HoaDonXacNhanThanhToan(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HoaDonXacNhanThanhToan(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HoaDonXacNhanThanhToan(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonPagingChuaThanhToanChuaLapHoaDon(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HoaDon/PagingChuaThanhToanChuaLapHoaDon\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HoaDonPagingChuaThanhToanChuaLapHoaDon(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HoaDonPagingChuaThanhToanChuaLapHoaDon(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HoaDonPagingChuaThanhToanChuaLapHoaDon(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HoaDon/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HoaDonPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HoaDonPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HoaDonPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HoaDon/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HoaDonSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HoaDonSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HoaDonSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = HoadonEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HoaDon/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HoaDonSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HoaDonSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HoaDonSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonInsert(body: HoadonEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HoaDon/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HoaDonInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HoaDonInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HoaDonInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonUpdate(body: HoadonEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HoaDon/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HoaDonUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HoaDonUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HoaDonUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1HoaDonDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HoaDon/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HoaDonDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HoaDonDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HoaDonDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param userId (optional) \r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HomePagingDataClient(userId: number | undefined, body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Home/PagingDataClient?\";\r\n if (userId === null)\r\n throw new Error(\"The parameter 'userId' cannot be null.\");\r\n else if (userId !== undefined)\r\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HomePagingDataClient(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HomePagingDataClient(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HomePagingDataClient(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongShare(body: ShareModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HopDong/Share\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HopDongShare(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HopDongShare(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HopDongShare(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongDeleteListRecord(body: number[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HopDong/DeleteListRecord\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HopDongDeleteListRecord(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HopDongDeleteListRecord(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HopDongDeleteListRecord(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongPagingCus(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HopDong/PagingCus\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HopDongPagingCus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HopDongPagingCus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HopDongPagingCus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongPagingHDNtMobile(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HopDong/PagingHDNtMobile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HopDongPagingHDNtMobile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HopDongPagingHDNtMobile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HopDongPagingHDNtMobile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongPagingCusV2(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HopDong/PagingCusV2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HopDongPagingCusV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HopDongPagingCusV2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HopDongPagingCusV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongPagingMobile(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HopDong/PagingMobile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HopDongPagingMobile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HopDongPagingMobile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HopDongPagingMobile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ContractMobileModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongInsertCus(body: HopDongModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HopDong/InsertCus\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HopDongInsertCus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HopDongInsertCus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HopDongInsertCus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongInsertCusHD(body: HopDongModel2 | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HopDong/InsertCus_HD\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HopDongInsertCusHD(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HopDongInsertCusHD(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HopDongInsertCusHD(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongLoadHopDongNguoiThue(body: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HopDong/LoadHopDongNguoiThue\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HopDongLoadHopDongNguoiThue(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HopDongLoadHopDongNguoiThue(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HopDongLoadHopDongNguoiThue(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = HopDongNguoiThueModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongLoadHopDongDichVu(body: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HopDong/LoadHopDongDichVu\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HopDongLoadHopDongDichVu(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HopDongLoadHopDongDichVu(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HopDongLoadHopDongDichVu(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = HopDongDichVuModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongLoadHopDongDichVuV2(body: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HopDong/LoadHopDongDichVuV2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HopDongLoadHopDongDichVuV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HopDongLoadHopDongDichVuV2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HopDongLoadHopDongDichVuV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = HopDongDichVuModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongLoadHopDongDichVuV3(body: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HopDong/LoadHopDongDichVuV3\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HopDongLoadHopDongDichVuV3(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HopDongLoadHopDongDichVuV3(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HopDongLoadHopDongDichVuV3(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = HopDongDichVuModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param idPhong (optional) \r\n * @param idHopdong (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongSelectHopDongDichVu(idPhong: number | undefined, idHopdong: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HopDong/SelectHopDongDichVu?\";\r\n if (idPhong === null)\r\n throw new Error(\"The parameter 'idPhong' cannot be null.\");\r\n else if (idPhong !== undefined)\r\n url_ += \"idPhong=\" + encodeURIComponent(\"\" + idPhong) + \"&\";\r\n if (idHopdong === null)\r\n throw new Error(\"The parameter 'idHopdong' cannot be null.\");\r\n else if (idHopdong !== undefined)\r\n url_ += \"idHopdong=\" + encodeURIComponent(\"\" + idHopdong) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HopDongSelectHopDongDichVu(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HopDongSelectHopDongDichVu(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HopDongSelectHopDongDichVu(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = HopDongHoaDonModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongLoadNguoiThuePhong(body: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HopDong/LoadNguoiThuePhong\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HopDongLoadNguoiThuePhong(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HopDongLoadNguoiThuePhong(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HopDongLoadNguoiThuePhong(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = HopDongNguoiThueModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongLoadHopDongNguoiThueNew(body: ParamNguoiThue | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HopDong/LoadHopDongNguoiThueNew\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HopDongLoadHopDongNguoiThueNew(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HopDongLoadHopDongNguoiThueNew(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HopDongLoadHopDongNguoiThueNew(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = HopDongNguoiThueModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param roomId (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongSelectRoomByMotelIdMobile(motelId: number, roomId: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HopDong/SelectRoomByMotelIdMobile/{motelId}?\";\r\n if (motelId === undefined || motelId === null)\r\n throw new Error(\"The parameter 'motelId' must be defined.\");\r\n url_ = url_.replace(\"{motelId}\", encodeURIComponent(\"\" + motelId));\r\n if (roomId === null)\r\n throw new Error(\"The parameter 'roomId' cannot be null.\");\r\n else if (roomId !== undefined)\r\n url_ += \"roomId=\" + encodeURIComponent(\"\" + roomId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HopDongSelectRoomByMotelIdMobile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HopDongSelectRoomByMotelIdMobile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HopDongSelectRoomByMotelIdMobile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PhongtroEntityIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongInsertContractTenant(body: HopdongNguoithueEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HopDong/InsertContractTenant\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HopDongInsertContractTenant(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HopDongInsertContractTenant(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HopDongInsertContractTenant(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongInsertContractService(body: HopdongDichvuEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HopDong/InsertContractService\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HopDongInsertContractService(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HopDongInsertContractService(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HopDongInsertContractService(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HopDong/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HopDongSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HopDongSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HopDongSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = HopdongEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongLoadDichVuTrongHopDong(body: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HopDong/LoadDichVuTrongHopDong\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HopDongLoadDichVuTrongHopDong(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HopDongLoadDichVuTrongHopDong(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HopDongLoadDichVuTrongHopDong(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Int32NullableListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HopDong/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HopDongPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HopDongPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HopDongPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HopDong/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HopDongSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HopDongSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HopDongSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongInsert(body: HopdongEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HopDong/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HopDongInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HopDongInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HopDongInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongUpdate(body: HopdongEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HopDong/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HopDongUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HopDongUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HopDongUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1HopDongDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/HopDong/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HopDongDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HopDongDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HopDongDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param loai (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HuongdanGetHuongDan(loai: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Huongdan/GetHuongDan?\";\r\n if (loai === null)\r\n throw new Error(\"The parameter 'loai' cannot be null.\");\r\n else if (loai !== undefined)\r\n url_ += \"loai=\" + encodeURIComponent(\"\" + loai) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HuongdanGetHuongDan(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HuongdanGetHuongDan(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HuongdanGetHuongDan(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1HuongdanGetHuongDanAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Huongdan/GetHuongDanAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HuongdanGetHuongDanAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HuongdanGetHuongDanAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HuongdanGetHuongDanAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1HuongdanGetFormHuongDan(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Huongdan/GetFormHuongDan\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HuongdanGetFormHuongDan(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HuongdanGetFormHuongDan(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HuongdanGetFormHuongDan(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HuongdanPostPagingHuongdan(body: PageHuongdan | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Huongdan/PostPagingHuongdan\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HuongdanPostPagingHuongdan(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HuongdanPostPagingHuongdan(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HuongdanPostPagingHuongdan(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemHuongdanIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HuongdanPostInsertHuongdan(body: ItemHuongdan | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Huongdan/PostInsertHuongdan\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HuongdanPostInsertHuongdan(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HuongdanPostInsertHuongdan(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HuongdanPostInsertHuongdan(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HuongdanPostUpdateHuongdan(body: ItemHuongdan | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Huongdan/PostUpdateHuongdan\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HuongdanPostUpdateHuongdan(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HuongdanPostUpdateHuongdan(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HuongdanPostUpdateHuongdan(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1HuongdanPostDeleteHuongdan(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Huongdan/PostDeleteHuongdan/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HuongdanPostDeleteHuongdan(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HuongdanPostDeleteHuongdan(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HuongdanPostDeleteHuongdan(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1HuongdanGetOneHuongdan(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Huongdan/GetOneHuongdan/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HuongdanGetOneHuongdan(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HuongdanGetOneHuongdan(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HuongdanGetOneHuongdan(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemHuongdanApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Loai (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1HuongdanGetByLoaiHuongdan(_Loai: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Huongdan/GetByLoaiHuongdan?\";\r\n if (_Loai === null)\r\n throw new Error(\"The parameter '_Loai' cannot be null.\");\r\n else if (_Loai !== undefined)\r\n url_ += \"_Loai=\" + encodeURIComponent(\"\" + _Loai) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1HuongdanGetByLoaiHuongdan(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1HuongdanGetByLoaiHuongdan(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1HuongdanGetByLoaiHuongdan(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemHuongdanListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param phoneNumber (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1InforNguoiThueGetByPhone(phoneNumber: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/InforNguoiThue/GetByPhone?\";\r\n if (phoneNumber === null)\r\n throw new Error(\"The parameter 'phoneNumber' cannot be null.\");\r\n else if (phoneNumber !== undefined)\r\n url_ += \"phoneNumber=\" + encodeURIComponent(\"\" + phoneNumber) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1InforNguoiThueGetByPhone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1InforNguoiThueGetByPhone(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1InforNguoiThueGetByPhone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NguoithueEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param identification (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1InforNguoiThueGetByIdentification(identification: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/InforNguoiThue/GetByIdentification?\";\r\n if (identification === null)\r\n throw new Error(\"The parameter 'identification' cannot be null.\");\r\n else if (identification !== undefined)\r\n url_ += \"identification=\" + encodeURIComponent(\"\" + identification) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1InforNguoiThueGetByIdentification(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1InforNguoiThueGetByIdentification(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1InforNguoiThueGetByIdentification(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NguoithueEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1InforNguoiThuePaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/InforNguoiThue/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1InforNguoiThuePaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1InforNguoiThuePaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1InforNguoiThuePaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1InforNguoiThueSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/InforNguoiThue/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1InforNguoiThueSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1InforNguoiThueSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1InforNguoiThueSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NguoithueEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1InforNguoiThueSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/InforNguoiThue/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1InforNguoiThueSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1InforNguoiThueSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1InforNguoiThueSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1InforNguoiThueInsert(body: NguoithueEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/InforNguoiThue/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1InforNguoiThueInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1InforNguoiThueInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1InforNguoiThueInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1InforNguoiThueUpdate(body: NguoithueEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/InforNguoiThue/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1InforNguoiThueUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1InforNguoiThueUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1InforNguoiThueUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1InforNguoiThueDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/InforNguoiThue/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1InforNguoiThueDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1InforNguoiThueDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1InforNguoiThueDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param maHuyen (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1MapsThongKe(maHuyen: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Maps/ThongKe?\";\r\n if (maHuyen === null)\r\n throw new Error(\"The parameter 'maHuyen' cannot be null.\");\r\n else if (maHuyen !== undefined)\r\n url_ += \"maHuyen=\" + encodeURIComponent(\"\" + maHuyen) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1MapsThongKe(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1MapsThongKe(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1MapsThongKe(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ThongKeNhaTroOnMapsModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param maHuyen (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1MapsNhaTro(maHuyen: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Maps/NhaTro?\";\r\n if (maHuyen === null)\r\n throw new Error(\"The parameter 'maHuyen' cannot be null.\");\r\n else if (maHuyen !== undefined)\r\n url_ += \"maHuyen=\" + encodeURIComponent(\"\" + maHuyen) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1MapsNhaTro(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1MapsNhaTro(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1MapsNhaTro(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ViewItemModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoithueChutrodskhachthuepageM(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Nguoithue/chutrodskhachthuepageM\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoithueChutrodskhachthuepageM(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoithueChutrodskhachthuepageM(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoithueChutrodskhachthuepageM(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NguoiThueModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoithuePagingNguoiThueHomentM(body: SearchModelPagingMchutroqlnhaoHome | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Nguoithue/PagingNguoiThueHomentM\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoithuePagingNguoiThueHomentM(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoithuePagingNguoiThueHomentM(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoithuePagingNguoiThueHomentM(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ChutroqlnhatroModelitemIEnumerablePageModelView2ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param idnhatro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoithueGetNguoiThueByIdNhatroM(idnhatro: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Nguoithue/GetNguoiThueByIdNhatroM\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Idnhatro\": idnhatro !== undefined && idnhatro !== null ? \"\" + idnhatro : \"\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoithueGetNguoiThueByIdNhatroM(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoithueGetNguoiThueByIdNhatroM(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoithueGetNguoiThueByIdNhatroM(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NguoiThueModelV3ListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoithueInsertNguoithueNhatroNhathue(body: NguoiThueModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Nguoithue/Insert_nguoithue_nhatro_nhathue\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoithueInsertNguoithueNhatroNhathue(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoithueInsertNguoithueNhatroNhathue(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoithueInsertNguoithueNhatroNhathue(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoithueInsertNguoithueNhatroNhathueM(body: NguoiThueModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Nguoithue/Insert_nguoithue_nhatro_nhathue_m\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoithueInsertNguoithueNhatroNhathueM(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoithueInsertNguoithueNhatroNhathueM(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoithueInsertNguoithueNhatroNhathueM(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoithueLichSuThueM(body: NguoiThueLichSuSearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Nguoithue/Lich_su_thue_m\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoithueLichSuThueM(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoithueLichSuThueM(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoithueLichSuThueM(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NguoiThueLichSuModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoithuePostPagingNguoithue2(body: PageNguoithue2 | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Nguoithue/PostPagingNguoithue2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoithuePostPagingNguoithue2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoithuePostPagingNguoithue2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoithuePostPagingNguoithue2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNguoithue2IEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoithuePostInsertNguoithue2(body: ItemNguoithue2 | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Nguoithue/PostInsertNguoithue2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoithuePostInsertNguoithue2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoithuePostInsertNguoithue2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoithuePostInsertNguoithue2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoithuePostInsertChutroThemKhach(body: ItemNguoithue2 | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Nguoithue/PostInsertChutroThemKhach\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoithuePostInsertChutroThemKhach(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoithuePostInsertChutroThemKhach(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoithuePostInsertChutroThemKhach(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoithuePostUpdateNguoithue2(body: ItemNguoithue2 | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Nguoithue/PostUpdateNguoithue2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoithuePostUpdateNguoithue2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoithuePostUpdateNguoithue2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoithuePostUpdateNguoithue2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NguoithuePostDeleteNguoithue2(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Nguoithue/PostDeleteNguoithue2/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoithuePostDeleteNguoithue2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoithuePostDeleteNguoithue2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoithuePostDeleteNguoithue2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NguoithueGetOneNguoithue2(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Nguoithue/GetOneNguoithue2/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoithueGetOneNguoithue2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoithueGetOneNguoithue2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoithueGetOneNguoithue2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNguoithue2ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Cccd (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoithueGetByCccdNguoithue2(_Cccd: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Nguoithue/GetByCccdNguoithue2?\";\r\n if (_Cccd === null)\r\n throw new Error(\"The parameter '_Cccd' cannot be null.\");\r\n else if (_Cccd !== undefined)\r\n url_ += \"_Cccd=\" + encodeURIComponent(\"\" + _Cccd) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoithueGetByCccdNguoithue2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoithueGetByCccdNguoithue2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoithueGetByCccdNguoithue2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNguoithue2ListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Dienthoai (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoithueGetByDienthoaiNguoithue2(_Dienthoai: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Nguoithue/GetByDienthoaiNguoithue2?\";\r\n if (_Dienthoai === null)\r\n throw new Error(\"The parameter '_Dienthoai' cannot be null.\");\r\n else if (_Dienthoai !== undefined)\r\n url_ += \"_Dienthoai=\" + encodeURIComponent(\"\" + _Dienthoai) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoithueGetByDienthoaiNguoithue2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoithueGetByDienthoaiNguoithue2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoithueGetByDienthoaiNguoithue2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNguoithue2ListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueShare(body: ShareModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/Share\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueShare(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueShare(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueShare(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueShareWebTraphong(body: ShareModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/Share_web_traphong\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueShareWebTraphong(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueShareWebTraphong(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueShareWebTraphong(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueDeleteListRecord(body: number[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/DeleteListRecord\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueDeleteListRecord(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueDeleteListRecord(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueDeleteListRecord(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param cCCD (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueSelectkiemtraByIdCCCDV2(cCCD: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/SelectkiemtraByIdCCCDV2?\";\r\n if (cCCD === null)\r\n throw new Error(\"The parameter 'cCCD' cannot be null.\");\r\n else if (cCCD !== undefined)\r\n url_ += \"CCCD=\" + encodeURIComponent(\"\" + cCCD) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueSelectkiemtraByIdCCCDV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueSelectkiemtraByIdCCCDV2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueSelectkiemtraByIdCCCDV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NguoiThue_ktcccdApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param idNhaTro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueSelectByIdNhaTro(idNhaTro: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/SelectByIdNhaTro?\";\r\n if (idNhaTro === null)\r\n throw new Error(\"The parameter 'idNhaTro' cannot be null.\");\r\n else if (idNhaTro !== undefined)\r\n url_ += \"IdNhaTro=\" + encodeURIComponent(\"\" + idNhaTro) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueSelectByIdNhaTro(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueSelectByIdNhaTro(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueSelectByIdNhaTro(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NguoithueEntityListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param idNhaTro (optional) \r\n * @param idChuTro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueSelectByIdChuTro(idNhaTro: number | undefined, idChuTro: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/SelectByIdChuTro?\";\r\n if (idNhaTro === null)\r\n throw new Error(\"The parameter 'idNhaTro' cannot be null.\");\r\n else if (idNhaTro !== undefined)\r\n url_ += \"IdNhaTro=\" + encodeURIComponent(\"\" + idNhaTro) + \"&\";\r\n if (idChuTro === null)\r\n throw new Error(\"The parameter 'idChuTro' cannot be null.\");\r\n else if (idChuTro !== undefined)\r\n url_ += \"IdChuTro=\" + encodeURIComponent(\"\" + idChuTro) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueSelectByIdChuTro(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueSelectByIdChuTro(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueSelectByIdChuTro(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NguoithueEntityListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThuePagingCus(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/PagingCus\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThuePagingCus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThuePagingCus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThuePagingCus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueLichSuNguoiThueMobile(body: NguoiThueLichSuSearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/LichSuNguoiThueMobile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueLichSuNguoiThueMobile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueLichSuNguoiThueMobile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueLichSuNguoiThueMobile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NguoiThueLichSuModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueLichSuNguoiThueMobileV2(body: NguoiThueLichSuSearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/LichSuNguoiThueMobileV2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueLichSuNguoiThueMobileV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueLichSuNguoiThueMobileV2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueLichSuNguoiThueMobileV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NguoiThueLichSuModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueGetDiaChi(body: NguoiThueLichSuSearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/GetDiaChi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueGetDiaChi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueGetDiaChi(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueGetDiaChi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DiaChiModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueLichSuThanhToan(body: LichSuThanhToanSearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/LichSuThanhToan\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueLichSuThanhToan(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueLichSuThanhToan(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueLichSuThanhToan(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LichSuThanhToanModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueInsertCus(body: NguoiThueModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/InsertCus\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueInsertCus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueInsertCus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueInsertCus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueInsertCusNotPhongid(body: NguoiThueModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/InsertCus_not_phongid\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueInsertCusNotPhongid(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueInsertCusNotPhongid(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueInsertCusNotPhongid(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueInsertCusV2(body: NguoiThueModelV2 | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/InsertCusV2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueInsertCusV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueInsertCusV2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueInsertCusV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueUpdateCus(body: NguoiThueModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/UpdateCus\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueUpdateCus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueUpdateCus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueUpdateCus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueUpdateAvatar(body: Avatar | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/UpdateAvatar\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueUpdateAvatar(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueUpdateAvatar(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueUpdateAvatar(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueUpdateCusHopDong(body: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/UpdateCus_hopDong\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueUpdateCusHopDong(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueUpdateCusHopDong(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueUpdateCusHopDong(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueUpdateCusNguoithuePhong(body: NguoiThue_phong_Model | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/UpdateCus_nguoithue_phong\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueUpdateCusNguoithuePhong(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueUpdateCusNguoithuePhong(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueUpdateCusNguoithuePhong(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueUpdateCusNguoithuePhongHopdong(body: NguoiThue_phong_Model | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/UpdateCus_nguoithue_phong_hopdong\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueUpdateCusNguoithuePhongHopdong(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueUpdateCusNguoithuePhongHopdong(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueUpdateCusNguoithuePhongHopdong(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueInsertMobile(body: NguoiThueModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/InsertMobile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueInsertMobile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueInsertMobile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueInsertMobile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param isHopdong (optional) \r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueInsertWeb(isHopdong: boolean | undefined, body: NguoiThueModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/InsertWeb?\";\r\n if (isHopdong === null)\r\n throw new Error(\"The parameter 'isHopdong' cannot be null.\");\r\n else if (isHopdong !== undefined)\r\n url_ += \"isHopdong=\" + encodeURIComponent(\"\" + isHopdong) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueInsertWeb(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueInsertWeb(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueInsertWeb(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueInsertMobileV2(body: NguoiThueModelV2 | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/InsertMobileV2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueInsertMobileV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueInsertMobileV2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueInsertMobileV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueReRent(body: NguoithuePhongEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/ReRent\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueReRent(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueReRent(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueReRent(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThuePagingCustom(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/PagingCustom\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThuePagingCustom(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThuePagingCustom(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThuePagingCustom(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThuePagingWeb(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/PagingWeb\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThuePagingWeb(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThuePagingWeb(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThuePagingWeb(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThuePagingMobile(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/PagingMobile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThuePagingMobile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThuePagingMobile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThuePagingMobile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NguoiThueModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueCongantamtruMobile(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/CongantamtruMobile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueCongantamtruMobile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueCongantamtruMobile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueCongantamtruMobile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NguoiThueModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueRentingPagingMobile(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/RentingPagingMobile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueRentingPagingMobile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueRentingPagingMobile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueRentingPagingMobile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NguoiThueModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueSelectNguoiThueByQRCode(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/SelectNguoiThueByQRCode\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueSelectNguoiThueByQRCode(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueSelectNguoiThueByQRCode(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueSelectNguoiThueByQRCode(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueSwap(body: SwapRoomModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/Swap\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueSwap(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueSwap(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueSwap(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueCheckValidate(body: CheckNguoiThueModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/CheckValidate\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueCheckValidate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueCheckValidate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueCheckValidate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueCheckValidateV2(body: CheckNguoiThueModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/CheckValidateV2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueCheckValidateV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueCheckValidateV2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueCheckValidateV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NguoiThueModelV2IEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param sdt (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueCheckSdt(sdt: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/CheckSdt?\";\r\n if (sdt === null)\r\n throw new Error(\"The parameter 'sdt' cannot be null.\");\r\n else if (sdt !== undefined)\r\n url_ += \"sdt=\" + encodeURIComponent(\"\" + sdt) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueCheckSdt(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueCheckSdt(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueCheckSdt(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BooleanApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param sdt (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueCheckCccd(sdt: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/CheckCccd?\";\r\n if (sdt === null)\r\n throw new Error(\"The parameter 'sdt' cannot be null.\");\r\n else if (sdt !== undefined)\r\n url_ += \"sdt=\" + encodeURIComponent(\"\" + sdt) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueCheckCccd(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueCheckCccd(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueCheckCccd(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BooleanApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param idnhatro (optional) \r\n * @param idphong (optional) \r\n * @param idnguoithue (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueSelectDmdvbynhatrophongtroV2(idnhatro: number | undefined, idphong: number | undefined, idnguoithue: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/SelectDmdvbynhatrophongtroV2?\";\r\n if (idnhatro === null)\r\n throw new Error(\"The parameter 'idnhatro' cannot be null.\");\r\n else if (idnhatro !== undefined)\r\n url_ += \"idnhatro=\" + encodeURIComponent(\"\" + idnhatro) + \"&\";\r\n if (idphong === null)\r\n throw new Error(\"The parameter 'idphong' cannot be null.\");\r\n else if (idphong !== undefined)\r\n url_ += \"idphong=\" + encodeURIComponent(\"\" + idphong) + \"&\";\r\n if (idnguoithue === null)\r\n throw new Error(\"The parameter 'idnguoithue' cannot be null.\");\r\n else if (idnguoithue !== undefined)\r\n url_ += \"idnguoithue=\" + encodeURIComponent(\"\" + idnguoithue) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueSelectDmdvbynhatrophongtroV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueSelectDmdvbynhatrophongtroV2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueSelectDmdvbynhatrophongtroV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NguoiThue_Dichvu_ModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueGetDataApiBG(body: ResquestApiBG | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/GetDataApiBG\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueGetDataApiBG(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueGetDataApiBG(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueGetDataApiBG(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param motelId (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueSelectTeantByMotel(motelId: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/SelectTeantByMotel?\";\r\n if (motelId === null)\r\n throw new Error(\"The parameter 'motelId' cannot be null.\");\r\n else if (motelId !== undefined)\r\n url_ += \"motelId=\" + encodeURIComponent(\"\" + motelId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueSelectTeantByMotel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueSelectTeantByMotel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueSelectTeantByMotel(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NguoiThueModelIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param motelId (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueSelectTeantByMotelV2(motelId: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/SelectTeantByMotelV2?\";\r\n if (motelId === null)\r\n throw new Error(\"The parameter 'motelId' cannot be null.\");\r\n else if (motelId !== undefined)\r\n url_ += \"motelId=\" + encodeURIComponent(\"\" + motelId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueSelectTeantByMotelV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueSelectTeantByMotelV2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueSelectTeantByMotelV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NguoiThueModelIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param roomId (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueSelectTenantByRoom(roomId: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/SelectTenantByRoom?\";\r\n if (roomId === null)\r\n throw new Error(\"The parameter 'roomId' cannot be null.\");\r\n else if (roomId !== undefined)\r\n url_ += \"roomId=\" + encodeURIComponent(\"\" + roomId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueSelectTenantByRoom(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueSelectTenantByRoom(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueSelectTenantByRoom(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NguoiThueModelIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueSelectById(id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/SelectById/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueSelectById(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueSelectById(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueSelectById(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NguoiThueModelV3ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueDangKyTamTru(body: NguoiThueModel[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/DangKyTamTru\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueDangKyTamTru(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueDangKyTamTru(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueDangKyTamTru(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueHuyDangKyTamTru(body: NguoiThueModel[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/HuyDangKyTamTru\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueHuyDangKyTamTru(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueHuyDangKyTamTru(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueHuyDangKyTamTru(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueSelectChecked(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/SelectChecked\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueSelectChecked(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueSelectChecked(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueSelectChecked(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NguoiThueQrCodeModelIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueCheckTenantInRoom(roomId: number, tenantId: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/CheckTenantInRoom/{roomId}/{tenantId}\";\r\n if (roomId === undefined || roomId === null)\r\n throw new Error(\"The parameter 'roomId' must be defined.\");\r\n url_ = url_.replace(\"{roomId}\", encodeURIComponent(\"\" + roomId));\r\n if (tenantId === undefined || tenantId === null)\r\n throw new Error(\"The parameter 'tenantId' must be defined.\");\r\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueCheckTenantInRoom(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueCheckTenantInRoom(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueCheckTenantInRoom(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueIsTenatCheckined(tenantId: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/isTenatCheckined/{tenantId}\";\r\n if (tenantId === undefined || tenantId === null)\r\n throw new Error(\"The parameter 'tenantId' must be defined.\");\r\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueIsTenatCheckined(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueIsTenatCheckined(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueIsTenatCheckined(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BooleanApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueCheckout(roomId: number, tenantId: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/Checkout/{roomId}/{tenantId}\";\r\n if (roomId === undefined || roomId === null)\r\n throw new Error(\"The parameter 'roomId' must be defined.\");\r\n url_ = url_.replace(\"{roomId}\", encodeURIComponent(\"\" + roomId));\r\n if (tenantId === undefined || tenantId === null)\r\n throw new Error(\"The parameter 'tenantId' must be defined.\");\r\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueCheckout(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueCheckout(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueCheckout(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueCheckoutNhaM(idnha: number, tenantId: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/Checkout_nha_M/{idnha}/{tenantId}\";\r\n if (idnha === undefined || idnha === null)\r\n throw new Error(\"The parameter 'idnha' must be defined.\");\r\n url_ = url_.replace(\"{idnha}\", encodeURIComponent(\"\" + idnha));\r\n if (tenantId === undefined || tenantId === null)\r\n throw new Error(\"The parameter 'tenantId' must be defined.\");\r\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueCheckoutNhaM(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueCheckoutNhaM(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueCheckoutNhaM(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueCheckoutWithoutRoom(tenantId: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/CheckoutWithoutRoom/{tenantId}\";\r\n if (tenantId === undefined || tenantId === null)\r\n throw new Error(\"The parameter 'tenantId' must be defined.\");\r\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueCheckoutWithoutRoom(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueCheckoutWithoutRoom(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueCheckoutWithoutRoom(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param trangThai (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueKiemTraNguoiThueVaNhaTro(idNguoiThue: number, idNhatro: number, trangThai: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/KiemTraNguoiThueVaNhaTro/{idNguoiThue}/{idNhatro}?\";\r\n if (idNguoiThue === undefined || idNguoiThue === null)\r\n throw new Error(\"The parameter 'idNguoiThue' must be defined.\");\r\n url_ = url_.replace(\"{idNguoiThue}\", encodeURIComponent(\"\" + idNguoiThue));\r\n if (idNhatro === undefined || idNhatro === null)\r\n throw new Error(\"The parameter 'idNhatro' must be defined.\");\r\n url_ = url_.replace(\"{idNhatro}\", encodeURIComponent(\"\" + idNhatro));\r\n if (trangThai === null)\r\n throw new Error(\"The parameter 'trangThai' cannot be null.\");\r\n else if (trangThai !== undefined)\r\n url_ += \"trangThai=\" + encodeURIComponent(\"\" + trangThai) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueKiemTraNguoiThueVaNhaTro(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueKiemTraNguoiThueVaNhaTro(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueKiemTraNguoiThueVaNhaTro(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = KiemTraNguoiThueVaNhaTroModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param idNguoithue (optional) \r\n * @param idPhong (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueDeleteNguoiThuePhong(idNguoithue: number | undefined, idPhong: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/DeleteNguoiThuePhong?\";\r\n if (idNguoithue === null)\r\n throw new Error(\"The parameter 'idNguoithue' cannot be null.\");\r\n else if (idNguoithue !== undefined)\r\n url_ += \"idNguoithue=\" + encodeURIComponent(\"\" + idNguoithue) + \"&\";\r\n if (idPhong === null)\r\n throw new Error(\"The parameter 'idPhong' cannot be null.\");\r\n else if (idPhong !== undefined)\r\n url_ += \"idPhong=\" + encodeURIComponent(\"\" + idPhong) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueDeleteNguoiThuePhong(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueDeleteNguoiThuePhong(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueDeleteNguoiThuePhong(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueGetNguoiThueByPhoneOrPasstPort(ma: string, idPhong: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/GetNguoiThueByPhoneOrPasstPort/{ma}/{idphong}\";\r\n if (ma === undefined || ma === null)\r\n throw new Error(\"The parameter 'ma' must be defined.\");\r\n url_ = url_.replace(\"{ma}\", encodeURIComponent(\"\" + ma));\r\n if (idPhong === undefined || idPhong === null)\r\n throw new Error(\"The parameter 'idPhong' must be defined.\");\r\n url_ = url_.replace(\"{idPhong}\", encodeURIComponent(\"\" + idPhong));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueGetNguoiThueByPhoneOrPasstPort(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueGetNguoiThueByPhoneOrPasstPort(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueGetNguoiThueByPhoneOrPasstPort(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ShareModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueGetNguoiThueByPhoneOrPasstPortIdnhatro(ma: string, idnhatro: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/GetNguoiThueByPhoneOrPasstPortIdnhatro/{ma}/{Idnhatro}\";\r\n if (ma === undefined || ma === null)\r\n throw new Error(\"The parameter 'ma' must be defined.\");\r\n url_ = url_.replace(\"{ma}\", encodeURIComponent(\"\" + ma));\r\n if (idnhatro === undefined || idnhatro === null)\r\n throw new Error(\"The parameter 'idnhatro' must be defined.\");\r\n url_ = url_.replace(\"{Idnhatro}\", encodeURIComponent(\"\" + idnhatro));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueGetNguoiThueByPhoneOrPasstPortIdnhatro(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueGetNguoiThueByPhoneOrPasstPortIdnhatro(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueGetNguoiThueByPhoneOrPasstPortIdnhatro(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ShareModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param idZalo (optional) \r\n * @param msg (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueSendZaloMessage(idZalo: string | undefined, msg: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/SendZaloMessage?\";\r\n if (idZalo === null)\r\n throw new Error(\"The parameter 'idZalo' cannot be null.\");\r\n else if (idZalo !== undefined)\r\n url_ += \"idZalo=\" + encodeURIComponent(\"\" + idZalo) + \"&\";\r\n if (msg === null)\r\n throw new Error(\"The parameter 'msg' cannot be null.\");\r\n else if (msg !== undefined)\r\n url_ += \"msg=\" + encodeURIComponent(\"\" + msg) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueSendZaloMessage(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueSendZaloMessage(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueSendZaloMessage(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThuePaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThuePaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThuePaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThuePaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NguoithueEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueInsert(body: NguoithueEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueUpdate(body: NguoithueEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NguoiThueDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NguoiThue/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NguoiThueDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NguoiThueDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NguoiThueDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatkyDoituongTheodoiPostPagingNhatkyDoituongTheodoi(body: PageNhatkyDoituongTheodoi | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatkyDoituongTheodoi/PostPagingNhatkyDoituongTheodoi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatkyDoituongTheodoiPostPagingNhatkyDoituongTheodoi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatkyDoituongTheodoiPostPagingNhatkyDoituongTheodoi(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatkyDoituongTheodoiPostPagingNhatkyDoituongTheodoi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatkyDoituongTheodoiIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatkyDoituongTheodoiPostInsertNhatkyDoituongTheodoi(body: ItemNhatkyDoituongTheodoi | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatkyDoituongTheodoi/PostInsertNhatkyDoituongTheodoi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatkyDoituongTheodoiPostInsertNhatkyDoituongTheodoi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatkyDoituongTheodoiPostInsertNhatkyDoituongTheodoi(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatkyDoituongTheodoiPostInsertNhatkyDoituongTheodoi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatkyDoituongTheodoiPostUpdateNhatkyDoituongTheodoi(body: ItemNhatkyDoituongTheodoi | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatkyDoituongTheodoi/PostUpdateNhatkyDoituongTheodoi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatkyDoituongTheodoiPostUpdateNhatkyDoituongTheodoi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatkyDoituongTheodoiPostUpdateNhatkyDoituongTheodoi(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatkyDoituongTheodoiPostUpdateNhatkyDoituongTheodoi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhatkyDoituongTheodoiPostDeleteNhatkyDoituongTheodoi(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatkyDoituongTheodoi/PostDeleteNhatkyDoituongTheodoi/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatkyDoituongTheodoiPostDeleteNhatkyDoituongTheodoi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatkyDoituongTheodoiPostDeleteNhatkyDoituongTheodoi(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatkyDoituongTheodoiPostDeleteNhatkyDoituongTheodoi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhatkyDoituongTheodoiGetOneNhatkyDoituongTheodoi(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatkyDoituongTheodoi/GetOneNhatkyDoituongTheodoi/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatkyDoituongTheodoiGetOneNhatkyDoituongTheodoi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatkyDoituongTheodoiGetOneNhatkyDoituongTheodoi(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatkyDoituongTheodoiGetOneNhatkyDoituongTheodoi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatkyDoituongTheodoiApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param madiabantinh (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroSelectCountNhatroPhongtroNguoithue(madiabantinh: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Nhatro/SelectCountNhatroPhongtroNguoithue?\";\r\n if (madiabantinh === null)\r\n throw new Error(\"The parameter 'madiabantinh' cannot be null.\");\r\n else if (madiabantinh !== undefined)\r\n url_ += \"Madiabantinh=\" + encodeURIComponent(\"\" + madiabantinh) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroSelectCountNhatroPhongtroNguoithue(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroSelectCountNhatroPhongtroNguoithue(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroSelectCountNhatroPhongtroNguoithue(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CountNhatroPhongtroNguoithueApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPagingMchutroqlnhatro(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Nhatro/PagingMchutroqlnhatro\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPagingMchutroqlnhatro(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPagingMchutroqlnhatro(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPagingMchutroqlnhatro(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ChutroqlnhatroModelitemIEnumerablePageModelView2ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPagingMchutroqlnhaoHomeM(body: SearchModelPagingMchutroqlnhaoHome | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Nhatro/PagingMchutroqlnhaoHomeM\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPagingMchutroqlnhaoHomeM(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPagingMchutroqlnhaoHomeM(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPagingMchutroqlnhaoHomeM(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ChutroqlnhatroModelitemIEnumerablePageModelView2ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param keysearch (optional) \r\n * @param currentPage (optional) \r\n * @param pageSize (optional) \r\n * @param loaiNha (optional) \r\n * @param matinh (optional) \r\n * @param maHuyen (optional) \r\n * @param maXa (optional) \r\n * @param maThon (optional) \r\n * @param localKey (optional) \r\n * @param tuNgay (optional) \r\n * @param denNgay (optional) \r\n * @param dongiaphongtu (optional) \r\n * @param dongiaphongden (optional) \r\n * @param lsdmdv (optional) \r\n * @param isdanhgia (optional) \r\n * @param idnguoidanhgia (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPagingdsnhatroGis(keysearch: string | undefined, currentPage: number | undefined, pageSize: number | undefined, loaiNha: number | undefined, matinh: string | undefined, maHuyen: string | undefined, maXa: string | undefined, maThon: string | undefined, localKey: string | undefined, tuNgay: string | undefined, denNgay: string | undefined, dongiaphongtu: number | undefined, dongiaphongden: number | undefined, lsdmdv: string | undefined, isdanhgia: boolean | undefined, idnguoidanhgia: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Nhatro/PagingdsnhatroGis?\";\r\n if (keysearch === null)\r\n throw new Error(\"The parameter 'keysearch' cannot be null.\");\r\n else if (keysearch !== undefined)\r\n url_ += \"Keysearch=\" + encodeURIComponent(\"\" + keysearch) + \"&\";\r\n if (currentPage === null)\r\n throw new Error(\"The parameter 'currentPage' cannot be null.\");\r\n else if (currentPage !== undefined)\r\n url_ += \"CurrentPage=\" + encodeURIComponent(\"\" + currentPage) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (loaiNha === null)\r\n throw new Error(\"The parameter 'loaiNha' cannot be null.\");\r\n else if (loaiNha !== undefined)\r\n url_ += \"LoaiNha=\" + encodeURIComponent(\"\" + loaiNha) + \"&\";\r\n if (matinh === null)\r\n throw new Error(\"The parameter 'matinh' cannot be null.\");\r\n else if (matinh !== undefined)\r\n url_ += \"Matinh=\" + encodeURIComponent(\"\" + matinh) + \"&\";\r\n if (maHuyen === null)\r\n throw new Error(\"The parameter 'maHuyen' cannot be null.\");\r\n else if (maHuyen !== undefined)\r\n url_ += \"MaHuyen=\" + encodeURIComponent(\"\" + maHuyen) + \"&\";\r\n if (maXa === null)\r\n throw new Error(\"The parameter 'maXa' cannot be null.\");\r\n else if (maXa !== undefined)\r\n url_ += \"MaXa=\" + encodeURIComponent(\"\" + maXa) + \"&\";\r\n if (maThon === null)\r\n throw new Error(\"The parameter 'maThon' cannot be null.\");\r\n else if (maThon !== undefined)\r\n url_ += \"MaThon=\" + encodeURIComponent(\"\" + maThon) + \"&\";\r\n if (localKey === null)\r\n throw new Error(\"The parameter 'localKey' cannot be null.\");\r\n else if (localKey !== undefined)\r\n url_ += \"LocalKey=\" + encodeURIComponent(\"\" + localKey) + \"&\";\r\n if (tuNgay === null)\r\n throw new Error(\"The parameter 'tuNgay' cannot be null.\");\r\n else if (tuNgay !== undefined)\r\n url_ += \"TuNgay=\" + encodeURIComponent(\"\" + tuNgay) + \"&\";\r\n if (denNgay === null)\r\n throw new Error(\"The parameter 'denNgay' cannot be null.\");\r\n else if (denNgay !== undefined)\r\n url_ += \"DenNgay=\" + encodeURIComponent(\"\" + denNgay) + \"&\";\r\n if (dongiaphongtu === null)\r\n throw new Error(\"The parameter 'dongiaphongtu' cannot be null.\");\r\n else if (dongiaphongtu !== undefined)\r\n url_ += \"Dongiaphongtu=\" + encodeURIComponent(\"\" + dongiaphongtu) + \"&\";\r\n if (dongiaphongden === null)\r\n throw new Error(\"The parameter 'dongiaphongden' cannot be null.\");\r\n else if (dongiaphongden !== undefined)\r\n url_ += \"Dongiaphongden=\" + encodeURIComponent(\"\" + dongiaphongden) + \"&\";\r\n if (lsdmdv === null)\r\n throw new Error(\"The parameter 'lsdmdv' cannot be null.\");\r\n else if (lsdmdv !== undefined)\r\n url_ += \"lsdmdv=\" + encodeURIComponent(\"\" + lsdmdv) + \"&\";\r\n if (isdanhgia === null)\r\n throw new Error(\"The parameter 'isdanhgia' cannot be null.\");\r\n else if (isdanhgia !== undefined)\r\n url_ += \"Isdanhgia=\" + encodeURIComponent(\"\" + isdanhgia) + \"&\";\r\n if (idnguoidanhgia === null)\r\n throw new Error(\"The parameter 'idnguoidanhgia' cannot be null.\");\r\n else if (idnguoidanhgia !== undefined)\r\n url_ += \"Idnguoidanhgia=\" + encodeURIComponent(\"\" + idnguoidanhgia) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPagingdsnhatroGis(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPagingdsnhatroGis(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPagingdsnhatroGis(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param status (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroGetDataByStatus(status: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Nhatro/GetDataByStatus?\";\r\n if (status === null)\r\n throw new Error(\"The parameter 'status' cannot be null.\");\r\n else if (status !== undefined)\r\n url_ += \"status=\" + encodeURIComponent(\"\" + status) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroGetDataByStatus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroGetDataByStatus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroGetDataByStatus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NhaTroByStatusListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroGetLoaiNha(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Nhatro/GetLoaiNha\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroGetLoaiNha(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroGetLoaiNha(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroGetLoaiNha(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemloainhaListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPostPagingNhatro2(body: PageNhatro2 | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Nhatro/PostPagingNhatro2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPostPagingNhatro2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPostPagingNhatro2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPostPagingNhatro2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatro2IEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPostInsertNhatro2(body: ItemNhatro2 | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Nhatro/PostInsertNhatro2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPostInsertNhatro2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPostInsertNhatro2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPostInsertNhatro2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPostUpdateNhatro2(body: ItemNhatro2 | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Nhatro/PostUpdateNhatro2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPostUpdateNhatro2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPostUpdateNhatro2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPostUpdateNhatro2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPostDeleteNhatro2(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Nhatro/PostDeleteNhatro2/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPostDeleteNhatro2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPostDeleteNhatro2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPostDeleteNhatro2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroGetOneNhatro2(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Nhatro/GetOneNhatro2/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroGetOneNhatro2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroGetOneNhatro2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroGetOneNhatro2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatro2ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Idnguoitao (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroGetByIdnguoitaoNhatro2(_Idnguoitao: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Nhatro/GetByIdnguoitaoNhatro2?\";\r\n if (_Idnguoitao === null)\r\n throw new Error(\"The parameter '_Idnguoitao' cannot be null.\");\r\n else if (_Idnguoitao !== undefined)\r\n url_ += \"_Idnguoitao=\" + encodeURIComponent(\"\" + _Idnguoitao) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroGetByIdnguoitaoNhatro2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroGetByIdnguoitaoNhatro2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroGetByIdnguoitaoNhatro2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatro2ListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroUpdateImage(body: UpdateImageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/UpdateImage\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroUpdateImage(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroUpdateImage(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroUpdateImage(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroShare(body: ShareModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/Share\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroShare(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroShare(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroShare(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroDeleteListRecord(body: number[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/DeleteListRecord\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroDeleteListRecord(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroDeleteListRecord(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroDeleteListRecord(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroDeleteCustom(id: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/DeleteCustom?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroDeleteCustom(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroDeleteCustom(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroDeleteCustom(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroPagingCustom(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/PagingCustom\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroPagingCustom(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroPagingCustom(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroPagingCustom(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroPagingMobile(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/PagingMobile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroPagingMobile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroPagingMobile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroPagingMobile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NhaTroIndexModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _loainhatro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectByLoainhatro(_loainhatro: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/SelectByLoainhatroAsync?\";\r\n if (_loainhatro === null)\r\n throw new Error(\"The parameter '_loainhatro' cannot be null.\");\r\n else if (_loainhatro !== undefined)\r\n url_ += \"_loainhatro=\" + encodeURIComponent(\"\" + _loainhatro) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroSelectByLoainhatro(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroSelectByLoainhatro(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroSelectByLoainhatro(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NhaTroIndexModelComboboxListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroPagingMobileV2(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/PagingMobile_V2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroPagingMobileV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroPagingMobileV2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroPagingMobileV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NhaTroIndexModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroPagingMobileV3(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/PagingMobile_V3\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroPagingMobileV3(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroPagingMobileV3(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroPagingMobileV3(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NhaTroIndexModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroPagingMobileCa(body: SearchModelDSNhatroV2 | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/PagingMobileCa\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroPagingMobileCa(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroPagingMobileCa(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroPagingMobileCa(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NhaTroIndexModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroPagingMobile4NguoiThue(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/PagingMobile4NguoiThue\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroPagingMobile4NguoiThue(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroPagingMobile4NguoiThue(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroPagingMobile4NguoiThue(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NhaTroIndexModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroPagingMobile4NguoiThueV3(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/PagingMobile4NguoiThue_V3\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroPagingMobile4NguoiThueV3(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroPagingMobile4NguoiThueV3(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroPagingMobile4NguoiThueV3(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NhaTroIndexModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroPagingHomeDSNhatroV2(body: SearchModelDSNhatroV2 | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/PagingHomeDSNhatroV2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroPagingHomeDSNhatroV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroPagingHomeDSNhatroV2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroPagingHomeDSNhatroV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NhaTroIndexModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroUpdateLocation(body: NhaTroLocationModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/UpdateLocation\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroUpdateLocation(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroUpdateLocation(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroUpdateLocation(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroPagingMobile4NguoiThueV2(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/PagingMobile4NguoiThue_V2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroPagingMobile4NguoiThueV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroPagingMobile4NguoiThueV2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroPagingMobile4NguoiThueV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NhaTroIndexModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectAllCus(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/SelectAllCus\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroSelectAllCus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroSelectAllCus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroSelectAllCus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NhatroEntityIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectAllCus2(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/SelectAllCus_2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroSelectAllCus2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroSelectAllCus2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroSelectAllCus2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NhatroEntityIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectAllCus3(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/SelectAllCus_3\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroSelectAllCus3(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroSelectAllCus3(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroSelectAllCus3(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NhatroEntityIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectAllCusV4(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/SelectAllCus_V4\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroSelectAllCusV4(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroSelectAllCusV4(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroSelectAllCusV4(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NhatroEntityIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectAllForHDByIdCusMobile(id: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/SelectAllForHDByIdCusMobile?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroSelectAllForHDByIdCusMobile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroSelectAllForHDByIdCusMobile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroSelectAllForHDByIdCusMobile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NhaTroIndexModelIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectAllForHopDongByIdCusMobile(id: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/SelectAllForHopDongByIdCusMobile?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroSelectAllForHopDongByIdCusMobile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroSelectAllForHopDongByIdCusMobile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroSelectAllForHopDongByIdCusMobile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NhaTroIndexModelIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectNhaTroCusExitsPhong(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/SelectNhaTroCus_ExitsPhong\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroSelectNhaTroCusExitsPhong(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroSelectNhaTroCusExitsPhong(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroSelectNhaTroCusExitsPhong(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectAllByIdChu(id: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/SelectAllByIdChu?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroSelectAllByIdChu(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroSelectAllByIdChu(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroSelectAllByIdChu(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NhatroEntityIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param name (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSearchByName(name: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/SearchByName?\";\r\n if (name === null)\r\n throw new Error(\"The parameter 'name' cannot be null.\");\r\n else if (name !== undefined)\r\n url_ += \"name=\" + encodeURIComponent(\"\" + name) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroSearchByName(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroSearchByName(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroSearchByName(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NhatroEntityIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectById(id: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/SelectById?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroSelectById(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroSelectById(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroSelectById(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NhatroEntityIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectByIdV2(id: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/SelectById_V2?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroSelectByIdV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroSelectByIdV2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroSelectByIdV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ViewItemModelIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectByIdV3(id: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/SelectById_V3?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroSelectByIdV3(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroSelectByIdV3(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroSelectByIdV3(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ViewItemModelIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectByListId(id: number[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/SelectByListId?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n id && id.forEach(item => { url_ += \"id=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroSelectByListId(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroSelectByListId(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroSelectByListId(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NhaTroIndexModelIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param phongId (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectByPhongId(phongId: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/SelectByPhongId?\";\r\n if (phongId === null)\r\n throw new Error(\"The parameter 'phongId' cannot be null.\");\r\n else if (phongId !== undefined)\r\n url_ += \"phongId=\" + encodeURIComponent(\"\" + phongId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroSelectByPhongId(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroSelectByPhongId(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroSelectByPhongId(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NhatroEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NhatroEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroInsert(body: NhatroEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroUpdate(body: NhatroEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhaTroDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhaTro/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhaTroDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhaTroDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhaTroDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroPostInsertMasterMoreDetailNhatroPhongtro(body: NhatroPhongtroVM | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/PostInsertMasterMoreDetailNhatroPhongtro\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroPostInsertMasterMoreDetailNhatroPhongtro(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroPostInsertMasterMoreDetailNhatroPhongtro(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroPostInsertMasterMoreDetailNhatroPhongtro(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroPostUpdateMasterMoreDetailNhatroPhongtro(body: NhatroPhongtroVM | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/PostUpdateMasterMoreDetailNhatroPhongtro\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroPostUpdateMasterMoreDetailNhatroPhongtro(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroPostUpdateMasterMoreDetailNhatroPhongtro(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroPostUpdateMasterMoreDetailNhatroPhongtro(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroPostDeleteMasterMoreDetailNhatroPhongtro(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/PostDeleteMasterMoreDetailNhatroPhongtro/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroPostDeleteMasterMoreDetailNhatroPhongtro(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroPostDeleteMasterMoreDetailNhatroPhongtro(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroPostDeleteMasterMoreDetailNhatroPhongtro(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetOneMasterMoreDetailNhatroPhongtro(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/GetOneMasterMoreDetailNhatroPhongtro/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetOneMasterMoreDetailNhatroPhongtro(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetOneMasterMoreDetailNhatroPhongtro(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroGetOneMasterMoreDetailNhatroPhongtro(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NhatroPhongtroVMApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param pageSize (optional) \r\n * @param currentPage (optional) \r\n * @param strkey (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroPostPagingPhongtro(pageSize: number | undefined, currentPage: number | undefined, strkey: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/PostPaging_Phongtro?\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (currentPage === null)\r\n throw new Error(\"The parameter 'currentPage' cannot be null.\");\r\n else if (currentPage !== undefined)\r\n url_ += \"CurrentPage=\" + encodeURIComponent(\"\" + currentPage) + \"&\";\r\n if (strkey === null)\r\n throw new Error(\"The parameter 'strkey' cannot be null.\");\r\n else if (strkey !== undefined)\r\n url_ += \"strkey=\" + encodeURIComponent(\"\" + strkey) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroPostPagingPhongtro(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroPostPagingPhongtro(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroPostPagingPhongtro(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroPostInsertNhatro(body: ItemNhatro | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/PostInsertNhatro\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroPostInsertNhatro(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroPostInsertNhatro(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroPostInsertNhatro(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param id (optional) \r\n * @param tennhatro (optional) \r\n * @param diachicuthe (optional) \r\n * @param trangthai (optional) \r\n * @param tenchunhatro (optional) \r\n * @param dienthoai (optional) \r\n * @param idnguoitao (optional) \r\n * @param cccdchutro (optional) \r\n * @param loainhatro (optional) \r\n * @param tinh (optional) \r\n * @param huyen (optional) \r\n * @param xa (optional) \r\n * @param ngaytao (optional) \r\n * @param madiabankey (optional) \r\n * @param mota (optional) \r\n * @param motachitiet (optional) \r\n * @param anhdaidien (optional) \r\n * @param anh1 (optional) \r\n * @param anh2 (optional) \r\n * @param anh3 (optional) \r\n * @param sophong (optional) \r\n * @param sotang (optional) \r\n * @param anhdkkd (optional) \r\n * @param sodkkd (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroPostUpdateNhatro(id: number | undefined, tennhatro: string | undefined, diachicuthe: string | undefined, trangthai: number | undefined, tenchunhatro: string | undefined, dienthoai: string | undefined, idnguoitao: number | undefined, cccdchutro: string | undefined, loainhatro: number | undefined, tinh: string | undefined, huyen: string | undefined, xa: string | undefined, ngaytao: Date | undefined, madiabankey: string | undefined, mota: string | undefined, motachitiet: string | undefined, anhdaidien: string | undefined, anh1: string | undefined, anh2: string | undefined, anh3: string | undefined, sophong: number | undefined, sotang: number | undefined, anhdkkd: string | undefined, sodkkd: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/PostUpdateNhatro?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n if (tennhatro === null)\r\n throw new Error(\"The parameter 'tennhatro' cannot be null.\");\r\n else if (tennhatro !== undefined)\r\n url_ += \"Tennhatro=\" + encodeURIComponent(\"\" + tennhatro) + \"&\";\r\n if (diachicuthe === null)\r\n throw new Error(\"The parameter 'diachicuthe' cannot be null.\");\r\n else if (diachicuthe !== undefined)\r\n url_ += \"Diachicuthe=\" + encodeURIComponent(\"\" + diachicuthe) + \"&\";\r\n if (trangthai === null)\r\n throw new Error(\"The parameter 'trangthai' cannot be null.\");\r\n else if (trangthai !== undefined)\r\n url_ += \"Trangthai=\" + encodeURIComponent(\"\" + trangthai) + \"&\";\r\n if (tenchunhatro === null)\r\n throw new Error(\"The parameter 'tenchunhatro' cannot be null.\");\r\n else if (tenchunhatro !== undefined)\r\n url_ += \"Tenchunhatro=\" + encodeURIComponent(\"\" + tenchunhatro) + \"&\";\r\n if (dienthoai === null)\r\n throw new Error(\"The parameter 'dienthoai' cannot be null.\");\r\n else if (dienthoai !== undefined)\r\n url_ += \"Dienthoai=\" + encodeURIComponent(\"\" + dienthoai) + \"&\";\r\n if (idnguoitao === null)\r\n throw new Error(\"The parameter 'idnguoitao' cannot be null.\");\r\n else if (idnguoitao !== undefined)\r\n url_ += \"Idnguoitao=\" + encodeURIComponent(\"\" + idnguoitao) + \"&\";\r\n if (cccdchutro === null)\r\n throw new Error(\"The parameter 'cccdchutro' cannot be null.\");\r\n else if (cccdchutro !== undefined)\r\n url_ += \"Cccdchutro=\" + encodeURIComponent(\"\" + cccdchutro) + \"&\";\r\n if (loainhatro === null)\r\n throw new Error(\"The parameter 'loainhatro' cannot be null.\");\r\n else if (loainhatro !== undefined)\r\n url_ += \"Loainhatro=\" + encodeURIComponent(\"\" + loainhatro) + \"&\";\r\n if (tinh === null)\r\n throw new Error(\"The parameter 'tinh' cannot be null.\");\r\n else if (tinh !== undefined)\r\n url_ += \"Tinh=\" + encodeURIComponent(\"\" + tinh) + \"&\";\r\n if (huyen === null)\r\n throw new Error(\"The parameter 'huyen' cannot be null.\");\r\n else if (huyen !== undefined)\r\n url_ += \"Huyen=\" + encodeURIComponent(\"\" + huyen) + \"&\";\r\n if (xa === null)\r\n throw new Error(\"The parameter 'xa' cannot be null.\");\r\n else if (xa !== undefined)\r\n url_ += \"Xa=\" + encodeURIComponent(\"\" + xa) + \"&\";\r\n if (ngaytao === null)\r\n throw new Error(\"The parameter 'ngaytao' cannot be null.\");\r\n else if (ngaytao !== undefined)\r\n url_ += \"Ngaytao=\" + encodeURIComponent(ngaytao ? \"\" + ngaytao.toISOString() : \"\") + \"&\";\r\n if (madiabankey === null)\r\n throw new Error(\"The parameter 'madiabankey' cannot be null.\");\r\n else if (madiabankey !== undefined)\r\n url_ += \"Madiabankey=\" + encodeURIComponent(\"\" + madiabankey) + \"&\";\r\n if (mota === null)\r\n throw new Error(\"The parameter 'mota' cannot be null.\");\r\n else if (mota !== undefined)\r\n url_ += \"Mota=\" + encodeURIComponent(\"\" + mota) + \"&\";\r\n if (motachitiet === null)\r\n throw new Error(\"The parameter 'motachitiet' cannot be null.\");\r\n else if (motachitiet !== undefined)\r\n url_ += \"Motachitiet=\" + encodeURIComponent(\"\" + motachitiet) + \"&\";\r\n if (anhdaidien === null)\r\n throw new Error(\"The parameter 'anhdaidien' cannot be null.\");\r\n else if (anhdaidien !== undefined)\r\n url_ += \"Anhdaidien=\" + encodeURIComponent(\"\" + anhdaidien) + \"&\";\r\n if (anh1 === null)\r\n throw new Error(\"The parameter 'anh1' cannot be null.\");\r\n else if (anh1 !== undefined)\r\n url_ += \"Anh1=\" + encodeURIComponent(\"\" + anh1) + \"&\";\r\n if (anh2 === null)\r\n throw new Error(\"The parameter 'anh2' cannot be null.\");\r\n else if (anh2 !== undefined)\r\n url_ += \"Anh2=\" + encodeURIComponent(\"\" + anh2) + \"&\";\r\n if (anh3 === null)\r\n throw new Error(\"The parameter 'anh3' cannot be null.\");\r\n else if (anh3 !== undefined)\r\n url_ += \"Anh3=\" + encodeURIComponent(\"\" + anh3) + \"&\";\r\n if (sophong === null)\r\n throw new Error(\"The parameter 'sophong' cannot be null.\");\r\n else if (sophong !== undefined)\r\n url_ += \"Sophong=\" + encodeURIComponent(\"\" + sophong) + \"&\";\r\n if (sotang === null)\r\n throw new Error(\"The parameter 'sotang' cannot be null.\");\r\n else if (sotang !== undefined)\r\n url_ += \"Sotang=\" + encodeURIComponent(\"\" + sotang) + \"&\";\r\n if (anhdkkd === null)\r\n throw new Error(\"The parameter 'anhdkkd' cannot be null.\");\r\n else if (anhdkkd !== undefined)\r\n url_ += \"Anhdkkd=\" + encodeURIComponent(\"\" + anhdkkd) + \"&\";\r\n if (sodkkd === null)\r\n throw new Error(\"The parameter 'sodkkd' cannot be null.\");\r\n else if (sodkkd !== undefined)\r\n url_ += \"Sodkkd=\" + encodeURIComponent(\"\" + sodkkd) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroPostUpdateNhatro(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroPostUpdateNhatro(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroPostUpdateNhatro(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroPostDeleteNhatro(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/PostDeleteNhatro/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroPostDeleteNhatro(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroPostDeleteNhatro(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroPostDeleteNhatro(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetOneNhatro(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/GetOneNhatro/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetOneNhatro(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetOneNhatro(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroGetOneNhatro(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatroApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Tennhatro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByTennhatro(_Tennhatro: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/Get_Nhatro_ByTennhatro?\";\r\n if (_Tennhatro === null)\r\n throw new Error(\"The parameter '_Tennhatro' cannot be null.\");\r\n else if (_Tennhatro !== undefined)\r\n url_ += \"_Tennhatro=\" + encodeURIComponent(\"\" + _Tennhatro) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByTennhatro(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByTennhatro(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroGetNhatroByTennhatro(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatroListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Diachicuthe (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByDiachicuthe(_Diachicuthe: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/Get_Nhatro_ByDiachicuthe?\";\r\n if (_Diachicuthe === null)\r\n throw new Error(\"The parameter '_Diachicuthe' cannot be null.\");\r\n else if (_Diachicuthe !== undefined)\r\n url_ += \"_Diachicuthe=\" + encodeURIComponent(\"\" + _Diachicuthe) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByDiachicuthe(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByDiachicuthe(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroGetNhatroByDiachicuthe(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatroListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Trangthai (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByTrangthai(_Trangthai: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/Get_Nhatro_ByTrangthai?\";\r\n if (_Trangthai === null)\r\n throw new Error(\"The parameter '_Trangthai' cannot be null.\");\r\n else if (_Trangthai !== undefined)\r\n url_ += \"_Trangthai=\" + encodeURIComponent(\"\" + _Trangthai) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByTrangthai(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByTrangthai(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroGetNhatroByTrangthai(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatroListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Tenchunhatro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByTenchunhatro(_Tenchunhatro: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/Get_Nhatro_ByTenchunhatro?\";\r\n if (_Tenchunhatro === null)\r\n throw new Error(\"The parameter '_Tenchunhatro' cannot be null.\");\r\n else if (_Tenchunhatro !== undefined)\r\n url_ += \"_Tenchunhatro=\" + encodeURIComponent(\"\" + _Tenchunhatro) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByTenchunhatro(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByTenchunhatro(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroGetNhatroByTenchunhatro(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatroListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Dienthoai (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByDienthoai(_Dienthoai: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/Get_Nhatro_ByDienthoai?\";\r\n if (_Dienthoai === null)\r\n throw new Error(\"The parameter '_Dienthoai' cannot be null.\");\r\n else if (_Dienthoai !== undefined)\r\n url_ += \"_Dienthoai=\" + encodeURIComponent(\"\" + _Dienthoai) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByDienthoai(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByDienthoai(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroGetNhatroByDienthoai(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatroListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Idnguoitao (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByIdnguoitao(_Idnguoitao: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/Get_Nhatro_ByIdnguoitao?\";\r\n if (_Idnguoitao === null)\r\n throw new Error(\"The parameter '_Idnguoitao' cannot be null.\");\r\n else if (_Idnguoitao !== undefined)\r\n url_ += \"_Idnguoitao=\" + encodeURIComponent(\"\" + _Idnguoitao) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByIdnguoitao(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByIdnguoitao(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroGetNhatroByIdnguoitao(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatroListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Cccdchutro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByCccdchutro(_Cccdchutro: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/Get_Nhatro_ByCccdchutro?\";\r\n if (_Cccdchutro === null)\r\n throw new Error(\"The parameter '_Cccdchutro' cannot be null.\");\r\n else if (_Cccdchutro !== undefined)\r\n url_ += \"_Cccdchutro=\" + encodeURIComponent(\"\" + _Cccdchutro) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByCccdchutro(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByCccdchutro(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroGetNhatroByCccdchutro(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatroListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Loainhatro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByLoainhatro(_Loainhatro: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/Get_Nhatro_ByLoainhatro?\";\r\n if (_Loainhatro === null)\r\n throw new Error(\"The parameter '_Loainhatro' cannot be null.\");\r\n else if (_Loainhatro !== undefined)\r\n url_ += \"_Loainhatro=\" + encodeURIComponent(\"\" + _Loainhatro) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByLoainhatro(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByLoainhatro(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroGetNhatroByLoainhatro(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatroListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Tinh (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByTinh(_Tinh: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/Get_Nhatro_ByTinh?\";\r\n if (_Tinh === null)\r\n throw new Error(\"The parameter '_Tinh' cannot be null.\");\r\n else if (_Tinh !== undefined)\r\n url_ += \"_Tinh=\" + encodeURIComponent(\"\" + _Tinh) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByTinh(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByTinh(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroGetNhatroByTinh(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatroListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Huyen (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByHuyen(_Huyen: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/Get_Nhatro_ByHuyen?\";\r\n if (_Huyen === null)\r\n throw new Error(\"The parameter '_Huyen' cannot be null.\");\r\n else if (_Huyen !== undefined)\r\n url_ += \"_Huyen=\" + encodeURIComponent(\"\" + _Huyen) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByHuyen(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByHuyen(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroGetNhatroByHuyen(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatroListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Xa (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByXa(_Xa: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/Get_Nhatro_ByXa?\";\r\n if (_Xa === null)\r\n throw new Error(\"The parameter '_Xa' cannot be null.\");\r\n else if (_Xa !== undefined)\r\n url_ += \"_Xa=\" + encodeURIComponent(\"\" + _Xa) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByXa(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByXa(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroGetNhatroByXa(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatroListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Ngaytao (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByNgaytao(_Ngaytao: Date | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/Get_Nhatro_ByNgaytao?\";\r\n if (_Ngaytao === null)\r\n throw new Error(\"The parameter '_Ngaytao' cannot be null.\");\r\n else if (_Ngaytao !== undefined)\r\n url_ += \"_Ngaytao=\" + encodeURIComponent(_Ngaytao ? \"\" + _Ngaytao.toISOString() : \"\") + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByNgaytao(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByNgaytao(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroGetNhatroByNgaytao(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatroListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Madiabankey (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByMadiabankey(_Madiabankey: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/Get_Nhatro_ByMadiabankey?\";\r\n if (_Madiabankey === null)\r\n throw new Error(\"The parameter '_Madiabankey' cannot be null.\");\r\n else if (_Madiabankey !== undefined)\r\n url_ += \"_Madiabankey=\" + encodeURIComponent(\"\" + _Madiabankey) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByMadiabankey(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByMadiabankey(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroGetNhatroByMadiabankey(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatroListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Mota (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByMota(_Mota: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/Get_Nhatro_ByMota?\";\r\n if (_Mota === null)\r\n throw new Error(\"The parameter '_Mota' cannot be null.\");\r\n else if (_Mota !== undefined)\r\n url_ += \"_Mota=\" + encodeURIComponent(\"\" + _Mota) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByMota(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByMota(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroGetNhatroByMota(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatroListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Motachitiet (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByMotachitiet(_Motachitiet: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/Get_Nhatro_ByMotachitiet?\";\r\n if (_Motachitiet === null)\r\n throw new Error(\"The parameter '_Motachitiet' cannot be null.\");\r\n else if (_Motachitiet !== undefined)\r\n url_ += \"_Motachitiet=\" + encodeURIComponent(\"\" + _Motachitiet) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByMotachitiet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByMotachitiet(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroGetNhatroByMotachitiet(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatroListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Anhdaidien (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByAnhdaidien(_Anhdaidien: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/Get_Nhatro_ByAnhdaidien?\";\r\n if (_Anhdaidien === null)\r\n throw new Error(\"The parameter '_Anhdaidien' cannot be null.\");\r\n else if (_Anhdaidien !== undefined)\r\n url_ += \"_Anhdaidien=\" + encodeURIComponent(\"\" + _Anhdaidien) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByAnhdaidien(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByAnhdaidien(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroGetNhatroByAnhdaidien(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatroListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Anh1 (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByAnh1(_Anh1: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/Get_Nhatro_ByAnh1?\";\r\n if (_Anh1 === null)\r\n throw new Error(\"The parameter '_Anh1' cannot be null.\");\r\n else if (_Anh1 !== undefined)\r\n url_ += \"_Anh1=\" + encodeURIComponent(\"\" + _Anh1) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByAnh1(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByAnh1(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroGetNhatroByAnh1(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatroListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Anh2 (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByAnh2(_Anh2: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/Get_Nhatro_ByAnh2?\";\r\n if (_Anh2 === null)\r\n throw new Error(\"The parameter '_Anh2' cannot be null.\");\r\n else if (_Anh2 !== undefined)\r\n url_ += \"_Anh2=\" + encodeURIComponent(\"\" + _Anh2) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByAnh2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByAnh2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroGetNhatroByAnh2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatroListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Anh3 (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByAnh3(_Anh3: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/Get_Nhatro_ByAnh3?\";\r\n if (_Anh3 === null)\r\n throw new Error(\"The parameter '_Anh3' cannot be null.\");\r\n else if (_Anh3 !== undefined)\r\n url_ += \"_Anh3=\" + encodeURIComponent(\"\" + _Anh3) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByAnh3(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByAnh3(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroGetNhatroByAnh3(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatroListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Sophong (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroBySophong(_Sophong: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/Get_Nhatro_BySophong?\";\r\n if (_Sophong === null)\r\n throw new Error(\"The parameter '_Sophong' cannot be null.\");\r\n else if (_Sophong !== undefined)\r\n url_ += \"_Sophong=\" + encodeURIComponent(\"\" + _Sophong) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroBySophong(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroBySophong(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroGetNhatroBySophong(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatroListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Sotang (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroBySotang(_Sotang: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/Get_Nhatro_BySotang?\";\r\n if (_Sotang === null)\r\n throw new Error(\"The parameter '_Sotang' cannot be null.\");\r\n else if (_Sotang !== undefined)\r\n url_ += \"_Sotang=\" + encodeURIComponent(\"\" + _Sotang) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroBySotang(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroBySotang(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroGetNhatroBySotang(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatroListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Anhdkkd (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroByAnhdkkd(_Anhdkkd: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/Get_Nhatro_ByAnhdkkd?\";\r\n if (_Anhdkkd === null)\r\n throw new Error(\"The parameter '_Anhdkkd' cannot be null.\");\r\n else if (_Anhdkkd !== undefined)\r\n url_ += \"_Anhdkkd=\" + encodeURIComponent(\"\" + _Anhdkkd) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByAnhdkkd(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroByAnhdkkd(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroGetNhatroByAnhdkkd(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatroListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Sodkkd (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1NhatroPhongtroGetNhatroBySodkkd(_Sodkkd: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/NhatroPhongtro/Get_Nhatro_BySodkkd?\";\r\n if (_Sodkkd === null)\r\n throw new Error(\"The parameter '_Sodkkd' cannot be null.\");\r\n else if (_Sodkkd !== undefined)\r\n url_ += \"_Sodkkd=\" + encodeURIComponent(\"\" + _Sodkkd) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroBySodkkd(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1NhatroPhongtroGetNhatroBySodkkd(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1NhatroPhongtroGetNhatroBySodkkd(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatroListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PdfViewerLoad(body: { [key: string]: string; } | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PdfViewer/Load\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PdfViewerLoad(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PdfViewerLoad(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PdfViewerLoad(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PdfViewerRenderPdfPages(body: { [key: string]: string; } | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PdfViewer/RenderPdfPages\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PdfViewerRenderPdfPages(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PdfViewerRenderPdfPages(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PdfViewerRenderPdfPages(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PdfViewerRenderAnnotationComments(body: { [key: string]: string; } | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PdfViewer/RenderAnnotationComments\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PdfViewerRenderAnnotationComments(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PdfViewerRenderAnnotationComments(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PdfViewerRenderAnnotationComments(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PdfViewerUnload(body: { [key: string]: string; } | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PdfViewer/Unload\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PdfViewerUnload(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PdfViewerUnload(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PdfViewerUnload(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PdfViewerRenderThumbnailImages(body: { [key: string]: string; } | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PdfViewer/RenderThumbnailImages\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PdfViewerRenderThumbnailImages(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PdfViewerRenderThumbnailImages(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PdfViewerRenderThumbnailImages(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PdfViewerBookmarks(body: { [key: string]: string; } | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PdfViewer/Bookmarks\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PdfViewerBookmarks(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PdfViewerBookmarks(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PdfViewerBookmarks(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PdfViewerDownload(body: { [key: string]: string; } | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PdfViewer/Download\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PdfViewerDownload(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PdfViewerDownload(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PdfViewerDownload(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PdfViewerPrintImages(body: { [key: string]: string; } | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PdfViewer/PrintImages\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PdfViewerPrintImages(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PdfViewerPrintImages(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PdfViewerPrintImages(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PdfViewerExportAnnotations(body: { [key: string]: string; } | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PdfViewer/ExportAnnotations\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PdfViewerExportAnnotations(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PdfViewerExportAnnotations(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PdfViewerExportAnnotations(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PdfViewerImportAnnotations(body: { [key: string]: string; } | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PdfViewer/ImportAnnotations\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PdfViewerImportAnnotations(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PdfViewerImportAnnotations(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PdfViewerImportAnnotations(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PdfViewerRenderPdfTexts(body: { [key: string]: string; } | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PdfViewer/RenderPdfTexts\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PdfViewerRenderPdfTexts(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PdfViewerRenderPdfTexts(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PdfViewerRenderPdfTexts(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PdfViewerExportFormFields(body: { [key: string]: string; } | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PdfViewer/ExportFormFields\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PdfViewerExportFormFields(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PdfViewerExportFormFields(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PdfViewerExportFormFields(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PdfViewerImportFormFields(body: { [key: string]: string; } | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PdfViewer/ImportFormFields\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PdfViewerImportFormFields(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PdfViewerImportFormFields(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PdfViewerImportFormFields(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhanAnhTrinhBaoGetDonViXuLy(body: PhanAnhTrinhBaoSearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhanAnhTrinhBao/GetDonViXuLy\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhanAnhTrinhBaoGetDonViXuLy(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhanAnhTrinhBaoGetDonViXuLy(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhanAnhTrinhBaoGetDonViXuLy(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhanAnhTrinhBaoGetDonViXuLyMobile(body: PhanAnhTrinhBaoSearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhanAnhTrinhBao/GetDonViXuLyMobile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhanAnhTrinhBaoGetDonViXuLyMobile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhanAnhTrinhBaoGetDonViXuLyMobile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhanAnhTrinhBaoGetDonViXuLyMobile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1PhanAnhTrinhBaoGetListUnit(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhanAnhTrinhBao/GetListUnit\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhanAnhTrinhBaoGetListUnit(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhanAnhTrinhBaoGetListUnit(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhanAnhTrinhBaoGetListUnit(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SysunitLevelModelIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhanAnhTrinhBaoGetUserRequestSupport(body: number[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhanAnhTrinhBao/GetUserRequestSupport\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhanAnhTrinhBaoGetUserRequestSupport(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhanAnhTrinhBaoGetUserRequestSupport(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhanAnhTrinhBaoGetUserRequestSupport(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhanAnhTrinhBaoPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhanAnhTrinhBao/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhanAnhTrinhBaoPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhanAnhTrinhBaoPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhanAnhTrinhBaoPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1PhanAnhTrinhBaoSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhanAnhTrinhBao/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhanAnhTrinhBaoSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhanAnhTrinhBaoSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhanAnhTrinhBaoSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SysunitEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1PhanAnhTrinhBaoSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhanAnhTrinhBao/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhanAnhTrinhBaoSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhanAnhTrinhBaoSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhanAnhTrinhBaoSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhanAnhTrinhBaoInsert(body: SysunitEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhanAnhTrinhBao/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhanAnhTrinhBaoInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhanAnhTrinhBaoInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhanAnhTrinhBaoInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhanAnhTrinhBaoUpdate(body: SysunitEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhanAnhTrinhBao/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhanAnhTrinhBaoUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhanAnhTrinhBaoUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhanAnhTrinhBaoUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1PhanAnhTrinhBaoDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhanAnhTrinhBao/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhanAnhTrinhBaoDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhanAnhTrinhBaoDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhanAnhTrinhBaoDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1PhanHoiSelectById(idDanhGia: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhanHoi/SelectById/{idDanhGia}\";\r\n if (idDanhGia === undefined || idDanhGia === null)\r\n throw new Error(\"The parameter 'idDanhGia' must be defined.\");\r\n url_ = url_.replace(\"{idDanhGia}\", encodeURIComponent(\"\" + idDanhGia));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhanHoiSelectById(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhanHoiSelectById(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhanHoiSelectById(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PhanHoiSelectModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1PhanHoiSelectByIdV2(idDanhGia: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhanHoi/SelectByIdV2/{idDanhGia}\";\r\n if (idDanhGia === undefined || idDanhGia === null)\r\n throw new Error(\"The parameter 'idDanhGia' must be defined.\");\r\n url_ = url_.replace(\"{idDanhGia}\", encodeURIComponent(\"\" + idDanhGia));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhanHoiSelectByIdV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhanHoiSelectByIdV2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhanHoiSelectByIdV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PhanHoiSelectModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhanHoiInsert(body: PhanHoiUpdateModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhanHoi/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhanHoiInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhanHoiInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhanHoiInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhanHoiInsertV2(body: PhanHoiUpdateModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhanHoi/InsertV2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhanHoiInsertV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhanHoiInsertV2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhanHoiInsertV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroSelectAllCus(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhongTro/SelectAllCus\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhongTroSelectAllCus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhongTroSelectAllCus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhongTroSelectAllCus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PhongtroEntityListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroUpdateImageRoom(body: UpdateImageRoomModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhongTro/UpdateImageRoom\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhongTroUpdateImageRoom(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhongTroUpdateImageRoom(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhongTroUpdateImageRoom(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroShare(body: ShareModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhongTro/Share\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhongTroShare(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhongTroShare(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhongTroShare(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroDeleteListRecord(body: number[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhongTro/DeleteListRecord\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhongTroDeleteListRecord(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhongTroDeleteListRecord(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhongTroDeleteListRecord(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroSelectByIdNhaTroForQuanLyKhach(nhaTroId: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhongTro/SelectByIdNhaTroForQuanLyKhach/{nhaTroId}\";\r\n if (nhaTroId === undefined || nhaTroId === null)\r\n throw new Error(\"The parameter 'nhaTroId' must be defined.\");\r\n url_ = url_.replace(\"{nhaTroId}\", encodeURIComponent(\"\" + nhaTroId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhongTroSelectByIdNhaTroForQuanLyKhach(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhongTroSelectByIdNhaTroForQuanLyKhach(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhongTroSelectByIdNhaTroForQuanLyKhach(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroSelectByIdNhaTroForQuanLyKhachCus(nhaTroId: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhongTro/SelectByIdNhaTroForQuanLyKhachCus/{nhaTroId}\";\r\n if (nhaTroId === undefined || nhaTroId === null)\r\n throw new Error(\"The parameter 'nhaTroId' must be defined.\");\r\n url_ = url_.replace(\"{nhaTroId}\", encodeURIComponent(\"\" + nhaTroId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhongTroSelectByIdNhaTroForQuanLyKhachCus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhongTroSelectByIdNhaTroForQuanLyKhachCus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhongTroSelectByIdNhaTroForQuanLyKhachCus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param nhaTroId (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroSelectPhongByIdNhaTroForHopDong(nhaTroId: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhongTro/SelectPhongByIdNhaTroForHopDong?\";\r\n if (nhaTroId === null)\r\n throw new Error(\"The parameter 'nhaTroId' cannot be null.\");\r\n else if (nhaTroId !== undefined)\r\n url_ += \"nhaTroId=\" + encodeURIComponent(\"\" + nhaTroId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhongTroSelectPhongByIdNhaTroForHopDong(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhongTroSelectPhongByIdNhaTroForHopDong(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhongTroSelectPhongByIdNhaTroForHopDong(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param idNhaTro (optional) \r\n * @param loai (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroSelectByIdNhaTro(idNhaTro: number | undefined, loai: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhongTro/SelectByIdNhaTro?\";\r\n if (idNhaTro === null)\r\n throw new Error(\"The parameter 'idNhaTro' cannot be null.\");\r\n else if (idNhaTro !== undefined)\r\n url_ += \"IdNhaTro=\" + encodeURIComponent(\"\" + idNhaTro) + \"&\";\r\n if (loai === null)\r\n throw new Error(\"The parameter 'loai' cannot be null.\");\r\n else if (loai !== undefined)\r\n url_ += \"loai=\" + encodeURIComponent(\"\" + loai) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhongTroSelectByIdNhaTro(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhongTroSelectByIdNhaTro(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhongTroSelectByIdNhaTro(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PhongtroEntityListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param idNhaTro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroSelectByIdNhaTroMobile(idNhaTro: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhongTro/SelectByIdNhaTroMobile?\";\r\n if (idNhaTro === null)\r\n throw new Error(\"The parameter 'idNhaTro' cannot be null.\");\r\n else if (idNhaTro !== undefined)\r\n url_ += \"IdNhaTro=\" + encodeURIComponent(\"\" + idNhaTro) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhongTroSelectByIdNhaTroMobile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhongTroSelectByIdNhaTroMobile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhongTroSelectByIdNhaTroMobile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PhongtroEntityListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param idNhaTro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroSelectByIdNhaTroV3(idNhaTro: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhongTro/SelectByIdNhaTroV3?\";\r\n if (idNhaTro === null)\r\n throw new Error(\"The parameter 'idNhaTro' cannot be null.\");\r\n else if (idNhaTro !== undefined)\r\n url_ += \"IdNhaTro=\" + encodeURIComponent(\"\" + idNhaTro) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhongTroSelectByIdNhaTroV3(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhongTroSelectByIdNhaTroV3(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhongTroSelectByIdNhaTroV3(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PhongTroHDModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param idNhaTro (optional) \r\n * @param idNguoiTao (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroSelectByIdNhaTroV2(idNhaTro: number | undefined, idNguoiTao: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhongTro/SelectByIdNhaTroV2?\";\r\n if (idNhaTro === null)\r\n throw new Error(\"The parameter 'idNhaTro' cannot be null.\");\r\n else if (idNhaTro !== undefined)\r\n url_ += \"IdNhaTro=\" + encodeURIComponent(\"\" + idNhaTro) + \"&\";\r\n if (idNguoiTao === null)\r\n throw new Error(\"The parameter 'idNguoiTao' cannot be null.\");\r\n else if (idNguoiTao !== undefined)\r\n url_ += \"IdNguoiTao=\" + encodeURIComponent(\"\" + idNguoiTao) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhongTroSelectByIdNhaTroV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhongTroSelectByIdNhaTroV2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhongTroSelectByIdNhaTroV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PhongTroHDModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param idNhaTro (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroSelectByIdNhaTroV4(idNhaTro: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhongTro/SelectByIdNhaTroV4?\";\r\n if (idNhaTro === null)\r\n throw new Error(\"The parameter 'idNhaTro' cannot be null.\");\r\n else if (idNhaTro !== undefined)\r\n url_ += \"IdNhaTro=\" + encodeURIComponent(\"\" + idNhaTro) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhongTroSelectByIdNhaTroV4(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhongTroSelectByIdNhaTroV4(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhongTroSelectByIdNhaTroV4(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PhongtroEntityListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroPagingCustom2(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhongTro/PagingCustom2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhongTroPagingCustom2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhongTroPagingCustom2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhongTroPagingCustom2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MotelRoomMobileModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroPagingCustom(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhongTro/PagingCustom\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhongTroPagingCustom(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhongTroPagingCustom(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhongTroPagingCustom(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MotelRoomMobileModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhongTro/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhongTroPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhongTroPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhongTroPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroInsertCustom(body: InsertRoomCustomModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhongTro/InsertCustom\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhongTroInsertCustom(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhongTroInsertCustom(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhongTroInsertCustom(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroSelect(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhongTro/Select\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhongTroSelect(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhongTroSelect(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhongTroSelect(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MotelRoomMobileModelIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroCheckById(id: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhongTro/CheckById?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhongTroCheckById(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhongTroCheckById(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhongTroCheckById(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Int32ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroUpdateMultiple(body: PhongtroEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhongTro/UpdateMultiple\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhongTroUpdateMultiple(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhongTroUpdateMultiple(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhongTroUpdateMultiple(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroUpdateInfoRoom(body: PhongTroViewModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhongTro/UpdateInfoRoom\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhongTroUpdateInfoRoom(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhongTroUpdateInfoRoom(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhongTroUpdateInfoRoom(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhongTro/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhongTroSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhongTroSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhongTroSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PhongtroEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhongTro/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhongTroSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhongTroSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhongTroSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroInsert(body: PhongtroEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhongTro/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhongTroInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhongTroInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhongTroInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroUpdate(body: PhongtroEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhongTro/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhongTroUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhongTroUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhongTroUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1PhongTroDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/PhongTro/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1PhongTroDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1PhongTroDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1PhongTroDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1QuanLyKhachQuanlykhachindex(body: SearchModel_quanlykhachindex | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/quan_Ly_khach/quanlykhachindex\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1QuanLyKhachQuanlykhachindex(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1QuanLyKhachQuanlykhachindex(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1QuanLyKhachQuanlykhachindex(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param madiabantinh (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1QuanLyKhachSelectCountNhatroPhongtroNguoithue(madiabantinh: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/quan_Ly_khach/SelectCountNhatroPhongtroNguoithue?\";\r\n if (madiabantinh === null)\r\n throw new Error(\"The parameter 'madiabantinh' cannot be null.\");\r\n else if (madiabantinh !== undefined)\r\n url_ += \"Madiabantinh=\" + encodeURIComponent(\"\" + madiabantinh) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1QuanLyKhachSelectCountNhatroPhongtroNguoithue(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1QuanLyKhachSelectCountNhatroPhongtroNguoithue(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1QuanLyKhachSelectCountNhatroPhongtroNguoithue(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CountNhatroPhongtroNguoithueApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1QuanLyKhachPagingMchutroqlnhatro(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/quan_Ly_khach/PagingMchutroqlnhatro\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1QuanLyKhachPagingMchutroqlnhatro(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1QuanLyKhachPagingMchutroqlnhatro(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1QuanLyKhachPagingMchutroqlnhatro(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ChutroqlnhatroModelitemIEnumerablePageModelView2ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1QuanLyKhachPagingMchutroqlnhaoHomeM(body: SearchModelPagingMchutroqlnhaoHome | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/quan_Ly_khach/PagingMchutroqlnhaoHomeM\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1QuanLyKhachPagingMchutroqlnhaoHomeM(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1QuanLyKhachPagingMchutroqlnhaoHomeM(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1QuanLyKhachPagingMchutroqlnhaoHomeM(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ChutroqlnhatroModelitemIEnumerablePageModelView2ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param keysearch (optional) \r\n * @param currentPage (optional) \r\n * @param pageSize (optional) \r\n * @param loaiNha (optional) \r\n * @param matinh (optional) \r\n * @param maHuyen (optional) \r\n * @param maXa (optional) \r\n * @param maThon (optional) \r\n * @param localKey (optional) \r\n * @param tuNgay (optional) \r\n * @param denNgay (optional) \r\n * @param dongiaphongtu (optional) \r\n * @param dongiaphongden (optional) \r\n * @param lsdmdv (optional) \r\n * @param isdanhgia (optional) \r\n * @param idnguoidanhgia (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1QuanLyKhachPagingdsnhatroGis(keysearch: string | undefined, currentPage: number | undefined, pageSize: number | undefined, loaiNha: number | undefined, matinh: string | undefined, maHuyen: string | undefined, maXa: string | undefined, maThon: string | undefined, localKey: string | undefined, tuNgay: string | undefined, denNgay: string | undefined, dongiaphongtu: number | undefined, dongiaphongden: number | undefined, lsdmdv: string | undefined, isdanhgia: boolean | undefined, idnguoidanhgia: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/quan_Ly_khach/PagingdsnhatroGis?\";\r\n if (keysearch === null)\r\n throw new Error(\"The parameter 'keysearch' cannot be null.\");\r\n else if (keysearch !== undefined)\r\n url_ += \"Keysearch=\" + encodeURIComponent(\"\" + keysearch) + \"&\";\r\n if (currentPage === null)\r\n throw new Error(\"The parameter 'currentPage' cannot be null.\");\r\n else if (currentPage !== undefined)\r\n url_ += \"CurrentPage=\" + encodeURIComponent(\"\" + currentPage) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (loaiNha === null)\r\n throw new Error(\"The parameter 'loaiNha' cannot be null.\");\r\n else if (loaiNha !== undefined)\r\n url_ += \"LoaiNha=\" + encodeURIComponent(\"\" + loaiNha) + \"&\";\r\n if (matinh === null)\r\n throw new Error(\"The parameter 'matinh' cannot be null.\");\r\n else if (matinh !== undefined)\r\n url_ += \"Matinh=\" + encodeURIComponent(\"\" + matinh) + \"&\";\r\n if (maHuyen === null)\r\n throw new Error(\"The parameter 'maHuyen' cannot be null.\");\r\n else if (maHuyen !== undefined)\r\n url_ += \"MaHuyen=\" + encodeURIComponent(\"\" + maHuyen) + \"&\";\r\n if (maXa === null)\r\n throw new Error(\"The parameter 'maXa' cannot be null.\");\r\n else if (maXa !== undefined)\r\n url_ += \"MaXa=\" + encodeURIComponent(\"\" + maXa) + \"&\";\r\n if (maThon === null)\r\n throw new Error(\"The parameter 'maThon' cannot be null.\");\r\n else if (maThon !== undefined)\r\n url_ += \"MaThon=\" + encodeURIComponent(\"\" + maThon) + \"&\";\r\n if (localKey === null)\r\n throw new Error(\"The parameter 'localKey' cannot be null.\");\r\n else if (localKey !== undefined)\r\n url_ += \"LocalKey=\" + encodeURIComponent(\"\" + localKey) + \"&\";\r\n if (tuNgay === null)\r\n throw new Error(\"The parameter 'tuNgay' cannot be null.\");\r\n else if (tuNgay !== undefined)\r\n url_ += \"TuNgay=\" + encodeURIComponent(\"\" + tuNgay) + \"&\";\r\n if (denNgay === null)\r\n throw new Error(\"The parameter 'denNgay' cannot be null.\");\r\n else if (denNgay !== undefined)\r\n url_ += \"DenNgay=\" + encodeURIComponent(\"\" + denNgay) + \"&\";\r\n if (dongiaphongtu === null)\r\n throw new Error(\"The parameter 'dongiaphongtu' cannot be null.\");\r\n else if (dongiaphongtu !== undefined)\r\n url_ += \"Dongiaphongtu=\" + encodeURIComponent(\"\" + dongiaphongtu) + \"&\";\r\n if (dongiaphongden === null)\r\n throw new Error(\"The parameter 'dongiaphongden' cannot be null.\");\r\n else if (dongiaphongden !== undefined)\r\n url_ += \"Dongiaphongden=\" + encodeURIComponent(\"\" + dongiaphongden) + \"&\";\r\n if (lsdmdv === null)\r\n throw new Error(\"The parameter 'lsdmdv' cannot be null.\");\r\n else if (lsdmdv !== undefined)\r\n url_ += \"lsdmdv=\" + encodeURIComponent(\"\" + lsdmdv) + \"&\";\r\n if (isdanhgia === null)\r\n throw new Error(\"The parameter 'isdanhgia' cannot be null.\");\r\n else if (isdanhgia !== undefined)\r\n url_ += \"Isdanhgia=\" + encodeURIComponent(\"\" + isdanhgia) + \"&\";\r\n if (idnguoidanhgia === null)\r\n throw new Error(\"The parameter 'idnguoidanhgia' cannot be null.\");\r\n else if (idnguoidanhgia !== undefined)\r\n url_ += \"Idnguoidanhgia=\" + encodeURIComponent(\"\" + idnguoidanhgia) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1QuanLyKhachPagingdsnhatroGis(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1QuanLyKhachPagingdsnhatroGis(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1QuanLyKhachPagingdsnhatroGis(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param status (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1QuanLyKhachGetDataByStatus(status: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/quan_Ly_khach/GetDataByStatus?\";\r\n if (status === null)\r\n throw new Error(\"The parameter 'status' cannot be null.\");\r\n else if (status !== undefined)\r\n url_ += \"status=\" + encodeURIComponent(\"\" + status) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1QuanLyKhachGetDataByStatus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1QuanLyKhachGetDataByStatus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1QuanLyKhachGetDataByStatus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NhaTroByStatusListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1QuanLyKhachGetLoaiNha(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/quan_Ly_khach/GetLoaiNha\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1QuanLyKhachGetLoaiNha(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1QuanLyKhachGetLoaiNha(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1QuanLyKhachGetLoaiNha(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemloainhaListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1QuanLyKhachPostPagingNhatro2(body: PageNhatro2 | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/quan_Ly_khach/PostPagingNhatro2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1QuanLyKhachPostPagingNhatro2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1QuanLyKhachPostPagingNhatro2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1QuanLyKhachPostPagingNhatro2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatro2IEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1QuanLyKhachPostInsertNhatro2(body: ItemNhatro2 | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/quan_Ly_khach/PostInsertNhatro2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1QuanLyKhachPostInsertNhatro2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1QuanLyKhachPostInsertNhatro2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1QuanLyKhachPostInsertNhatro2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1QuanLyKhachPostUpdateNhatro2(body: ItemNhatro2 | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/quan_Ly_khach/PostUpdateNhatro2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1QuanLyKhachPostUpdateNhatro2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1QuanLyKhachPostUpdateNhatro2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1QuanLyKhachPostUpdateNhatro2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1QuanLyKhachPostDeleteNhatro2(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/quan_Ly_khach/PostDeleteNhatro2/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1QuanLyKhachPostDeleteNhatro2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1QuanLyKhachPostDeleteNhatro2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1QuanLyKhachPostDeleteNhatro2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1QuanLyKhachGetOneNhatro2(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/quan_Ly_khach/GetOneNhatro2/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1QuanLyKhachGetOneNhatro2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1QuanLyKhachGetOneNhatro2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1QuanLyKhachGetOneNhatro2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatro2ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Idnguoitao (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1QuanLyKhachGetByIdnguoitaoNhatro2(_Idnguoitao: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/quan_Ly_khach/GetByIdnguoitaoNhatro2?\";\r\n if (_Idnguoitao === null)\r\n throw new Error(\"The parameter '_Idnguoitao' cannot be null.\");\r\n else if (_Idnguoitao !== undefined)\r\n url_ += \"_Idnguoitao=\" + encodeURIComponent(\"\" + _Idnguoitao) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1QuanLyKhachGetByIdnguoitaoNhatro2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1QuanLyKhachGetByIdnguoitaoNhatro2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1QuanLyKhachGetByIdnguoitaoNhatro2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemNhatro2ListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param capdonvi (optional) \r\n * @param unitcode (optional) \r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanPagingCus(capdonvi: string | undefined, unitcode: string | undefined, body: SearchTaiKhoanModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/TaiKhoan/PagingCus?\";\r\n if (capdonvi === null)\r\n throw new Error(\"The parameter 'capdonvi' cannot be null.\");\r\n else if (capdonvi !== undefined)\r\n url_ += \"Capdonvi=\" + encodeURIComponent(\"\" + capdonvi) + \"&\";\r\n if (unitcode === null)\r\n throw new Error(\"The parameter 'unitcode' cannot be null.\");\r\n else if (unitcode !== undefined)\r\n url_ += \"Unitcode=\" + encodeURIComponent(\"\" + unitcode) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TaiKhoanPagingCus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TaiKhoanPagingCus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TaiKhoanPagingCus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanGetChuTroByXa(unitcode: string): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/TaiKhoan/GetChuTroByXa/{unitcode}\";\r\n if (unitcode === undefined || unitcode === null)\r\n throw new Error(\"The parameter 'unitcode' must be defined.\");\r\n url_ = url_.replace(\"{unitcode}\", encodeURIComponent(\"\" + unitcode));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TaiKhoanGetChuTroByXa(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TaiKhoanGetChuTroByXa(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TaiKhoanGetChuTroByXa(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanUpdateAvatar(body: Avatar | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/TaiKhoan/UpdateAvatar\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TaiKhoanUpdateAvatar(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TaiKhoanUpdateAvatar(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TaiKhoanUpdateAvatar(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanRegister(body: RegisterAccountPostModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/TaiKhoan/Register\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TaiKhoanRegister(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TaiKhoanRegister(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TaiKhoanRegister(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanGetDiaChi(body: NguoiThueLichSuSearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/TaiKhoan/GetDiaChi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TaiKhoanGetDiaChi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TaiKhoanGetDiaChi(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TaiKhoanGetDiaChi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DiaChiModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param unit (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanGetTKByUnitcode(unit: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/TaiKhoan/GetTKByUnitcode?\";\r\n if (unit === null)\r\n throw new Error(\"The parameter 'unit' cannot be null.\");\r\n else if (unit !== undefined)\r\n url_ += \"unit=\" + encodeURIComponent(\"\" + unit) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TaiKhoanGetTKByUnitcode(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TaiKhoanGetTKByUnitcode(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TaiKhoanGetTKByUnitcode(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TaiKhoanUnitcodeModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanRegisterNguoithue(body: RegisterNguoithuePostModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/TaiKhoan/RegisterNguoithue\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TaiKhoanRegisterNguoithue(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TaiKhoanRegisterNguoithue(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TaiKhoanRegisterNguoithue(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanGetModelInsertUpdate(recordId: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/TaiKhoan/GetModelInsertUpdate/{recordId}\";\r\n if (recordId === undefined || recordId === null)\r\n throw new Error(\"The parameter 'recordId' must be defined.\");\r\n url_ = url_.replace(\"{recordId}\", encodeURIComponent(\"\" + recordId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TaiKhoanGetModelInsertUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TaiKhoanGetModelInsertUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TaiKhoanGetModelInsertUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = GetViewInsertUpdateTaiKhoanModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanChangeStatus(id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/TaiKhoan/ChangeStatus/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TaiKhoanChangeStatus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TaiKhoanChangeStatus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TaiKhoanChangeStatus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param sdt (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanCheckSdt(sdt: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/TaiKhoan/CheckSdt?\";\r\n if (sdt === null)\r\n throw new Error(\"The parameter 'sdt' cannot be null.\");\r\n else if (sdt !== undefined)\r\n url_ += \"sdt=\" + encodeURIComponent(\"\" + sdt) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TaiKhoanCheckSdt(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TaiKhoanCheckSdt(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TaiKhoanCheckSdt(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BooleanApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param sdt (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanCheckCccd(sdt: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/TaiKhoan/CheckCccd?\";\r\n if (sdt === null)\r\n throw new Error(\"The parameter 'sdt' cannot be null.\");\r\n else if (sdt !== undefined)\r\n url_ += \"sdt=\" + encodeURIComponent(\"\" + sdt) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TaiKhoanCheckCccd(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TaiKhoanCheckCccd(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TaiKhoanCheckCccd(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BooleanApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanUpdateAcc(body: TaikhoanEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/TaiKhoan/UpdateAcc\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TaiKhoanUpdateAcc(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TaiKhoanUpdateAcc(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TaiKhoanUpdateAcc(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param sdt (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanSelectAccBySdt(sdt: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/TaiKhoan/SelectAccBySdt?\";\r\n if (sdt === null)\r\n throw new Error(\"The parameter 'sdt' cannot be null.\");\r\n else if (sdt !== undefined)\r\n url_ += \"sdt=\" + encodeURIComponent(\"\" + sdt) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TaiKhoanSelectAccBySdt(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TaiKhoanSelectAccBySdt(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TaiKhoanSelectAccBySdt(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AccModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanPagingMobile(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/TaiKhoan/PagingMobile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TaiKhoanPagingMobile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TaiKhoanPagingMobile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TaiKhoanPagingMobile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AccModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/TaiKhoan/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TaiKhoanPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TaiKhoanPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TaiKhoanPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanDeleteAccount(userId: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/TaiKhoan/DeleteAccount/{userId}\";\r\n if (userId === undefined || userId === null)\r\n throw new Error(\"The parameter 'userId' must be defined.\");\r\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TaiKhoanDeleteAccount(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TaiKhoanDeleteAccount(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TaiKhoanDeleteAccount(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanGetListUserIdByUnitCode(unitCode: string): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/TaiKhoan/GetListUserIdByUnitCode/{unitCode}\";\r\n if (unitCode === undefined || unitCode === null)\r\n throw new Error(\"The parameter 'unitCode' must be defined.\");\r\n url_ = url_.replace(\"{unitCode}\", encodeURIComponent(\"\" + unitCode));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TaiKhoanGetListUserIdByUnitCode(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TaiKhoanGetListUserIdByUnitCode(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TaiKhoanGetListUserIdByUnitCode(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Int32IEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanSelectAccById(id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/TaiKhoan/SelectAccById/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TaiKhoanSelectAccById(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TaiKhoanSelectAccById(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TaiKhoanSelectAccById(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AccModelV2ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanGetListUserIdByLocal(unitCode: string): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/TaiKhoan/GetListUserIdByLocal/{unitCode}\";\r\n if (unitCode === undefined || unitCode === null)\r\n throw new Error(\"The parameter 'unitCode' must be defined.\");\r\n url_ = url_.replace(\"{unitCode}\", encodeURIComponent(\"\" + unitCode));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TaiKhoanGetListUserIdByLocal(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TaiKhoanGetListUserIdByLocal(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TaiKhoanGetListUserIdByLocal(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Int32IEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param encrypt (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanEncrypt(encrypt: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/TaiKhoan/Encrypt?\";\r\n if (encrypt === null)\r\n throw new Error(\"The parameter 'encrypt' cannot be null.\");\r\n else if (encrypt !== undefined)\r\n url_ += \"encrypt=\" + encodeURIComponent(\"\" + encrypt) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TaiKhoanEncrypt(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TaiKhoanEncrypt(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TaiKhoanEncrypt(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param encrypt (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanDecrypt(encrypt: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/TaiKhoan/Decrypt?\";\r\n if (encrypt === null)\r\n throw new Error(\"The parameter 'encrypt' cannot be null.\");\r\n else if (encrypt !== undefined)\r\n url_ += \"encrypt=\" + encodeURIComponent(\"\" + encrypt) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TaiKhoanDecrypt(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TaiKhoanDecrypt(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TaiKhoanDecrypt(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanInsertChat(body: ChatInfo | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/TaiKhoan/InsertChat\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TaiKhoanInsertChat(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TaiKhoanInsertChat(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TaiKhoanInsertChat(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ChatgptlogEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param userId (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanGetLogByUser(userId: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/TaiKhoan/GetLogByUser?\";\r\n if (userId === null)\r\n throw new Error(\"The parameter 'userId' cannot be null.\");\r\n else if (userId !== undefined)\r\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TaiKhoanGetLogByUser(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TaiKhoanGetLogByUser(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TaiKhoanGetLogByUser(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ChatgptlogEntityListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/TaiKhoan/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TaiKhoanSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TaiKhoanSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TaiKhoanSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TaikhoanEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/TaiKhoan/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TaiKhoanSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TaiKhoanSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TaiKhoanSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanInsert(body: TaikhoanEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/TaiKhoan/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TaiKhoanInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TaiKhoanInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TaiKhoanInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanUpdate(body: TaikhoanEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/TaiKhoan/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TaiKhoanUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TaiKhoanUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TaiKhoanUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TaiKhoanDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/TaiKhoan/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TaiKhoanDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TaiKhoanDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TaiKhoanDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TemporaryPaging(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Temporary/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TemporaryPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TemporaryPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TemporaryPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TemporaryModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TemporaryPagingV2(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Temporary/Paging_V2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TemporaryPagingV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TemporaryPagingV2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TemporaryPagingV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TemporaryModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TemporaryListTamTruKhachThuePaging(body: SearchTamTruModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Temporary/ListTamTruKhachThuePaging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TemporaryListTamTruKhachThuePaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TemporaryListTamTruKhachThuePaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TemporaryListTamTruKhachThuePaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TemporaryModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThamSoHeThongOtp(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThamSoHeThong/Otp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThamSoHeThongOtp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThamSoHeThongOtp(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThamSoHeThongOtp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoPagingCus(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBao/PagingCus\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoPagingCus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoPagingCus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoPagingCus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DvnhanModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoPagingWeb(body: SearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBao/PagingWeb\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoPagingWeb(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoPagingWeb(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoPagingWeb(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoShare(body: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBao/Share\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoShare(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoShare(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoShare(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ThongbaoEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoSelectOneById(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBao/SelectOneById/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoSelectOneById(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoSelectOneById(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoSelectOneById(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ThongBaoSelectOneModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoActionDetail(body: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBao/ActionDetail\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoActionDetail(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoActionDetail(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoActionDetail(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ThongbaoEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoSelectTk(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBao/SelectTk\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoSelectTk(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoSelectTk(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoSelectTk(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoSelectSysunitByCap(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBao/SelectSysunitByCap\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoSelectSysunitByCap(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoSelectSysunitByCap(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoSelectSysunitByCap(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoSelectTbbyUserName(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBao/SelectTbbyUserName\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoSelectTbbyUserName(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoSelectTbbyUserName(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoSelectTbbyUserName(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DvnhanModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoSelectNhaTroByXa(xa: string): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBao/SelectNhaTroByXa/{xa}\";\r\n if (xa === undefined || xa === null)\r\n throw new Error(\"The parameter 'xa' must be defined.\");\r\n url_ = url_.replace(\"{xa}\", encodeURIComponent(\"\" + xa));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoSelectNhaTroByXa(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoSelectNhaTroByXa(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoSelectNhaTroByXa(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoTenTk(id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBao/TenTk/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoTenTk(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoTenTk(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoTenTk(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = StringApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoDeleteListRecord(body: number[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBao/DeleteListRecord\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoDeleteListRecord(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoDeleteListRecord(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoDeleteListRecord(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoInsertDvnhanPhong(body: DVNhanThongBaoModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBao/InsertDvnhanPhong\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoInsertDvnhanPhong(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoInsertDvnhanPhong(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoInsertDvnhanPhong(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoSelectFeedback(idthongbao: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBao/SelectFeedback/{Idthongbao}\";\r\n if (idthongbao === undefined || idthongbao === null)\r\n throw new Error(\"The parameter 'idthongbao' must be defined.\");\r\n url_ = url_.replace(\"{Idthongbao}\", encodeURIComponent(\"\" + idthongbao));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoSelectFeedback(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoSelectFeedback(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoSelectFeedback(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DvnhanModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoInsertAuto(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBao/InsertAuto\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoInsertAuto(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoInsertAuto(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoInsertAuto(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoInsertAutoTrongNgay(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBao/InsertAutoTrongNgay\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoInsertAutoTrongNgay(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoInsertAutoTrongNgay(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoInsertAutoTrongNgay(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoInsertNguoiDanGuiYKien(body: YKienModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBao/InsertNguoiDanGuiYKien\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoInsertNguoiDanGuiYKien(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoInsertNguoiDanGuiYKien(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoInsertNguoiDanGuiYKien(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoPushNotifications(body: NotificationModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBao/PushNotifications\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoPushNotifications(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoPushNotifications(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoPushNotifications(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoUpdateTB(body: ThongBaoUpdateModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBao/UpdateTB\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoUpdateTB(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoUpdateTB(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoUpdateTB(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoSelectOneWithFile(type: number, id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBao/SelectOneWithFile/{type}/{id}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoSelectOneWithFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoSelectOneWithFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoSelectOneWithFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = EntityWithFileModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoInsertWithFile(body: ThongbaoEntityProcessInsertFileModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBao/InsertWithFile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoInsertWithFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoInsertWithFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoInsertWithFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoUpdateWithFile(body: ThongbaoEntityProcessUpdateFileModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBao/UpdateWithFile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoUpdateWithFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoUpdateWithFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoUpdateWithFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoDeleteWithFile(id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBao/DeleteWithFile/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoDeleteWithFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoDeleteWithFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoDeleteWithFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBao/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBao/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ThongbaoEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBao/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoInsert(body: ThongbaoEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBao/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoUpdate(body: ThongbaoEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBao/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBao/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoAutoCauhinhthongbaoInsert(body: ItemCauhinhthongbao | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBaoAuto/CauhinhthongbaoInsert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoAutoCauhinhthongbaoInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoAutoCauhinhthongbaoInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoAutoCauhinhthongbaoInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoAutoPostPagingCauhinhthongbao(body: PageCauhinhthongbao | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBaoAuto/PostPagingCauhinhthongbao\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoAutoPostPagingCauhinhthongbao(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoAutoPostPagingCauhinhthongbao(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoAutoPostPagingCauhinhthongbao(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemCauhinhthongbaoIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoAutoPostInsertCauhinhthongbao(body: ItemCauhinhthongbao | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBaoAuto/PostInsertCauhinhthongbao\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoAutoPostInsertCauhinhthongbao(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoAutoPostInsertCauhinhthongbao(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoAutoPostInsertCauhinhthongbao(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoAutoPostUpdateCauhinhthongbao(body: ItemCauhinhthongbao | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBaoAuto/PostUpdateCauhinhthongbao\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoAutoPostUpdateCauhinhthongbao(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoAutoPostUpdateCauhinhthongbao(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoAutoPostUpdateCauhinhthongbao(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoAutoPostDeleteCauhinhthongbao(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBaoAuto/PostDeleteCauhinhthongbao/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoAutoPostDeleteCauhinhthongbao(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoAutoPostDeleteCauhinhthongbao(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoAutoPostDeleteCauhinhthongbao(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoAutoGetOneCauhinhthongbao(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBaoAuto/GetOneCauhinhthongbao/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoAutoGetOneCauhinhthongbao(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoAutoGetOneCauhinhthongbao(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoAutoGetOneCauhinhthongbao(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemCauhinhthongbaoApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Unitcode (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongBaoAutoGetByUnitcodeCauhinhthongbao(_Unitcode: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongBaoAuto/GetByUnitcodeCauhinhthongbao?\";\r\n if (_Unitcode === null)\r\n throw new Error(\"The parameter '_Unitcode' cannot be null.\");\r\n else if (_Unitcode !== undefined)\r\n url_ += \"_Unitcode=\" + encodeURIComponent(\"\" + _Unitcode) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongBaoAutoGetByUnitcodeCauhinhthongbao(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongBaoAutoGetByUnitcodeCauhinhthongbao(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongBaoAutoGetByUnitcodeCauhinhthongbao(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemCauhinhthongbaoListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongKeGetListSearchIndex(body: SelectNhaTroPostModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongKe/GetListSearchIndex\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongKeGetListSearchIndex(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongKeGetListSearchIndex(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongKeGetListSearchIndex(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SearchIndexModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongKePaging(body: ThongKeSearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongKe/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongKePaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongKePaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongKePaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ThongKeModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongKePagingNhatro(body: ThongKeSearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongKe/Paging_nhatro\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongKePagingNhatro(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongKePagingNhatro(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongKePagingNhatro(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ThongKeModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongKePagingV2(body: ThongKeSearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongKe/Paging_V2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongKePagingV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongKePagingV2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongKePagingV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ThongKeModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongKeGetDataChart(body: ThongKeSearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongKe/GetDataChart\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongKeGetDataChart(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongKeGetDataChart(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongKeGetDataChart(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataChartModelIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ThongKeGetTenantHistory(body: TenantHistorySearchModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ThongKe/GetTenantHistory\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ThongKeGetTenantHistory(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ThongKeGetTenantHistory(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ThongKeGetTenantHistory(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LichSuThueModelIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TinPagingMobie(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Tin/PagingMobie\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TinPagingMobie(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TinPagingMobie(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TinPagingMobie(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param loaitin (optional) \r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TinPagingMobieV2(loaitin: number[] | undefined, body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Tin/PagingMobieV2?\";\r\n if (loaitin === null)\r\n throw new Error(\"The parameter 'loaitin' cannot be null.\");\r\n else if (loaitin !== undefined)\r\n loaitin && loaitin.forEach(item => { url_ += \"loaitin=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TinPagingMobieV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TinPagingMobieV2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TinPagingMobieV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param loaitin (optional) \r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TinPagingMobieV3(loaitin: number[] | undefined, body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Tin/PagingMobieV3?\";\r\n if (loaitin === null)\r\n throw new Error(\"The parameter 'loaitin' cannot be null.\");\r\n else if (loaitin !== undefined)\r\n loaitin && loaitin.forEach(item => { url_ += \"loaitin=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TinPagingMobieV3(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TinPagingMobieV3(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TinPagingMobieV3(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TinSelectById(id: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Tin/SelectById?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TinSelectById(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TinSelectById(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TinSelectById(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TinlaodongEntityIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TinPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Tin/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TinPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TinPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TinPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TinSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Tin/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TinSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TinSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TinSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TinlaodongEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TinSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Tin/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TinSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TinSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TinSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TinInsert(body: TinlaodongEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Tin/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TinInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TinInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TinInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TinUpdate(body: TinlaodongEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Tin/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TinUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TinUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TinUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TinDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Tin/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TinDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TinDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TinDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TinlaodongPagingCus(body: SearchTinTucModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Tinlaodong/PagingCus\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TinlaodongPagingCus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TinlaodongPagingCus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TinlaodongPagingCus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemTinlaodongIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TinlaodongPostPagingTinlaodong(body: PageTinlaodong | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Tinlaodong/PostPagingTinlaodong\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TinlaodongPostPagingTinlaodong(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TinlaodongPostPagingTinlaodong(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TinlaodongPostPagingTinlaodong(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemTinlaodongIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TinlaodongPostInsertTinlaodong(body: ItemTinlaodong | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Tinlaodong/PostInsertTinlaodong\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TinlaodongPostInsertTinlaodong(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TinlaodongPostInsertTinlaodong(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TinlaodongPostInsertTinlaodong(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1TinlaodongPostUpdateTinlaodong(body: ItemTinlaodong | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Tinlaodong/PostUpdateTinlaodong\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TinlaodongPostUpdateTinlaodong(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TinlaodongPostUpdateTinlaodong(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TinlaodongPostUpdateTinlaodong(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TinlaodongPostDeleteTinlaodong(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Tinlaodong/PostDeleteTinlaodong/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TinlaodongPostDeleteTinlaodong(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TinlaodongPostDeleteTinlaodong(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TinlaodongPostDeleteTinlaodong(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1TinlaodongGetOneTinlaodong(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Tinlaodong/GetOneTinlaodong/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1TinlaodongGetOneTinlaodong(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1TinlaodongGetOneTinlaodong(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1TinlaodongGetOneTinlaodong(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemTinlaodongApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param token (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1UserNotificationRemoveToken(token: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/UserNotification/RemoveToken?\";\r\n if (token === null)\r\n throw new Error(\"The parameter 'token' cannot be null.\");\r\n else if (token !== undefined)\r\n url_ += \"token=\" + encodeURIComponent(\"\" + token) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1UserNotificationRemoveToken(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1UserNotificationRemoveToken(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1UserNotificationRemoveToken(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1UserNotificationInsert(body: UsernotificationEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/UserNotification/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1UserNotificationInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1UserNotificationInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1UserNotificationInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1UserNotificationCheckVersion(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/UserNotification/CheckVersion\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1UserNotificationCheckVersion(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1UserNotificationCheckVersion(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1UserNotificationCheckVersion(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VersionUpdateModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1UserNotificationPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/UserNotification/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1UserNotificationPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1UserNotificationPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1UserNotificationPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1UserNotificationSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/UserNotification/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1UserNotificationSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1UserNotificationSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1UserNotificationSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UsernotificationEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1UserNotificationSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/UserNotification/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1UserNotificationSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1UserNotificationSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1UserNotificationSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1UserNotificationUpdate(body: UsernotificationEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/UserNotification/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1UserNotificationUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1UserNotificationUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1UserNotificationUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1UserNotificationDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/UserNotification/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1UserNotificationDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1UserNotificationDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1UserNotificationDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param userIdOa (optional) \r\n * @param msg (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ZaloInsert(userIdOa: string | undefined, msg: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Zalo/Insert?\";\r\n if (userIdOa === null)\r\n throw new Error(\"The parameter 'userIdOa' cannot be null.\");\r\n else if (userIdOa !== undefined)\r\n url_ += \"userIdOa=\" + encodeURIComponent(\"\" + userIdOa) + \"&\";\r\n if (msg === null)\r\n throw new Error(\"The parameter 'msg' cannot be null.\");\r\n else if (msg !== undefined)\r\n url_ += \"msg=\" + encodeURIComponent(\"\" + msg) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ZaloInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ZaloInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ZaloInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ZaloPostPagingZalo(body: PageZalo | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Zalo/PostPagingZalo\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ZaloPostPagingZalo(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ZaloPostPagingZalo(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ZaloPostPagingZalo(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemZaloIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ZaloPostInsertZalo(body: ItemZalo | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Zalo/PostInsertZalo\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ZaloPostInsertZalo(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ZaloPostInsertZalo(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ZaloPostInsertZalo(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ZaloPostUpdateZalo(body: ItemZalo | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Zalo/PostUpdateZalo\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ZaloPostUpdateZalo(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ZaloPostUpdateZalo(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ZaloPostUpdateZalo(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ZaloPostDeleteZalo(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Zalo/PostDeleteZalo/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ZaloPostDeleteZalo(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ZaloPostDeleteZalo(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ZaloPostDeleteZalo(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ZaloGetOneZalo(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/Zalo/GetOneZalo/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ZaloGetOneZalo(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ZaloGetOneZalo(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ZaloGetOneZalo(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemZaloApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param list (optional) \r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ZaloDoituongInsertZaloDt(list: number[] | undefined, body: ItemZaloDoituong | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ZaloDoituong/InsertZaloDt?\";\r\n if (list === null)\r\n throw new Error(\"The parameter 'list' cannot be null.\");\r\n else if (list !== undefined)\r\n list && list.forEach(item => { url_ += \"list=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ZaloDoituongInsertZaloDt(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ZaloDoituongInsertZaloDt(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ZaloDoituongInsertZaloDt(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param list (optional) \r\n * @param listDele (optional) \r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ZaloDoituongUpdateZaloDt(list: number[] | undefined, listDele: number[] | undefined, body: ItemZaloDoituong | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ZaloDoituong/UpdateZaloDt?\";\r\n if (list === null)\r\n throw new Error(\"The parameter 'list' cannot be null.\");\r\n else if (list !== undefined)\r\n list && list.forEach(item => { url_ += \"list=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n if (listDele === null)\r\n throw new Error(\"The parameter 'listDele' cannot be null.\");\r\n else if (listDele !== undefined)\r\n listDele && listDele.forEach(item => { url_ += \"listDele=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ZaloDoituongUpdateZaloDt(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ZaloDoituongUpdateZaloDt(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ZaloDoituongUpdateZaloDt(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ZaloDoituongPostPagingZaloDoituong(body: PageZaloDoituong | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ZaloDoituong/PostPagingZaloDoituong\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ZaloDoituongPostPagingZaloDoituong(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ZaloDoituongPostPagingZaloDoituong(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ZaloDoituongPostPagingZaloDoituong(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemZaloDoituongIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ZaloDoituongPostInsertZaloDoituong(body: ItemZaloDoituong | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ZaloDoituong/PostInsertZaloDoituong\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ZaloDoituongPostInsertZaloDoituong(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ZaloDoituongPostInsertZaloDoituong(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ZaloDoituongPostInsertZaloDoituong(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ZaloDoituongPostUpdateZaloDoituong(body: ItemZaloDoituong | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ZaloDoituong/PostUpdateZaloDoituong\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ZaloDoituongPostUpdateZaloDoituong(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ZaloDoituongPostUpdateZaloDoituong(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ZaloDoituongPostUpdateZaloDoituong(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ZaloDoituongPostDeleteZaloDoituong(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ZaloDoituong/PostDeleteZaloDoituong/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ZaloDoituongPostDeleteZaloDoituong(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ZaloDoituongPostDeleteZaloDoituong(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ZaloDoituongPostDeleteZaloDoituong(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appCongAnApiV1ZaloDoituongGetOneZaloDoituong(_Id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ZaloDoituong/GetOneZaloDoituong/{_Id}\";\r\n if (_Id === undefined || _Id === null)\r\n throw new Error(\"The parameter '_Id' must be defined.\");\r\n url_ = url_.replace(\"{_Id}\", encodeURIComponent(\"\" + _Id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ZaloDoituongGetOneZaloDoituong(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ZaloDoituongGetOneZaloDoituong(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ZaloDoituongGetOneZaloDoituong(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemZaloDoituongApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param _Idzalo (optional) \r\n * @return Success\r\n */\r\n appCongAnApiV1ZaloDoituongGetByIdzaloZaloDoituong(_Idzalo: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/CongAn/api/v1/ZaloDoituong/GetByIdzaloZaloDoituong?\";\r\n if (_Idzalo === null)\r\n throw new Error(\"The parameter '_Idzalo' cannot be null.\");\r\n else if (_Idzalo !== undefined)\r\n url_ += \"_Idzalo=\" + encodeURIComponent(\"\" + _Idzalo) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppCongAnApiV1ZaloDoituongGetByIdzaloZaloDoituong(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppCongAnApiV1ZaloDoituongGetByIdzaloZaloDoituong(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppCongAnApiV1ZaloDoituongGetByIdzaloZaloDoituong(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemZaloDoituongListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport class AccModel implements IAccModel {\r\n anhchandung?: string | undefined;\r\n cccd?: string | undefined;\r\n cccdMatsau?: string | undefined;\r\n cccdMattruoc?: string | undefined;\r\n diachi?: string | undefined;\r\n dienthoai?: string | undefined;\r\n gioitinh?: number;\r\n hoten?: string | undefined;\r\n id?: number;\r\n ngaysinh?: string | undefined;\r\n matinh?: string | undefined;\r\n mahuyen?: string | undefined;\r\n maxa?: string | undefined;\r\n madiabankey?: string | undefined;\r\n thon?: string | undefined;\r\n idDantoc?: number | undefined;\r\n email?: string | undefined;\r\n trangthai?: boolean;\r\n sotk?: string | undefined;\r\n\r\n constructor(data?: IAccModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.anhchandung = _data[\"anhchandung\"];\r\n this.cccd = _data[\"cccd\"];\r\n this.cccdMatsau = _data[\"cccdMatsau\"];\r\n this.cccdMattruoc = _data[\"cccdMattruoc\"];\r\n this.diachi = _data[\"diachi\"];\r\n this.dienthoai = _data[\"dienthoai\"];\r\n this.gioitinh = _data[\"gioitinh\"];\r\n this.hoten = _data[\"hoten\"];\r\n this.id = _data[\"id\"];\r\n this.ngaysinh = _data[\"ngaysinh\"];\r\n this.matinh = _data[\"matinh\"];\r\n this.mahuyen = _data[\"mahuyen\"];\r\n this.maxa = _data[\"maxa\"];\r\n this.madiabankey = _data[\"madiabankey\"];\r\n this.thon = _data[\"thon\"];\r\n this.idDantoc = _data[\"idDantoc\"];\r\n this.email = _data[\"email\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.sotk = _data[\"sotk\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AccModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AccModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"anhchandung\"] = this.anhchandung;\r\n data[\"cccd\"] = this.cccd;\r\n data[\"cccdMatsau\"] = this.cccdMatsau;\r\n data[\"cccdMattruoc\"] = this.cccdMattruoc;\r\n data[\"diachi\"] = this.diachi;\r\n data[\"dienthoai\"] = this.dienthoai;\r\n data[\"gioitinh\"] = this.gioitinh;\r\n data[\"hoten\"] = this.hoten;\r\n data[\"id\"] = this.id;\r\n data[\"ngaysinh\"] = this.ngaysinh;\r\n data[\"matinh\"] = this.matinh;\r\n data[\"mahuyen\"] = this.mahuyen;\r\n data[\"maxa\"] = this.maxa;\r\n data[\"madiabankey\"] = this.madiabankey;\r\n data[\"thon\"] = this.thon;\r\n data[\"idDantoc\"] = this.idDantoc;\r\n data[\"email\"] = this.email;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"sotk\"] = this.sotk;\r\n return data;\r\n }\r\n\r\n clone(): AccModel {\r\n const json = this.toJSON();\r\n let result = new AccModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IAccModel {\r\n anhchandung?: string | undefined;\r\n cccd?: string | undefined;\r\n cccdMatsau?: string | undefined;\r\n cccdMattruoc?: string | undefined;\r\n diachi?: string | undefined;\r\n dienthoai?: string | undefined;\r\n gioitinh?: number;\r\n hoten?: string | undefined;\r\n id?: number;\r\n ngaysinh?: string | undefined;\r\n matinh?: string | undefined;\r\n mahuyen?: string | undefined;\r\n maxa?: string | undefined;\r\n madiabankey?: string | undefined;\r\n thon?: string | undefined;\r\n idDantoc?: number | undefined;\r\n email?: string | undefined;\r\n trangthai?: boolean;\r\n sotk?: string | undefined;\r\n}\r\n\r\nexport class AccModelApiResponse implements IAccModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: AccModel;\r\n\r\n constructor(data?: IAccModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new AccModel(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? AccModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): AccModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AccModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): AccModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new AccModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IAccModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IAccModel;\r\n}\r\n\r\nexport class AccModelIEnumerablePageModelView implements IAccModelIEnumerablePageModelView {\r\n data?: AccModel[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IAccModelIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new AccModel(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(AccModel.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AccModelIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AccModelIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): AccModelIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new AccModelIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IAccModelIEnumerablePageModelView {\r\n data?: IAccModel[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class AccModelIEnumerablePageModelViewApiResponse implements IAccModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: AccModelIEnumerablePageModelView;\r\n\r\n constructor(data?: IAccModelIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new AccModelIEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? AccModelIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): AccModelIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AccModelIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): AccModelIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new AccModelIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IAccModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IAccModelIEnumerablePageModelView;\r\n}\r\n\r\nexport class AccModelV2 implements IAccModelV2 {\r\n anhchandung?: string | undefined;\r\n cmnd?: string | undefined;\r\n sdt?: string | undefined;\r\n gioiTinh?: number;\r\n hoVaTen?: string | undefined;\r\n id?: number;\r\n ngaySinh?: string | undefined;\r\n matinh?: string | undefined;\r\n mahuyen?: string | undefined;\r\n maxa?: string | undefined;\r\n madiabankey?: string | undefined;\r\n thon?: string | undefined;\r\n trangthai?: boolean;\r\n\r\n constructor(data?: IAccModelV2) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.anhchandung = _data[\"anhchandung\"];\r\n this.cmnd = _data[\"cmnd\"];\r\n this.sdt = _data[\"sdt\"];\r\n this.gioiTinh = _data[\"gioiTinh\"];\r\n this.hoVaTen = _data[\"hoVaTen\"];\r\n this.id = _data[\"id\"];\r\n this.ngaySinh = _data[\"ngaySinh\"];\r\n this.matinh = _data[\"matinh\"];\r\n this.mahuyen = _data[\"mahuyen\"];\r\n this.maxa = _data[\"maxa\"];\r\n this.madiabankey = _data[\"madiabankey\"];\r\n this.thon = _data[\"thon\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AccModelV2 {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AccModelV2();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"anhchandung\"] = this.anhchandung;\r\n data[\"cmnd\"] = this.cmnd;\r\n data[\"sdt\"] = this.sdt;\r\n data[\"gioiTinh\"] = this.gioiTinh;\r\n data[\"hoVaTen\"] = this.hoVaTen;\r\n data[\"id\"] = this.id;\r\n data[\"ngaySinh\"] = this.ngaySinh;\r\n data[\"matinh\"] = this.matinh;\r\n data[\"mahuyen\"] = this.mahuyen;\r\n data[\"maxa\"] = this.maxa;\r\n data[\"madiabankey\"] = this.madiabankey;\r\n data[\"thon\"] = this.thon;\r\n data[\"trangthai\"] = this.trangthai;\r\n return data;\r\n }\r\n\r\n clone(): AccModelV2 {\r\n const json = this.toJSON();\r\n let result = new AccModelV2();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IAccModelV2 {\r\n anhchandung?: string | undefined;\r\n cmnd?: string | undefined;\r\n sdt?: string | undefined;\r\n gioiTinh?: number;\r\n hoVaTen?: string | undefined;\r\n id?: number;\r\n ngaySinh?: string | undefined;\r\n matinh?: string | undefined;\r\n mahuyen?: string | undefined;\r\n maxa?: string | undefined;\r\n madiabankey?: string | undefined;\r\n thon?: string | undefined;\r\n trangthai?: boolean;\r\n}\r\n\r\nexport class AccModelV2ApiResponse implements IAccModelV2ApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: AccModelV2;\r\n\r\n constructor(data?: IAccModelV2ApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new AccModelV2(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? AccModelV2.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): AccModelV2ApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AccModelV2ApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): AccModelV2ApiResponse {\r\n const json = this.toJSON();\r\n let result = new AccModelV2ApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IAccModelV2ApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IAccModelV2;\r\n}\r\n\r\nexport enum AggregateFunction {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n _6 = 6,\r\n _7 = 7,\r\n _8 = 8,\r\n _9 = 9,\r\n _10 = 10,\r\n _11 = 11,\r\n _12 = 12,\r\n _13 = 13,\r\n _14 = 14,\r\n _15 = 15,\r\n _16 = 16,\r\n}\r\n\r\nexport class ApiResponse implements IApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: boolean;\r\n\r\n constructor(data?: IApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data;\r\n return data;\r\n }\r\n\r\n clone(): ApiResponse {\r\n const json = this.toJSON();\r\n let result = new ApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: boolean;\r\n}\r\n\r\nexport class Assembly implements IAssembly {\r\n readonly definedTypes?: TypeInfo[] | undefined;\r\n readonly exportedTypes?: Type[] | undefined;\r\n readonly codeBase?: string | undefined;\r\n entryPoint?: MethodInfo;\r\n readonly fullName?: string | undefined;\r\n readonly imageRuntimeVersion?: string | undefined;\r\n readonly isDynamic?: boolean;\r\n readonly location?: string | undefined;\r\n readonly reflectionOnly?: boolean;\r\n readonly isCollectible?: boolean;\r\n readonly isFullyTrusted?: boolean;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly escapedCodeBase?: string | undefined;\r\n manifestModule?: Module;\r\n readonly modules?: Module[] | undefined;\r\n readonly globalAssemblyCache?: boolean;\r\n readonly hostContext?: number;\r\n securityRuleSet?: SecurityRuleSet;\r\n\r\n constructor(data?: IAssembly) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.definedTypes) {\r\n this.definedTypes = [];\r\n for (let i = 0; i < data.definedTypes.length; i++) {\r\n let item = data.definedTypes[i];\r\n this.definedTypes[i] = item && !(item).toJSON ? new TypeInfo(item) : item;\r\n }\r\n }\r\n if (data.exportedTypes) {\r\n this.exportedTypes = [];\r\n for (let i = 0; i < data.exportedTypes.length; i++) {\r\n let item = data.exportedTypes[i];\r\n this.exportedTypes[i] = item && !(item).toJSON ? new Type(item) : item;\r\n }\r\n }\r\n this.entryPoint = data.entryPoint && !(data.entryPoint).toJSON ? new MethodInfo(data.entryPoint) : this.entryPoint;\r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.manifestModule = data.manifestModule && !(data.manifestModule).toJSON ? new Module(data.manifestModule) : this.manifestModule;\r\n if (data.modules) {\r\n this.modules = [];\r\n for (let i = 0; i < data.modules.length; i++) {\r\n let item = data.modules[i];\r\n this.modules[i] = item && !(item).toJSON ? new Module(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"definedTypes\"])) {\r\n (this).definedTypes = [] as any;\r\n for (let item of _data[\"definedTypes\"])\r\n (this).definedTypes!.push(TypeInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"exportedTypes\"])) {\r\n (this).exportedTypes = [] as any;\r\n for (let item of _data[\"exportedTypes\"])\r\n (this).exportedTypes!.push(Type.fromJS(item));\r\n }\r\n (this).codeBase = _data[\"codeBase\"];\r\n this.entryPoint = _data[\"entryPoint\"] ? MethodInfo.fromJS(_data[\"entryPoint\"]) : undefined;\r\n (this).fullName = _data[\"fullName\"];\r\n (this).imageRuntimeVersion = _data[\"imageRuntimeVersion\"];\r\n (this).isDynamic = _data[\"isDynamic\"];\r\n (this).location = _data[\"location\"];\r\n (this).reflectionOnly = _data[\"reflectionOnly\"];\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).isFullyTrusted = _data[\"isFullyTrusted\"];\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).escapedCodeBase = _data[\"escapedCodeBase\"];\r\n this.manifestModule = _data[\"manifestModule\"] ? Module.fromJS(_data[\"manifestModule\"]) : undefined;\r\n if (Array.isArray(_data[\"modules\"])) {\r\n (this).modules = [] as any;\r\n for (let item of _data[\"modules\"])\r\n (this).modules!.push(Module.fromJS(item));\r\n }\r\n (this).globalAssemblyCache = _data[\"globalAssemblyCache\"];\r\n (this).hostContext = _data[\"hostContext\"];\r\n this.securityRuleSet = _data[\"securityRuleSet\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Assembly {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Assembly();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.definedTypes)) {\r\n data[\"definedTypes\"] = [];\r\n for (let item of this.definedTypes)\r\n data[\"definedTypes\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.exportedTypes)) {\r\n data[\"exportedTypes\"] = [];\r\n for (let item of this.exportedTypes)\r\n data[\"exportedTypes\"].push(item.toJSON());\r\n }\r\n data[\"codeBase\"] = this.codeBase;\r\n data[\"entryPoint\"] = this.entryPoint ? this.entryPoint.toJSON() : undefined;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"imageRuntimeVersion\"] = this.imageRuntimeVersion;\r\n data[\"isDynamic\"] = this.isDynamic;\r\n data[\"location\"] = this.location;\r\n data[\"reflectionOnly\"] = this.reflectionOnly;\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"isFullyTrusted\"] = this.isFullyTrusted;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"escapedCodeBase\"] = this.escapedCodeBase;\r\n data[\"manifestModule\"] = this.manifestModule ? this.manifestModule.toJSON() : undefined;\r\n if (Array.isArray(this.modules)) {\r\n data[\"modules\"] = [];\r\n for (let item of this.modules)\r\n data[\"modules\"].push(item.toJSON());\r\n }\r\n data[\"globalAssemblyCache\"] = this.globalAssemblyCache;\r\n data[\"hostContext\"] = this.hostContext;\r\n data[\"securityRuleSet\"] = this.securityRuleSet;\r\n return data;\r\n }\r\n\r\n clone(): Assembly {\r\n const json = this.toJSON();\r\n let result = new Assembly();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IAssembly {\r\n definedTypes?: ITypeInfo[] | undefined;\r\n exportedTypes?: IType[] | undefined;\r\n codeBase?: string | undefined;\r\n entryPoint?: IMethodInfo;\r\n fullName?: string | undefined;\r\n imageRuntimeVersion?: string | undefined;\r\n isDynamic?: boolean;\r\n location?: string | undefined;\r\n reflectionOnly?: boolean;\r\n isCollectible?: boolean;\r\n isFullyTrusted?: boolean;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n escapedCodeBase?: string | undefined;\r\n manifestModule?: IModule;\r\n modules?: IModule[] | undefined;\r\n globalAssemblyCache?: boolean;\r\n hostContext?: number;\r\n securityRuleSet?: SecurityRuleSet;\r\n}\r\n\r\nexport class AttFileattachmentEntity implements IAttFileattachmentEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n fileid?: number;\r\n filename?: string | undefined;\r\n filePath?: string | undefined;\r\n id?: number;\r\n localFilePath?: string | undefined;\r\n recordid?: number;\r\n type?: number;\r\n\r\n constructor(data?: IAttFileattachmentEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.fileid = _data[\"fileid\"];\r\n this.filename = _data[\"filename\"];\r\n this.filePath = _data[\"filePath\"];\r\n this.id = _data[\"id\"];\r\n this.localFilePath = _data[\"localFilePath\"];\r\n this.recordid = _data[\"recordid\"];\r\n this.type = _data[\"type\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AttFileattachmentEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AttFileattachmentEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"fileid\"] = this.fileid;\r\n data[\"filename\"] = this.filename;\r\n data[\"filePath\"] = this.filePath;\r\n data[\"id\"] = this.id;\r\n data[\"localFilePath\"] = this.localFilePath;\r\n data[\"recordid\"] = this.recordid;\r\n data[\"type\"] = this.type;\r\n return data;\r\n }\r\n\r\n clone(): AttFileattachmentEntity {\r\n const json = this.toJSON();\r\n let result = new AttFileattachmentEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IAttFileattachmentEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n fileid?: number;\r\n filename?: string | undefined;\r\n filePath?: string | undefined;\r\n id?: number;\r\n localFilePath?: string | undefined;\r\n recordid?: number;\r\n type?: number;\r\n}\r\n\r\nexport class AuthenticateNguoiThueResponse implements IAuthenticateNguoiThueResponse {\r\n id?: number;\r\n fullName?: string | undefined;\r\n name?: string | undefined;\r\n username?: string | undefined;\r\n email?: string | undefined;\r\n jwtToken?: string | undefined;\r\n refreshToken?: string | undefined;\r\n avatar?: string | undefined;\r\n status?: string | undefined;\r\n tag?: string | undefined;\r\n unitCode?: string | undefined;\r\n cccd?: string | undefined;\r\n dienthoai?: string | undefined;\r\n unitName?: string | undefined;\r\n userType?: number | undefined;\r\n type?: number | undefined;\r\n image?: string | undefined;\r\n provider?: string | undefined;\r\n\r\n constructor(data?: IAuthenticateNguoiThueResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.name = _data[\"name\"];\r\n this.username = _data[\"username\"];\r\n this.email = _data[\"email\"];\r\n this.jwtToken = _data[\"jwtToken\"];\r\n this.refreshToken = _data[\"refreshToken\"];\r\n this.avatar = _data[\"avatar\"];\r\n this.status = _data[\"status\"];\r\n this.tag = _data[\"tag\"];\r\n this.unitCode = _data[\"unitCode\"];\r\n this.cccd = _data[\"cccd\"];\r\n this.dienthoai = _data[\"dienthoai\"];\r\n this.unitName = _data[\"unitName\"];\r\n this.userType = _data[\"userType\"];\r\n this.type = _data[\"type\"];\r\n this.image = _data[\"image\"];\r\n this.provider = _data[\"provider\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AuthenticateNguoiThueResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AuthenticateNguoiThueResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"name\"] = this.name;\r\n data[\"username\"] = this.username;\r\n data[\"email\"] = this.email;\r\n data[\"jwtToken\"] = this.jwtToken;\r\n data[\"refreshToken\"] = this.refreshToken;\r\n data[\"avatar\"] = this.avatar;\r\n data[\"status\"] = this.status;\r\n data[\"tag\"] = this.tag;\r\n data[\"unitCode\"] = this.unitCode;\r\n data[\"cccd\"] = this.cccd;\r\n data[\"dienthoai\"] = this.dienthoai;\r\n data[\"unitName\"] = this.unitName;\r\n data[\"userType\"] = this.userType;\r\n data[\"type\"] = this.type;\r\n data[\"image\"] = this.image;\r\n data[\"provider\"] = this.provider;\r\n return data;\r\n }\r\n\r\n clone(): AuthenticateNguoiThueResponse {\r\n const json = this.toJSON();\r\n let result = new AuthenticateNguoiThueResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IAuthenticateNguoiThueResponse {\r\n id?: number;\r\n fullName?: string | undefined;\r\n name?: string | undefined;\r\n username?: string | undefined;\r\n email?: string | undefined;\r\n jwtToken?: string | undefined;\r\n refreshToken?: string | undefined;\r\n avatar?: string | undefined;\r\n status?: string | undefined;\r\n tag?: string | undefined;\r\n unitCode?: string | undefined;\r\n cccd?: string | undefined;\r\n dienthoai?: string | undefined;\r\n unitName?: string | undefined;\r\n userType?: number | undefined;\r\n type?: number | undefined;\r\n image?: string | undefined;\r\n provider?: string | undefined;\r\n}\r\n\r\nexport class AuthenticateNguoiThueResponseApiResponse implements IAuthenticateNguoiThueResponseApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: AuthenticateNguoiThueResponse;\r\n\r\n constructor(data?: IAuthenticateNguoiThueResponseApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new AuthenticateNguoiThueResponse(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? AuthenticateNguoiThueResponse.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): AuthenticateNguoiThueResponseApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AuthenticateNguoiThueResponseApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): AuthenticateNguoiThueResponseApiResponse {\r\n const json = this.toJSON();\r\n let result = new AuthenticateNguoiThueResponseApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IAuthenticateNguoiThueResponseApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IAuthenticateNguoiThueResponse;\r\n}\r\n\r\nexport class AuthenticateRequest implements IAuthenticateRequest {\r\n username!: string;\r\n password!: string;\r\n appId?: number | undefined;\r\n type?: number;\r\n dinhDanhApp?: string | undefined;\r\n tag?: string | undefined;\r\n\r\n constructor(data?: IAuthenticateRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.username = _data[\"username\"];\r\n this.password = _data[\"password\"];\r\n this.appId = _data[\"appId\"];\r\n this.type = _data[\"type\"];\r\n this.dinhDanhApp = _data[\"dinhDanhApp\"];\r\n this.tag = _data[\"tag\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AuthenticateRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AuthenticateRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"username\"] = this.username;\r\n data[\"password\"] = this.password;\r\n data[\"appId\"] = this.appId;\r\n data[\"type\"] = this.type;\r\n data[\"dinhDanhApp\"] = this.dinhDanhApp;\r\n data[\"tag\"] = this.tag;\r\n return data;\r\n }\r\n\r\n clone(): AuthenticateRequest {\r\n const json = this.toJSON();\r\n let result = new AuthenticateRequest();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IAuthenticateRequest {\r\n username: string;\r\n password: string;\r\n appId?: number | undefined;\r\n type?: number;\r\n dinhDanhApp?: string | undefined;\r\n tag?: string | undefined;\r\n}\r\n\r\nexport class AuthenticateResponse implements IAuthenticateResponse {\r\n id?: number;\r\n unitCode?: string | undefined;\r\n unitName?: string | undefined;\r\n userName?: string | undefined;\r\n fullName?: string | undefined;\r\n jwtToken?: string | undefined;\r\n refreshToken?: string | undefined;\r\n capDonVi?: number | undefined;\r\n localKey?: string | undefined;\r\n type?: number;\r\n\r\n constructor(data?: IAuthenticateResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.unitCode = _data[\"unitCode\"];\r\n this.unitName = _data[\"unitName\"];\r\n this.userName = _data[\"userName\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.jwtToken = _data[\"jwtToken\"];\r\n this.refreshToken = _data[\"refreshToken\"];\r\n this.capDonVi = _data[\"capDonVi\"];\r\n this.localKey = _data[\"localKey\"];\r\n this.type = _data[\"type\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AuthenticateResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AuthenticateResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"unitCode\"] = this.unitCode;\r\n data[\"unitName\"] = this.unitName;\r\n data[\"userName\"] = this.userName;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"jwtToken\"] = this.jwtToken;\r\n data[\"refreshToken\"] = this.refreshToken;\r\n data[\"capDonVi\"] = this.capDonVi;\r\n data[\"localKey\"] = this.localKey;\r\n data[\"type\"] = this.type;\r\n return data;\r\n }\r\n\r\n clone(): AuthenticateResponse {\r\n const json = this.toJSON();\r\n let result = new AuthenticateResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IAuthenticateResponse {\r\n id?: number;\r\n unitCode?: string | undefined;\r\n unitName?: string | undefined;\r\n userName?: string | undefined;\r\n fullName?: string | undefined;\r\n jwtToken?: string | undefined;\r\n refreshToken?: string | undefined;\r\n capDonVi?: number | undefined;\r\n localKey?: string | undefined;\r\n type?: number;\r\n}\r\n\r\nexport class AuthenticateResponseApiResponse implements IAuthenticateResponseApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: AuthenticateResponse;\r\n\r\n constructor(data?: IAuthenticateResponseApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new AuthenticateResponse(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? AuthenticateResponse.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): AuthenticateResponseApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AuthenticateResponseApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): AuthenticateResponseApiResponse {\r\n const json = this.toJSON();\r\n let result = new AuthenticateResponseApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IAuthenticateResponseApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IAuthenticateResponse;\r\n}\r\n\r\nexport class Avatar implements IAvatar {\r\n anhDaiDien?: string | undefined;\r\n id?: number;\r\n\r\n constructor(data?: IAvatar) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.anhDaiDien = _data[\"anhDaiDien\"];\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Avatar {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Avatar();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"anhDaiDien\"] = this.anhDaiDien;\r\n data[\"id\"] = this.id;\r\n return data;\r\n }\r\n\r\n clone(): Avatar {\r\n const json = this.toJSON();\r\n let result = new Avatar();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IAvatar {\r\n anhDaiDien?: string | undefined;\r\n id?: number;\r\n}\r\n\r\nexport class BooleanApiResponse implements IBooleanApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: boolean;\r\n\r\n constructor(data?: IBooleanApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BooleanApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BooleanApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data;\r\n return data;\r\n }\r\n\r\n clone(): BooleanApiResponse {\r\n const json = this.toJSON();\r\n let result = new BooleanApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IBooleanApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: boolean;\r\n}\r\n\r\nexport class Calendar implements ICalendar {\r\n readonly minSupportedDateTime?: Date;\r\n readonly maxSupportedDateTime?: Date;\r\n algorithmType?: CalendarAlgorithmType;\r\n readonly isReadOnly?: boolean;\r\n readonly eras?: number[] | undefined;\r\n twoDigitYearMax?: number;\r\n\r\n constructor(data?: ICalendar) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).minSupportedDateTime = _data[\"minSupportedDateTime\"] ? new Date(_data[\"minSupportedDateTime\"].toString()) : undefined;\r\n (this).maxSupportedDateTime = _data[\"maxSupportedDateTime\"] ? new Date(_data[\"maxSupportedDateTime\"].toString()) : undefined;\r\n this.algorithmType = _data[\"algorithmType\"];\r\n (this).isReadOnly = _data[\"isReadOnly\"];\r\n if (Array.isArray(_data[\"eras\"])) {\r\n (this).eras = [] as any;\r\n for (let item of _data[\"eras\"])\r\n (this).eras!.push(item);\r\n }\r\n this.twoDigitYearMax = _data[\"twoDigitYearMax\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Calendar {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Calendar();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"minSupportedDateTime\"] = this.minSupportedDateTime ? this.minSupportedDateTime.toISOString() : undefined;\r\n data[\"maxSupportedDateTime\"] = this.maxSupportedDateTime ? this.maxSupportedDateTime.toISOString() : undefined;\r\n data[\"algorithmType\"] = this.algorithmType;\r\n data[\"isReadOnly\"] = this.isReadOnly;\r\n if (Array.isArray(this.eras)) {\r\n data[\"eras\"] = [];\r\n for (let item of this.eras)\r\n data[\"eras\"].push(item);\r\n }\r\n data[\"twoDigitYearMax\"] = this.twoDigitYearMax;\r\n return data;\r\n }\r\n\r\n clone(): Calendar {\r\n const json = this.toJSON();\r\n let result = new Calendar();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICalendar {\r\n minSupportedDateTime?: Date;\r\n maxSupportedDateTime?: Date;\r\n algorithmType?: CalendarAlgorithmType;\r\n isReadOnly?: boolean;\r\n eras?: number[] | undefined;\r\n twoDigitYearMax?: number;\r\n}\r\n\r\nexport enum CalendarAlgorithmType {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n}\r\n\r\nexport enum CalendarWeekRule {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n}\r\n\r\nexport enum CallingConventions {\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _32 = 32,\r\n _64 = 64,\r\n}\r\n\r\nexport class CauhinhThongbaoViewModel implements ICauhinhThongbaoViewModel {\r\n id?: number;\r\n thoigian?: string | undefined;\r\n noidung?: string | undefined;\r\n trangthai?: number | undefined;\r\n createddate?: Date | undefined;\r\n updateddate?: Date | undefined;\r\n unitcode?: string | undefined;\r\n usercreate?: number | undefined;\r\n userupdate?: number | undefined;\r\n tanxuat?: number | undefined;\r\n loaithongbao?: number | undefined;\r\n userName?: string | undefined;\r\n\r\n constructor(data?: ICauhinhThongbaoViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.thoigian = _data[\"thoigian\"];\r\n this.noidung = _data[\"noidung\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.createddate = _data[\"createddate\"] ? new Date(_data[\"createddate\"].toString()) : undefined;\r\n this.updateddate = _data[\"updateddate\"] ? new Date(_data[\"updateddate\"].toString()) : undefined;\r\n this.unitcode = _data[\"unitcode\"];\r\n this.usercreate = _data[\"usercreate\"];\r\n this.userupdate = _data[\"userupdate\"];\r\n this.tanxuat = _data[\"tanxuat\"];\r\n this.loaithongbao = _data[\"loaithongbao\"];\r\n this.userName = _data[\"userName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CauhinhThongbaoViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CauhinhThongbaoViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"thoigian\"] = this.thoigian;\r\n data[\"noidung\"] = this.noidung;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"createddate\"] = this.createddate ? this.createddate.toISOString() : undefined;\r\n data[\"updateddate\"] = this.updateddate ? this.updateddate.toISOString() : undefined;\r\n data[\"unitcode\"] = this.unitcode;\r\n data[\"usercreate\"] = this.usercreate;\r\n data[\"userupdate\"] = this.userupdate;\r\n data[\"tanxuat\"] = this.tanxuat;\r\n data[\"loaithongbao\"] = this.loaithongbao;\r\n data[\"userName\"] = this.userName;\r\n return data;\r\n }\r\n\r\n clone(): CauhinhThongbaoViewModel {\r\n const json = this.toJSON();\r\n let result = new CauhinhThongbaoViewModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICauhinhThongbaoViewModel {\r\n id?: number;\r\n thoigian?: string | undefined;\r\n noidung?: string | undefined;\r\n trangthai?: number | undefined;\r\n createddate?: Date | undefined;\r\n updateddate?: Date | undefined;\r\n unitcode?: string | undefined;\r\n usercreate?: number | undefined;\r\n userupdate?: number | undefined;\r\n tanxuat?: number | undefined;\r\n loaithongbao?: number | undefined;\r\n userName?: string | undefined;\r\n}\r\n\r\nexport class CauhinhThongbaoViewModelListApiResponse implements ICauhinhThongbaoViewModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: CauhinhThongbaoViewModel[] | undefined;\r\n\r\n constructor(data?: ICauhinhThongbaoViewModelListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new CauhinhThongbaoViewModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(CauhinhThongbaoViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CauhinhThongbaoViewModelListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CauhinhThongbaoViewModelListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): CauhinhThongbaoViewModelListApiResponse {\r\n const json = this.toJSON();\r\n let result = new CauhinhThongbaoViewModelListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICauhinhThongbaoViewModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ICauhinhThongbaoViewModel[] | undefined;\r\n}\r\n\r\nexport class ChatgptlogEntity implements IChatgptlogEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n answer?: string | undefined;\r\n created?: Date | undefined;\r\n id?: string | undefined;\r\n question?: string | undefined;\r\n userid?: number;\r\n\r\n constructor(data?: IChatgptlogEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.answer = _data[\"answer\"];\r\n this.created = _data[\"created\"] ? new Date(_data[\"created\"].toString()) : undefined;\r\n this.id = _data[\"id\"];\r\n this.question = _data[\"question\"];\r\n this.userid = _data[\"userid\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChatgptlogEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChatgptlogEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"answer\"] = this.answer;\r\n data[\"created\"] = this.created ? this.created.toISOString() : undefined;\r\n data[\"id\"] = this.id;\r\n data[\"question\"] = this.question;\r\n data[\"userid\"] = this.userid;\r\n return data;\r\n }\r\n\r\n clone(): ChatgptlogEntity {\r\n const json = this.toJSON();\r\n let result = new ChatgptlogEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IChatgptlogEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n answer?: string | undefined;\r\n created?: Date | undefined;\r\n id?: string | undefined;\r\n question?: string | undefined;\r\n userid?: number;\r\n}\r\n\r\nexport class ChatgptlogEntityApiResponse implements IChatgptlogEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ChatgptlogEntity;\r\n\r\n constructor(data?: IChatgptlogEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ChatgptlogEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ChatgptlogEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChatgptlogEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChatgptlogEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ChatgptlogEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new ChatgptlogEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IChatgptlogEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IChatgptlogEntity;\r\n}\r\n\r\nexport class ChatgptlogEntityListApiResponse implements IChatgptlogEntityListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ChatgptlogEntity[] | undefined;\r\n\r\n constructor(data?: IChatgptlogEntityListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ChatgptlogEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ChatgptlogEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChatgptlogEntityListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChatgptlogEntityListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ChatgptlogEntityListApiResponse {\r\n const json = this.toJSON();\r\n let result = new ChatgptlogEntityListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IChatgptlogEntityListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IChatgptlogEntity[] | undefined;\r\n}\r\n\r\nexport class ChatInfo implements IChatInfo {\r\n chatContent?: string | undefined;\r\n userId?: number;\r\n id?: string | undefined;\r\n created?: Date;\r\n\r\n constructor(data?: IChatInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.chatContent = _data[\"chatContent\"];\r\n this.userId = _data[\"userId\"];\r\n this.id = _data[\"id\"];\r\n this.created = _data[\"created\"] ? new Date(_data[\"created\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChatInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChatInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"chatContent\"] = this.chatContent;\r\n data[\"userId\"] = this.userId;\r\n data[\"id\"] = this.id;\r\n data[\"created\"] = this.created ? this.created.toISOString() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ChatInfo {\r\n const json = this.toJSON();\r\n let result = new ChatInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IChatInfo {\r\n chatContent?: string | undefined;\r\n userId?: number;\r\n id?: string | undefined;\r\n created?: Date;\r\n}\r\n\r\nexport class CheckNguoiThueModel implements ICheckNguoiThueModel {\r\n cmnd?: string | undefined;\r\n sdt?: string | undefined;\r\n idNhatro?: number | undefined;\r\n\r\n constructor(data?: ICheckNguoiThueModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.cmnd = _data[\"cmnd\"];\r\n this.sdt = _data[\"sdt\"];\r\n this.idNhatro = _data[\"idNhatro\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CheckNguoiThueModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CheckNguoiThueModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"cmnd\"] = this.cmnd;\r\n data[\"sdt\"] = this.sdt;\r\n data[\"idNhatro\"] = this.idNhatro;\r\n return data;\r\n }\r\n\r\n clone(): CheckNguoiThueModel {\r\n const json = this.toJSON();\r\n let result = new CheckNguoiThueModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICheckNguoiThueModel {\r\n cmnd?: string | undefined;\r\n sdt?: string | undefined;\r\n idNhatro?: number | undefined;\r\n}\r\n\r\nexport class ChutroqlnhatroModelitem implements IChutroqlnhatroModelitem {\r\n id?: number;\r\n solanvipham?: number;\r\n luotdanhgia?: number;\r\n tennhatro?: string | undefined;\r\n tenchunhatro?: string | undefined;\r\n dienthoai?: string | undefined;\r\n diachi?: string | undefined;\r\n songuoithue?: number;\r\n songuoithue_khacnhatro?: number;\r\n sophong?: string | undefined;\r\n sophongTrong?: number;\r\n sophongthue?: number;\r\n avgDanhGia?: number;\r\n totalRateCount?: number;\r\n dichVu?: string | undefined;\r\n loaiNhaTro?: number | undefined;\r\n isphong?: boolean;\r\n mota?: string | undefined;\r\n madiabankey?: string | undefined;\r\n tuGia?: number | undefined;\r\n denGia?: number | undefined;\r\n\r\n constructor(data?: IChutroqlnhatroModelitem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.solanvipham = _data[\"solanvipham\"];\r\n this.luotdanhgia = _data[\"luotdanhgia\"];\r\n this.tennhatro = _data[\"tennhatro\"];\r\n this.tenchunhatro = _data[\"tenchunhatro\"];\r\n this.dienthoai = _data[\"dienthoai\"];\r\n this.diachi = _data[\"diachi\"];\r\n this.songuoithue = _data[\"songuoithue\"];\r\n this.songuoithue_khacnhatro = _data[\"songuoithue_khacnhatro\"];\r\n this.sophong = _data[\"sophong\"];\r\n this.sophongTrong = _data[\"sophongTrong\"];\r\n this.sophongthue = _data[\"sophongthue\"];\r\n this.avgDanhGia = _data[\"avgDanhGia\"];\r\n this.totalRateCount = _data[\"totalRateCount\"];\r\n this.dichVu = _data[\"dichVu\"];\r\n this.loaiNhaTro = _data[\"loaiNhaTro\"];\r\n this.isphong = _data[\"isphong\"];\r\n this.mota = _data[\"mota\"];\r\n this.madiabankey = _data[\"madiabankey\"];\r\n this.tuGia = _data[\"tuGia\"];\r\n this.denGia = _data[\"denGia\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChutroqlnhatroModelitem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChutroqlnhatroModelitem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"solanvipham\"] = this.solanvipham;\r\n data[\"luotdanhgia\"] = this.luotdanhgia;\r\n data[\"tennhatro\"] = this.tennhatro;\r\n data[\"tenchunhatro\"] = this.tenchunhatro;\r\n data[\"dienthoai\"] = this.dienthoai;\r\n data[\"diachi\"] = this.diachi;\r\n data[\"songuoithue\"] = this.songuoithue;\r\n data[\"songuoithue_khacnhatro\"] = this.songuoithue_khacnhatro;\r\n data[\"sophong\"] = this.sophong;\r\n data[\"sophongTrong\"] = this.sophongTrong;\r\n data[\"sophongthue\"] = this.sophongthue;\r\n data[\"avgDanhGia\"] = this.avgDanhGia;\r\n data[\"totalRateCount\"] = this.totalRateCount;\r\n data[\"dichVu\"] = this.dichVu;\r\n data[\"loaiNhaTro\"] = this.loaiNhaTro;\r\n data[\"isphong\"] = this.isphong;\r\n data[\"mota\"] = this.mota;\r\n data[\"madiabankey\"] = this.madiabankey;\r\n data[\"tuGia\"] = this.tuGia;\r\n data[\"denGia\"] = this.denGia;\r\n return data;\r\n }\r\n\r\n clone(): ChutroqlnhatroModelitem {\r\n const json = this.toJSON();\r\n let result = new ChutroqlnhatroModelitem();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IChutroqlnhatroModelitem {\r\n id?: number;\r\n solanvipham?: number;\r\n luotdanhgia?: number;\r\n tennhatro?: string | undefined;\r\n tenchunhatro?: string | undefined;\r\n dienthoai?: string | undefined;\r\n diachi?: string | undefined;\r\n songuoithue?: number;\r\n songuoithue_khacnhatro?: number;\r\n sophong?: string | undefined;\r\n sophongTrong?: number;\r\n sophongthue?: number;\r\n avgDanhGia?: number;\r\n totalRateCount?: number;\r\n dichVu?: string | undefined;\r\n loaiNhaTro?: number | undefined;\r\n isphong?: boolean;\r\n mota?: string | undefined;\r\n madiabankey?: string | undefined;\r\n tuGia?: number | undefined;\r\n denGia?: number | undefined;\r\n}\r\n\r\nexport class ChutroqlnhatroModelitemIEnumerablePageModelView2 implements IChutroqlnhatroModelitemIEnumerablePageModelView2 {\r\n data?: ChutroqlnhatroModelitem[] | undefined;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IChutroqlnhatroModelitemIEnumerablePageModelView2) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ChutroqlnhatroModelitem(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ChutroqlnhatroModelitem.fromJS(item));\r\n }\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChutroqlnhatroModelitemIEnumerablePageModelView2 {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChutroqlnhatroModelitemIEnumerablePageModelView2();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): ChutroqlnhatroModelitemIEnumerablePageModelView2 {\r\n const json = this.toJSON();\r\n let result = new ChutroqlnhatroModelitemIEnumerablePageModelView2();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IChutroqlnhatroModelitemIEnumerablePageModelView2 {\r\n data?: IChutroqlnhatroModelitem[] | undefined;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class ChutroqlnhatroModelitemIEnumerablePageModelView2ApiResponse implements IChutroqlnhatroModelitemIEnumerablePageModelView2ApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ChutroqlnhatroModelitemIEnumerablePageModelView2;\r\n\r\n constructor(data?: IChutroqlnhatroModelitemIEnumerablePageModelView2ApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ChutroqlnhatroModelitemIEnumerablePageModelView2(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ChutroqlnhatroModelitemIEnumerablePageModelView2.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChutroqlnhatroModelitemIEnumerablePageModelView2ApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChutroqlnhatroModelitemIEnumerablePageModelView2ApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ChutroqlnhatroModelitemIEnumerablePageModelView2ApiResponse {\r\n const json = this.toJSON();\r\n let result = new ChutroqlnhatroModelitemIEnumerablePageModelView2ApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IChutroqlnhatroModelitemIEnumerablePageModelView2ApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IChutroqlnhatroModelitemIEnumerablePageModelView2;\r\n}\r\n\r\nexport class CompareInfo implements ICompareInfo {\r\n readonly name?: string | undefined;\r\n version?: SortVersion;\r\n readonly lcid?: number;\r\n\r\n constructor(data?: ICompareInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.version = data.version && !(data.version).toJSON ? new SortVersion(data.version) : this.version;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n this.version = _data[\"version\"] ? SortVersion.fromJS(_data[\"version\"]) : undefined;\r\n (this).lcid = _data[\"lcid\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CompareInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CompareInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"version\"] = this.version ? this.version.toJSON() : undefined;\r\n data[\"lcid\"] = this.lcid;\r\n return data;\r\n }\r\n\r\n clone(): CompareInfo {\r\n const json = this.toJSON();\r\n let result = new CompareInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICompareInfo {\r\n name?: string | undefined;\r\n version?: ISortVersion;\r\n lcid?: number;\r\n}\r\n\r\nexport class CongAnList implements ICongAnList {\r\n unitcode?: string | undefined;\r\n ten?: string | undefined;\r\n maDonViCongAnCha?: string | undefined;\r\n tenDonViCongAnCha?: string | undefined;\r\n\r\n constructor(data?: ICongAnList) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.unitcode = _data[\"unitcode\"];\r\n this.ten = _data[\"ten\"];\r\n this.maDonViCongAnCha = _data[\"maDonViCongAnCha\"];\r\n this.tenDonViCongAnCha = _data[\"tenDonViCongAnCha\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CongAnList {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CongAnList();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"unitcode\"] = this.unitcode;\r\n data[\"ten\"] = this.ten;\r\n data[\"maDonViCongAnCha\"] = this.maDonViCongAnCha;\r\n data[\"tenDonViCongAnCha\"] = this.tenDonViCongAnCha;\r\n return data;\r\n }\r\n\r\n clone(): CongAnList {\r\n const json = this.toJSON();\r\n let result = new CongAnList();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICongAnList {\r\n unitcode?: string | undefined;\r\n ten?: string | undefined;\r\n maDonViCongAnCha?: string | undefined;\r\n tenDonViCongAnCha?: string | undefined;\r\n}\r\n\r\nexport class CongAnListListApiResponse implements ICongAnListListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: CongAnList[] | undefined;\r\n\r\n constructor(data?: ICongAnListListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new CongAnList(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(CongAnList.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CongAnListListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CongAnListListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): CongAnListListApiResponse {\r\n const json = this.toJSON();\r\n let result = new CongAnListListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICongAnListListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ICongAnList[] | undefined;\r\n}\r\n\r\nexport class ConstructorInfo implements IConstructorInfo {\r\n readonly name?: string | undefined;\r\n declaringType?: Type;\r\n reflectedType?: Type;\r\n module?: Module;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n attributes?: MethodAttributes;\r\n methodImplementationFlags?: MethodImplAttributes;\r\n callingConvention?: CallingConventions;\r\n readonly isAbstract?: boolean;\r\n readonly isConstructor?: boolean;\r\n readonly isFinal?: boolean;\r\n readonly isHideBySig?: boolean;\r\n readonly isSpecialName?: boolean;\r\n readonly isStatic?: boolean;\r\n readonly isVirtual?: boolean;\r\n readonly isAssembly?: boolean;\r\n readonly isFamily?: boolean;\r\n readonly isFamilyAndAssembly?: boolean;\r\n readonly isFamilyOrAssembly?: boolean;\r\n readonly isPrivate?: boolean;\r\n readonly isPublic?: boolean;\r\n readonly isConstructedGenericMethod?: boolean;\r\n readonly isGenericMethod?: boolean;\r\n readonly isGenericMethodDefinition?: boolean;\r\n readonly containsGenericParameters?: boolean;\r\n methodHandle?: RuntimeMethodHandle;\r\n readonly isSecurityCritical?: boolean;\r\n readonly isSecuritySafeCritical?: boolean;\r\n readonly isSecurityTransparent?: boolean;\r\n memberType?: MemberTypes;\r\n\r\n constructor(data?: IConstructorInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType;\r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType;\r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module;\r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.methodHandle = data.methodHandle && !(data.methodHandle).toJSON ? new RuntimeMethodHandle(data.methodHandle) : this.methodHandle;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n this.attributes = _data[\"attributes\"];\r\n this.methodImplementationFlags = _data[\"methodImplementationFlags\"];\r\n this.callingConvention = _data[\"callingConvention\"];\r\n (this).isAbstract = _data[\"isAbstract\"];\r\n (this).isConstructor = _data[\"isConstructor\"];\r\n (this).isFinal = _data[\"isFinal\"];\r\n (this).isHideBySig = _data[\"isHideBySig\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n (this).isStatic = _data[\"isStatic\"];\r\n (this).isVirtual = _data[\"isVirtual\"];\r\n (this).isAssembly = _data[\"isAssembly\"];\r\n (this).isFamily = _data[\"isFamily\"];\r\n (this).isFamilyAndAssembly = _data[\"isFamilyAndAssembly\"];\r\n (this).isFamilyOrAssembly = _data[\"isFamilyOrAssembly\"];\r\n (this).isPrivate = _data[\"isPrivate\"];\r\n (this).isPublic = _data[\"isPublic\"];\r\n (this).isConstructedGenericMethod = _data[\"isConstructedGenericMethod\"];\r\n (this).isGenericMethod = _data[\"isGenericMethod\"];\r\n (this).isGenericMethodDefinition = _data[\"isGenericMethodDefinition\"];\r\n (this).containsGenericParameters = _data[\"containsGenericParameters\"];\r\n this.methodHandle = _data[\"methodHandle\"] ? RuntimeMethodHandle.fromJS(_data[\"methodHandle\"]) : undefined;\r\n (this).isSecurityCritical = _data[\"isSecurityCritical\"];\r\n (this).isSecuritySafeCritical = _data[\"isSecuritySafeCritical\"];\r\n (this).isSecurityTransparent = _data[\"isSecurityTransparent\"];\r\n this.memberType = _data[\"memberType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ConstructorInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ConstructorInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"methodImplementationFlags\"] = this.methodImplementationFlags;\r\n data[\"callingConvention\"] = this.callingConvention;\r\n data[\"isAbstract\"] = this.isAbstract;\r\n data[\"isConstructor\"] = this.isConstructor;\r\n data[\"isFinal\"] = this.isFinal;\r\n data[\"isHideBySig\"] = this.isHideBySig;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"isStatic\"] = this.isStatic;\r\n data[\"isVirtual\"] = this.isVirtual;\r\n data[\"isAssembly\"] = this.isAssembly;\r\n data[\"isFamily\"] = this.isFamily;\r\n data[\"isFamilyAndAssembly\"] = this.isFamilyAndAssembly;\r\n data[\"isFamilyOrAssembly\"] = this.isFamilyOrAssembly;\r\n data[\"isPrivate\"] = this.isPrivate;\r\n data[\"isPublic\"] = this.isPublic;\r\n data[\"isConstructedGenericMethod\"] = this.isConstructedGenericMethod;\r\n data[\"isGenericMethod\"] = this.isGenericMethod;\r\n data[\"isGenericMethodDefinition\"] = this.isGenericMethodDefinition;\r\n data[\"containsGenericParameters\"] = this.containsGenericParameters;\r\n data[\"methodHandle\"] = this.methodHandle ? this.methodHandle.toJSON() : undefined;\r\n data[\"isSecurityCritical\"] = this.isSecurityCritical;\r\n data[\"isSecuritySafeCritical\"] = this.isSecuritySafeCritical;\r\n data[\"isSecurityTransparent\"] = this.isSecurityTransparent;\r\n data[\"memberType\"] = this.memberType;\r\n return data;\r\n }\r\n\r\n clone(): ConstructorInfo {\r\n const json = this.toJSON();\r\n let result = new ConstructorInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IConstructorInfo {\r\n name?: string | undefined;\r\n declaringType?: IType;\r\n reflectedType?: IType;\r\n module?: IModule;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n attributes?: MethodAttributes;\r\n methodImplementationFlags?: MethodImplAttributes;\r\n callingConvention?: CallingConventions;\r\n isAbstract?: boolean;\r\n isConstructor?: boolean;\r\n isFinal?: boolean;\r\n isHideBySig?: boolean;\r\n isSpecialName?: boolean;\r\n isStatic?: boolean;\r\n isVirtual?: boolean;\r\n isAssembly?: boolean;\r\n isFamily?: boolean;\r\n isFamilyAndAssembly?: boolean;\r\n isFamilyOrAssembly?: boolean;\r\n isPrivate?: boolean;\r\n isPublic?: boolean;\r\n isConstructedGenericMethod?: boolean;\r\n isGenericMethod?: boolean;\r\n isGenericMethodDefinition?: boolean;\r\n containsGenericParameters?: boolean;\r\n methodHandle?: IRuntimeMethodHandle;\r\n isSecurityCritical?: boolean;\r\n isSecuritySafeCritical?: boolean;\r\n isSecurityTransparent?: boolean;\r\n memberType?: MemberTypes;\r\n}\r\n\r\nexport class Context implements IContext {\r\n setExistingEntityFieldsInGet?: boolean;\r\n\r\n constructor(data?: IContext) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.setExistingEntityFieldsInGet = _data[\"setExistingEntityFieldsInGet\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Context {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Context();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"setExistingEntityFieldsInGet\"] = this.setExistingEntityFieldsInGet;\r\n return data;\r\n }\r\n\r\n clone(): Context {\r\n const json = this.toJSON();\r\n let result = new Context();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IContext {\r\n setExistingEntityFieldsInGet?: boolean;\r\n}\r\n\r\nexport class ContractMobileModel implements IContractMobileModel {\r\n contractID?: number | undefined;\r\n roomID?: number | undefined;\r\n roomName?: string | undefined;\r\n amount?: number | undefined;\r\n status?: number | undefined;\r\n statusName?: string | undefined;\r\n activity?: boolean | undefined;\r\n activityName?: string | undefined;\r\n\r\n constructor(data?: IContractMobileModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.contractID = _data[\"contractID\"];\r\n this.roomID = _data[\"roomID\"];\r\n this.roomName = _data[\"roomName\"];\r\n this.amount = _data[\"amount\"];\r\n this.status = _data[\"status\"];\r\n this.statusName = _data[\"statusName\"];\r\n this.activity = _data[\"activity\"];\r\n this.activityName = _data[\"activityName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContractMobileModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContractMobileModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"contractID\"] = this.contractID;\r\n data[\"roomID\"] = this.roomID;\r\n data[\"roomName\"] = this.roomName;\r\n data[\"amount\"] = this.amount;\r\n data[\"status\"] = this.status;\r\n data[\"statusName\"] = this.statusName;\r\n data[\"activity\"] = this.activity;\r\n data[\"activityName\"] = this.activityName;\r\n return data;\r\n }\r\n\r\n clone(): ContractMobileModel {\r\n const json = this.toJSON();\r\n let result = new ContractMobileModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IContractMobileModel {\r\n contractID?: number | undefined;\r\n roomID?: number | undefined;\r\n roomName?: string | undefined;\r\n amount?: number | undefined;\r\n status?: number | undefined;\r\n statusName?: string | undefined;\r\n activity?: boolean | undefined;\r\n activityName?: string | undefined;\r\n}\r\n\r\nexport class ContractMobileModelIEnumerablePageModelView implements IContractMobileModelIEnumerablePageModelView {\r\n data?: ContractMobileModel[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IContractMobileModelIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ContractMobileModel(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ContractMobileModel.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContractMobileModelIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContractMobileModelIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): ContractMobileModelIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new ContractMobileModelIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IContractMobileModelIEnumerablePageModelView {\r\n data?: IContractMobileModel[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class ContractMobileModelIEnumerablePageModelViewApiResponse implements IContractMobileModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ContractMobileModelIEnumerablePageModelView;\r\n\r\n constructor(data?: IContractMobileModelIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ContractMobileModelIEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ContractMobileModelIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContractMobileModelIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContractMobileModelIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ContractMobileModelIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new ContractMobileModelIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IContractMobileModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IContractMobileModelIEnumerablePageModelView;\r\n}\r\n\r\nexport class CountNhatroPhongtroNguoithue implements ICountNhatroPhongtroNguoithue {\r\n countNhatro?: number;\r\n countPhongthue?: number;\r\n countKhachthue?: number;\r\n countNhatro_all?: number;\r\n countPhongthue_all?: number;\r\n countKhachthue_all?: number;\r\n\r\n constructor(data?: ICountNhatroPhongtroNguoithue) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.countNhatro = _data[\"countNhatro\"];\r\n this.countPhongthue = _data[\"countPhongthue\"];\r\n this.countKhachthue = _data[\"countKhachthue\"];\r\n this.countNhatro_all = _data[\"countNhatro_all\"];\r\n this.countPhongthue_all = _data[\"countPhongthue_all\"];\r\n this.countKhachthue_all = _data[\"countKhachthue_all\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CountNhatroPhongtroNguoithue {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CountNhatroPhongtroNguoithue();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"countNhatro\"] = this.countNhatro;\r\n data[\"countPhongthue\"] = this.countPhongthue;\r\n data[\"countKhachthue\"] = this.countKhachthue;\r\n data[\"countNhatro_all\"] = this.countNhatro_all;\r\n data[\"countPhongthue_all\"] = this.countPhongthue_all;\r\n data[\"countKhachthue_all\"] = this.countKhachthue_all;\r\n return data;\r\n }\r\n\r\n clone(): CountNhatroPhongtroNguoithue {\r\n const json = this.toJSON();\r\n let result = new CountNhatroPhongtroNguoithue();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICountNhatroPhongtroNguoithue {\r\n countNhatro?: number;\r\n countPhongthue?: number;\r\n countKhachthue?: number;\r\n countNhatro_all?: number;\r\n countPhongthue_all?: number;\r\n countKhachthue_all?: number;\r\n}\r\n\r\nexport class CountNhatroPhongtroNguoithueApiResponse implements ICountNhatroPhongtroNguoithueApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: CountNhatroPhongtroNguoithue;\r\n\r\n constructor(data?: ICountNhatroPhongtroNguoithueApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new CountNhatroPhongtroNguoithue(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? CountNhatroPhongtroNguoithue.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): CountNhatroPhongtroNguoithueApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CountNhatroPhongtroNguoithueApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): CountNhatroPhongtroNguoithueApiResponse {\r\n const json = this.toJSON();\r\n let result = new CountNhatroPhongtroNguoithueApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICountNhatroPhongtroNguoithueApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ICountNhatroPhongtroNguoithue;\r\n}\r\n\r\nexport class CultureInfo implements ICultureInfo {\r\n parent?: CultureInfo;\r\n readonly lcid?: number;\r\n readonly keyboardLayoutId?: number;\r\n readonly name?: string | undefined;\r\n readonly ietfLanguageTag?: string | undefined;\r\n readonly displayName?: string | undefined;\r\n readonly nativeName?: string | undefined;\r\n readonly englishName?: string | undefined;\r\n readonly twoLetterISOLanguageName?: string | undefined;\r\n readonly threeLetterISOLanguageName?: string | undefined;\r\n readonly threeLetterWindowsLanguageName?: string | undefined;\r\n compareInfo?: CompareInfo;\r\n textInfo?: TextInfo;\r\n readonly isNeutralCulture?: boolean;\r\n cultureTypes?: CultureTypes;\r\n numberFormat?: NumberFormatInfo;\r\n dateTimeFormat?: DateTimeFormatInfo;\r\n calendar?: Calendar;\r\n readonly optionalCalendars?: Calendar[] | undefined;\r\n readonly useUserOverride?: boolean;\r\n readonly isReadOnly?: boolean;\r\n\r\n constructor(data?: ICultureInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.parent = data.parent && !(data.parent).toJSON ? new CultureInfo(data.parent) : this.parent;\r\n this.compareInfo = data.compareInfo && !(data.compareInfo).toJSON ? new CompareInfo(data.compareInfo) : this.compareInfo;\r\n this.textInfo = data.textInfo && !(data.textInfo).toJSON ? new TextInfo(data.textInfo) : this.textInfo;\r\n this.numberFormat = data.numberFormat && !(data.numberFormat).toJSON ? new NumberFormatInfo(data.numberFormat) : this.numberFormat;\r\n this.dateTimeFormat = data.dateTimeFormat && !(data.dateTimeFormat).toJSON ? new DateTimeFormatInfo(data.dateTimeFormat) : this.dateTimeFormat;\r\n this.calendar = data.calendar && !(data.calendar).toJSON ? new Calendar(data.calendar) : this.calendar;\r\n if (data.optionalCalendars) {\r\n this.optionalCalendars = [];\r\n for (let i = 0; i < data.optionalCalendars.length; i++) {\r\n let item = data.optionalCalendars[i];\r\n this.optionalCalendars[i] = item && !(item).toJSON ? new Calendar(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.parent = _data[\"parent\"] ? CultureInfo.fromJS(_data[\"parent\"]) : undefined;\r\n (this).lcid = _data[\"lcid\"];\r\n (this).keyboardLayoutId = _data[\"keyboardLayoutId\"];\r\n (this).name = _data[\"name\"];\r\n (this).ietfLanguageTag = _data[\"ietfLanguageTag\"];\r\n (this).displayName = _data[\"displayName\"];\r\n (this).nativeName = _data[\"nativeName\"];\r\n (this).englishName = _data[\"englishName\"];\r\n (this).twoLetterISOLanguageName = _data[\"twoLetterISOLanguageName\"];\r\n (this).threeLetterISOLanguageName = _data[\"threeLetterISOLanguageName\"];\r\n (this).threeLetterWindowsLanguageName = _data[\"threeLetterWindowsLanguageName\"];\r\n this.compareInfo = _data[\"compareInfo\"] ? CompareInfo.fromJS(_data[\"compareInfo\"]) : undefined;\r\n this.textInfo = _data[\"textInfo\"] ? TextInfo.fromJS(_data[\"textInfo\"]) : undefined;\r\n (this).isNeutralCulture = _data[\"isNeutralCulture\"];\r\n this.cultureTypes = _data[\"cultureTypes\"];\r\n this.numberFormat = _data[\"numberFormat\"] ? NumberFormatInfo.fromJS(_data[\"numberFormat\"]) : undefined;\r\n this.dateTimeFormat = _data[\"dateTimeFormat\"] ? DateTimeFormatInfo.fromJS(_data[\"dateTimeFormat\"]) : undefined;\r\n this.calendar = _data[\"calendar\"] ? Calendar.fromJS(_data[\"calendar\"]) : undefined;\r\n if (Array.isArray(_data[\"optionalCalendars\"])) {\r\n (this).optionalCalendars = [] as any;\r\n for (let item of _data[\"optionalCalendars\"])\r\n (this).optionalCalendars!.push(Calendar.fromJS(item));\r\n }\r\n (this).useUserOverride = _data[\"useUserOverride\"];\r\n (this).isReadOnly = _data[\"isReadOnly\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CultureInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CultureInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"parent\"] = this.parent ? this.parent.toJSON() : undefined;\r\n data[\"lcid\"] = this.lcid;\r\n data[\"keyboardLayoutId\"] = this.keyboardLayoutId;\r\n data[\"name\"] = this.name;\r\n data[\"ietfLanguageTag\"] = this.ietfLanguageTag;\r\n data[\"displayName\"] = this.displayName;\r\n data[\"nativeName\"] = this.nativeName;\r\n data[\"englishName\"] = this.englishName;\r\n data[\"twoLetterISOLanguageName\"] = this.twoLetterISOLanguageName;\r\n data[\"threeLetterISOLanguageName\"] = this.threeLetterISOLanguageName;\r\n data[\"threeLetterWindowsLanguageName\"] = this.threeLetterWindowsLanguageName;\r\n data[\"compareInfo\"] = this.compareInfo ? this.compareInfo.toJSON() : undefined;\r\n data[\"textInfo\"] = this.textInfo ? this.textInfo.toJSON() : undefined;\r\n data[\"isNeutralCulture\"] = this.isNeutralCulture;\r\n data[\"cultureTypes\"] = this.cultureTypes;\r\n data[\"numberFormat\"] = this.numberFormat ? this.numberFormat.toJSON() : undefined;\r\n data[\"dateTimeFormat\"] = this.dateTimeFormat ? this.dateTimeFormat.toJSON() : undefined;\r\n data[\"calendar\"] = this.calendar ? this.calendar.toJSON() : undefined;\r\n if (Array.isArray(this.optionalCalendars)) {\r\n data[\"optionalCalendars\"] = [];\r\n for (let item of this.optionalCalendars)\r\n data[\"optionalCalendars\"].push(item.toJSON());\r\n }\r\n data[\"useUserOverride\"] = this.useUserOverride;\r\n data[\"isReadOnly\"] = this.isReadOnly;\r\n return data;\r\n }\r\n\r\n clone(): CultureInfo {\r\n const json = this.toJSON();\r\n let result = new CultureInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICultureInfo {\r\n parent?: ICultureInfo;\r\n lcid?: number;\r\n keyboardLayoutId?: number;\r\n name?: string | undefined;\r\n ietfLanguageTag?: string | undefined;\r\n displayName?: string | undefined;\r\n nativeName?: string | undefined;\r\n englishName?: string | undefined;\r\n twoLetterISOLanguageName?: string | undefined;\r\n threeLetterISOLanguageName?: string | undefined;\r\n threeLetterWindowsLanguageName?: string | undefined;\r\n compareInfo?: ICompareInfo;\r\n textInfo?: ITextInfo;\r\n isNeutralCulture?: boolean;\r\n cultureTypes?: CultureTypes;\r\n numberFormat?: INumberFormatInfo;\r\n dateTimeFormat?: IDateTimeFormatInfo;\r\n calendar?: ICalendar;\r\n optionalCalendars?: ICalendar[] | undefined;\r\n useUserOverride?: boolean;\r\n isReadOnly?: boolean;\r\n}\r\n\r\nexport enum CultureTypes {\r\n _1 = 1,\r\n _2 = 2,\r\n _4 = 4,\r\n _7 = 7,\r\n _8 = 8,\r\n _16 = 16,\r\n _32 = 32,\r\n _64 = 64,\r\n}\r\n\r\nexport class CustomAttributeData implements ICustomAttributeData {\r\n attributeType?: Type;\r\n constructor_?: ConstructorInfo;\r\n readonly constructorArguments?: CustomAttributeTypedArgument[] | undefined;\r\n readonly namedArguments?: CustomAttributeNamedArgument[] | undefined;\r\n\r\n constructor(data?: ICustomAttributeData) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.attributeType = data.attributeType && !(data.attributeType).toJSON ? new Type(data.attributeType) : this.attributeType;\r\n this.constructor_ = data.constructor_ && !(data.constructor_).toJSON ? new ConstructorInfo(data.constructor_) : this.constructor_;\r\n if (data.constructorArguments) {\r\n this.constructorArguments = [];\r\n for (let i = 0; i < data.constructorArguments.length; i++) {\r\n let item = data.constructorArguments[i];\r\n this.constructorArguments[i] = item && !(item).toJSON ? new CustomAttributeTypedArgument(item) : item;\r\n }\r\n }\r\n if (data.namedArguments) {\r\n this.namedArguments = [];\r\n for (let i = 0; i < data.namedArguments.length; i++) {\r\n let item = data.namedArguments[i];\r\n this.namedArguments[i] = item && !(item).toJSON ? new CustomAttributeNamedArgument(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.attributeType = _data[\"attributeType\"] ? Type.fromJS(_data[\"attributeType\"]) : undefined;\r\n this.constructor_ = _data[\"constructor\"] ? ConstructorInfo.fromJS(_data[\"constructor\"]) : undefined;\r\n if (Array.isArray(_data[\"constructorArguments\"])) {\r\n (this).constructorArguments = [] as any;\r\n for (let item of _data[\"constructorArguments\"])\r\n (this).constructorArguments!.push(CustomAttributeTypedArgument.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"namedArguments\"])) {\r\n (this).namedArguments = [] as any;\r\n for (let item of _data[\"namedArguments\"])\r\n (this).namedArguments!.push(CustomAttributeNamedArgument.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CustomAttributeData {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CustomAttributeData();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"attributeType\"] = this.attributeType ? this.attributeType.toJSON() : undefined;\r\n data[\"constructor\"] = this.constructor_ ? this.constructor_.toJSON() : undefined;\r\n if (Array.isArray(this.constructorArguments)) {\r\n data[\"constructorArguments\"] = [];\r\n for (let item of this.constructorArguments)\r\n data[\"constructorArguments\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.namedArguments)) {\r\n data[\"namedArguments\"] = [];\r\n for (let item of this.namedArguments)\r\n data[\"namedArguments\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): CustomAttributeData {\r\n const json = this.toJSON();\r\n let result = new CustomAttributeData();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICustomAttributeData {\r\n attributeType?: IType;\r\n constructor_?: IConstructorInfo;\r\n constructorArguments?: ICustomAttributeTypedArgument[] | undefined;\r\n namedArguments?: ICustomAttributeNamedArgument[] | undefined;\r\n}\r\n\r\nexport class CustomAttributeNamedArgument implements ICustomAttributeNamedArgument {\r\n memberInfo?: MemberInfo;\r\n typedValue?: CustomAttributeTypedArgument;\r\n readonly memberName?: string | undefined;\r\n readonly isField?: boolean;\r\n\r\n constructor(data?: ICustomAttributeNamedArgument) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.memberInfo = data.memberInfo && !(data.memberInfo).toJSON ? new MemberInfo(data.memberInfo) : this.memberInfo;\r\n this.typedValue = data.typedValue && !(data.typedValue).toJSON ? new CustomAttributeTypedArgument(data.typedValue) : this.typedValue;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberInfo = _data[\"memberInfo\"] ? MemberInfo.fromJS(_data[\"memberInfo\"]) : undefined;\r\n this.typedValue = _data[\"typedValue\"] ? CustomAttributeTypedArgument.fromJS(_data[\"typedValue\"]) : undefined;\r\n (this).memberName = _data[\"memberName\"];\r\n (this).isField = _data[\"isField\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CustomAttributeNamedArgument {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CustomAttributeNamedArgument();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberInfo\"] = this.memberInfo ? this.memberInfo.toJSON() : undefined;\r\n data[\"typedValue\"] = this.typedValue ? this.typedValue.toJSON() : undefined;\r\n data[\"memberName\"] = this.memberName;\r\n data[\"isField\"] = this.isField;\r\n return data;\r\n }\r\n\r\n clone(): CustomAttributeNamedArgument {\r\n const json = this.toJSON();\r\n let result = new CustomAttributeNamedArgument();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICustomAttributeNamedArgument {\r\n memberInfo?: IMemberInfo;\r\n typedValue?: ICustomAttributeTypedArgument;\r\n memberName?: string | undefined;\r\n isField?: boolean;\r\n}\r\n\r\nexport class CustomAttributeTypedArgument implements ICustomAttributeTypedArgument {\r\n argumentType?: Type;\r\n readonly value?: any | undefined;\r\n\r\n constructor(data?: ICustomAttributeTypedArgument) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.argumentType = data.argumentType && !(data.argumentType).toJSON ? new Type(data.argumentType) : this.argumentType;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.argumentType = _data[\"argumentType\"] ? Type.fromJS(_data[\"argumentType\"]) : undefined;\r\n (this).value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CustomAttributeTypedArgument {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CustomAttributeTypedArgument();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"argumentType\"] = this.argumentType ? this.argumentType.toJSON() : undefined;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n\r\n clone(): CustomAttributeTypedArgument {\r\n const json = this.toJSON();\r\n let result = new CustomAttributeTypedArgument();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICustomAttributeTypedArgument {\r\n argumentType?: IType;\r\n value?: any | undefined;\r\n}\r\n\r\nexport class DanhgiaEntity implements IDanhgiaEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n avatar?: string | undefined;\r\n diem?: number;\r\n doituongdanhgia?: number | undefined;\r\n id?: number;\r\n idnguoidanhgia?: number;\r\n idnhatro?: number;\r\n ngaydanhgia?: Date;\r\n nhanxet?: string | undefined;\r\n noidungvipham?: string | undefined;\r\n\r\n constructor(data?: IDanhgiaEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.avatar = _data[\"avatar\"];\r\n this.diem = _data[\"diem\"];\r\n this.doituongdanhgia = _data[\"doituongdanhgia\"];\r\n this.id = _data[\"id\"];\r\n this.idnguoidanhgia = _data[\"idnguoidanhgia\"];\r\n this.idnhatro = _data[\"idnhatro\"];\r\n this.ngaydanhgia = _data[\"ngaydanhgia\"] ? new Date(_data[\"ngaydanhgia\"].toString()) : undefined;\r\n this.nhanxet = _data[\"nhanxet\"];\r\n this.noidungvipham = _data[\"noidungvipham\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DanhgiaEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DanhgiaEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"avatar\"] = this.avatar;\r\n data[\"diem\"] = this.diem;\r\n data[\"doituongdanhgia\"] = this.doituongdanhgia;\r\n data[\"id\"] = this.id;\r\n data[\"idnguoidanhgia\"] = this.idnguoidanhgia;\r\n data[\"idnhatro\"] = this.idnhatro;\r\n data[\"ngaydanhgia\"] = this.ngaydanhgia ? this.ngaydanhgia.toISOString() : undefined;\r\n data[\"nhanxet\"] = this.nhanxet;\r\n data[\"noidungvipham\"] = this.noidungvipham;\r\n return data;\r\n }\r\n\r\n clone(): DanhgiaEntity {\r\n const json = this.toJSON();\r\n let result = new DanhgiaEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDanhgiaEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n avatar?: string | undefined;\r\n diem?: number;\r\n doituongdanhgia?: number | undefined;\r\n id?: number;\r\n idnguoidanhgia?: number;\r\n idnhatro?: number;\r\n ngaydanhgia?: Date;\r\n nhanxet?: string | undefined;\r\n noidungvipham?: string | undefined;\r\n}\r\n\r\nexport class DanhgiaEntityApiResponse implements IDanhgiaEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DanhgiaEntity;\r\n\r\n constructor(data?: IDanhgiaEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DanhgiaEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DanhgiaEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DanhgiaEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DanhgiaEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): DanhgiaEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DanhgiaEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDanhgiaEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDanhgiaEntity;\r\n}\r\n\r\nexport class DanhGiaModel implements IDanhGiaModel {\r\n id?: number;\r\n idNhaTro?: number;\r\n idChuNhaTro?: number;\r\n diem?: number;\r\n nhanXet?: string | undefined;\r\n doituongdanhgia?: number | undefined;\r\n noidungvipham?: string | undefined;\r\n nguoiDanhGiaId?: number;\r\n ngayDanhGia?: Date;\r\n nguoiDanhGia?: string | undefined;\r\n avatar?: string | undefined;\r\n anhNhaTro?: string | undefined;\r\n tenNhaTro?: string | undefined;\r\n lstPhanHoi?: PhanHoiModel[] | undefined;\r\n\r\n constructor(data?: IDanhGiaModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstPhanHoi) {\r\n this.lstPhanHoi = [];\r\n for (let i = 0; i < data.lstPhanHoi.length; i++) {\r\n let item = data.lstPhanHoi[i];\r\n this.lstPhanHoi[i] = item && !(item).toJSON ? new PhanHoiModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.idNhaTro = _data[\"idNhaTro\"];\r\n this.idChuNhaTro = _data[\"idChuNhaTro\"];\r\n this.diem = _data[\"diem\"];\r\n this.nhanXet = _data[\"nhanXet\"];\r\n this.doituongdanhgia = _data[\"doituongdanhgia\"];\r\n this.noidungvipham = _data[\"noidungvipham\"];\r\n this.nguoiDanhGiaId = _data[\"nguoiDanhGiaId\"];\r\n this.ngayDanhGia = _data[\"ngayDanhGia\"] ? new Date(_data[\"ngayDanhGia\"].toString()) : undefined;\r\n this.nguoiDanhGia = _data[\"nguoiDanhGia\"];\r\n this.avatar = _data[\"avatar\"];\r\n this.anhNhaTro = _data[\"anhNhaTro\"];\r\n this.tenNhaTro = _data[\"tenNhaTro\"];\r\n if (Array.isArray(_data[\"lstPhanHoi\"])) {\r\n this.lstPhanHoi = [] as any;\r\n for (let item of _data[\"lstPhanHoi\"])\r\n this.lstPhanHoi!.push(PhanHoiModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DanhGiaModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DanhGiaModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"idNhaTro\"] = this.idNhaTro;\r\n data[\"idChuNhaTro\"] = this.idChuNhaTro;\r\n data[\"diem\"] = this.diem;\r\n data[\"nhanXet\"] = this.nhanXet;\r\n data[\"doituongdanhgia\"] = this.doituongdanhgia;\r\n data[\"noidungvipham\"] = this.noidungvipham;\r\n data[\"nguoiDanhGiaId\"] = this.nguoiDanhGiaId;\r\n data[\"ngayDanhGia\"] = this.ngayDanhGia ? this.ngayDanhGia.toISOString() : undefined;\r\n data[\"nguoiDanhGia\"] = this.nguoiDanhGia;\r\n data[\"avatar\"] = this.avatar;\r\n data[\"anhNhaTro\"] = this.anhNhaTro;\r\n data[\"tenNhaTro\"] = this.tenNhaTro;\r\n if (Array.isArray(this.lstPhanHoi)) {\r\n data[\"lstPhanHoi\"] = [];\r\n for (let item of this.lstPhanHoi)\r\n data[\"lstPhanHoi\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): DanhGiaModel {\r\n const json = this.toJSON();\r\n let result = new DanhGiaModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDanhGiaModel {\r\n id?: number;\r\n idNhaTro?: number;\r\n idChuNhaTro?: number;\r\n diem?: number;\r\n nhanXet?: string | undefined;\r\n doituongdanhgia?: number | undefined;\r\n noidungvipham?: string | undefined;\r\n nguoiDanhGiaId?: number;\r\n ngayDanhGia?: Date;\r\n nguoiDanhGia?: string | undefined;\r\n avatar?: string | undefined;\r\n anhNhaTro?: string | undefined;\r\n tenNhaTro?: string | undefined;\r\n lstPhanHoi?: IPhanHoiModel[] | undefined;\r\n}\r\n\r\nexport class DanhgiaPhanhoiVM implements IDanhgiaPhanhoiVM {\r\n id?: number;\r\n idnhatro?: number;\r\n diem?: number;\r\n nhanxet?: string | undefined;\r\n idnguoidanhgia?: number;\r\n ngaydanhgia?: Date;\r\n avatar?: string | undefined;\r\n doituongdanhgia?: number | undefined;\r\n noidungvipham?: string | undefined;\r\n _listItemPhanhoi?: ItemPhanhoi[] | undefined;\r\n _listItemPhanhoiPaging?: ItemPhanhoiIEnumerablePageModelView;\r\n\r\n constructor(data?: IDanhgiaPhanhoiVM) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data._listItemPhanhoi) {\r\n this._listItemPhanhoi = [];\r\n for (let i = 0; i < data._listItemPhanhoi.length; i++) {\r\n let item = data._listItemPhanhoi[i];\r\n this._listItemPhanhoi[i] = item && !(item).toJSON ? new ItemPhanhoi(item) : item;\r\n }\r\n }\r\n this._listItemPhanhoiPaging = data._listItemPhanhoiPaging && !(data._listItemPhanhoiPaging).toJSON ? new ItemPhanhoiIEnumerablePageModelView(data._listItemPhanhoiPaging) : this._listItemPhanhoiPaging;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.idnhatro = _data[\"idnhatro\"];\r\n this.diem = _data[\"diem\"];\r\n this.nhanxet = _data[\"nhanxet\"];\r\n this.idnguoidanhgia = _data[\"idnguoidanhgia\"];\r\n this.ngaydanhgia = _data[\"ngaydanhgia\"] ? new Date(_data[\"ngaydanhgia\"].toString()) : undefined;\r\n this.avatar = _data[\"avatar\"];\r\n this.doituongdanhgia = _data[\"doituongdanhgia\"];\r\n this.noidungvipham = _data[\"noidungvipham\"];\r\n if (Array.isArray(_data[\"_listItemPhanhoi\"])) {\r\n this._listItemPhanhoi = [] as any;\r\n for (let item of _data[\"_listItemPhanhoi\"])\r\n this._listItemPhanhoi!.push(ItemPhanhoi.fromJS(item));\r\n }\r\n this._listItemPhanhoiPaging = _data[\"_listItemPhanhoiPaging\"] ? ItemPhanhoiIEnumerablePageModelView.fromJS(_data[\"_listItemPhanhoiPaging\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DanhgiaPhanhoiVM {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DanhgiaPhanhoiVM();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"idnhatro\"] = this.idnhatro;\r\n data[\"diem\"] = this.diem;\r\n data[\"nhanxet\"] = this.nhanxet;\r\n data[\"idnguoidanhgia\"] = this.idnguoidanhgia;\r\n data[\"ngaydanhgia\"] = this.ngaydanhgia ? this.ngaydanhgia.toISOString() : undefined;\r\n data[\"avatar\"] = this.avatar;\r\n data[\"doituongdanhgia\"] = this.doituongdanhgia;\r\n data[\"noidungvipham\"] = this.noidungvipham;\r\n if (Array.isArray(this._listItemPhanhoi)) {\r\n data[\"_listItemPhanhoi\"] = [];\r\n for (let item of this._listItemPhanhoi)\r\n data[\"_listItemPhanhoi\"].push(item.toJSON());\r\n }\r\n data[\"_listItemPhanhoiPaging\"] = this._listItemPhanhoiPaging ? this._listItemPhanhoiPaging.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): DanhgiaPhanhoiVM {\r\n const json = this.toJSON();\r\n let result = new DanhgiaPhanhoiVM();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDanhgiaPhanhoiVM {\r\n id?: number;\r\n idnhatro?: number;\r\n diem?: number;\r\n nhanxet?: string | undefined;\r\n idnguoidanhgia?: number;\r\n ngaydanhgia?: Date;\r\n avatar?: string | undefined;\r\n doituongdanhgia?: number | undefined;\r\n noidungvipham?: string | undefined;\r\n _listItemPhanhoi?: IItemPhanhoi[] | undefined;\r\n _listItemPhanhoiPaging?: IItemPhanhoiIEnumerablePageModelView;\r\n}\r\n\r\nexport class DanhgiaPhanhoiVMApiResponse implements IDanhgiaPhanhoiVMApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DanhgiaPhanhoiVM;\r\n\r\n constructor(data?: IDanhgiaPhanhoiVMApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DanhgiaPhanhoiVM(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DanhgiaPhanhoiVM.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DanhgiaPhanhoiVMApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DanhgiaPhanhoiVMApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): DanhgiaPhanhoiVMApiResponse {\r\n const json = this.toJSON();\r\n let result = new DanhgiaPhanhoiVMApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDanhgiaPhanhoiVMApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDanhgiaPhanhoiVM;\r\n}\r\n\r\nexport class DashboardDataChartModel implements IDashboardDataChartModel {\r\n name?: string | undefined;\r\n data?: number[] | undefined;\r\n\r\n constructor(data?: IDashboardDataChartModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DashboardDataChartModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DashboardDataChartModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item);\r\n }\r\n return data;\r\n }\r\n\r\n clone(): DashboardDataChartModel {\r\n const json = this.toJSON();\r\n let result = new DashboardDataChartModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDashboardDataChartModel {\r\n name?: string | undefined;\r\n data?: number[] | undefined;\r\n}\r\n\r\nexport class DashboardGroupModel implements IDashboardGroupModel {\r\n categories?: string[] | undefined;\r\n series?: DashboardDataChartModel[] | undefined;\r\n\r\n constructor(data?: IDashboardGroupModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.series) {\r\n this.series = [];\r\n for (let i = 0; i < data.series.length; i++) {\r\n let item = data.series[i];\r\n this.series[i] = item && !(item).toJSON ? new DashboardDataChartModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"categories\"])) {\r\n this.categories = [] as any;\r\n for (let item of _data[\"categories\"])\r\n this.categories!.push(item);\r\n }\r\n if (Array.isArray(_data[\"series\"])) {\r\n this.series = [] as any;\r\n for (let item of _data[\"series\"])\r\n this.series!.push(DashboardDataChartModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DashboardGroupModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DashboardGroupModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.categories)) {\r\n data[\"categories\"] = [];\r\n for (let item of this.categories)\r\n data[\"categories\"].push(item);\r\n }\r\n if (Array.isArray(this.series)) {\r\n data[\"series\"] = [];\r\n for (let item of this.series)\r\n data[\"series\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): DashboardGroupModel {\r\n const json = this.toJSON();\r\n let result = new DashboardGroupModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDashboardGroupModel {\r\n categories?: string[] | undefined;\r\n series?: IDashboardDataChartModel[] | undefined;\r\n}\r\n\r\nexport class DashboardModel implements IDashboardModel {\r\n nhaTro?: DashboardGroupModel;\r\n khachThue?: DashboardGroupModel;\r\n diBienDong?: DashboardGroupModel;\r\n soluongGopy?: DashboardGroupModel;\r\n\r\n constructor(data?: IDashboardModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.nhaTro = data.nhaTro && !(data.nhaTro).toJSON ? new DashboardGroupModel(data.nhaTro) : this.nhaTro;\r\n this.khachThue = data.khachThue && !(data.khachThue).toJSON ? new DashboardGroupModel(data.khachThue) : this.khachThue;\r\n this.diBienDong = data.diBienDong && !(data.diBienDong).toJSON ? new DashboardGroupModel(data.diBienDong) : this.diBienDong;\r\n this.soluongGopy = data.soluongGopy && !(data.soluongGopy).toJSON ? new DashboardGroupModel(data.soluongGopy) : this.soluongGopy;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.nhaTro = _data[\"nhaTro\"] ? DashboardGroupModel.fromJS(_data[\"nhaTro\"]) : undefined;\r\n this.khachThue = _data[\"khachThue\"] ? DashboardGroupModel.fromJS(_data[\"khachThue\"]) : undefined;\r\n this.diBienDong = _data[\"diBienDong\"] ? DashboardGroupModel.fromJS(_data[\"diBienDong\"]) : undefined;\r\n this.soluongGopy = _data[\"soluongGopy\"] ? DashboardGroupModel.fromJS(_data[\"soluongGopy\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DashboardModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DashboardModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"nhaTro\"] = this.nhaTro ? this.nhaTro.toJSON() : undefined;\r\n data[\"khachThue\"] = this.khachThue ? this.khachThue.toJSON() : undefined;\r\n data[\"diBienDong\"] = this.diBienDong ? this.diBienDong.toJSON() : undefined;\r\n data[\"soluongGopy\"] = this.soluongGopy ? this.soluongGopy.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): DashboardModel {\r\n const json = this.toJSON();\r\n let result = new DashboardModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDashboardModel {\r\n nhaTro?: IDashboardGroupModel;\r\n khachThue?: IDashboardGroupModel;\r\n diBienDong?: IDashboardGroupModel;\r\n soluongGopy?: IDashboardGroupModel;\r\n}\r\n\r\nexport class DashboardModelApiResponse implements IDashboardModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DashboardModel;\r\n\r\n constructor(data?: IDashboardModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DashboardModel(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DashboardModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DashboardModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DashboardModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): DashboardModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new DashboardModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDashboardModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDashboardModel;\r\n}\r\n\r\nexport class DashboardNguoiThueModel implements IDashboardNguoiThueModel {\r\n countAll?: number;\r\n listIn?: number[] | undefined;\r\n listOut?: number[] | undefined;\r\n\r\n constructor(data?: IDashboardNguoiThueModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.countAll = _data[\"countAll\"];\r\n if (Array.isArray(_data[\"listIn\"])) {\r\n this.listIn = [] as any;\r\n for (let item of _data[\"listIn\"])\r\n this.listIn!.push(item);\r\n }\r\n if (Array.isArray(_data[\"listOut\"])) {\r\n this.listOut = [] as any;\r\n for (let item of _data[\"listOut\"])\r\n this.listOut!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DashboardNguoiThueModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DashboardNguoiThueModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"countAll\"] = this.countAll;\r\n if (Array.isArray(this.listIn)) {\r\n data[\"listIn\"] = [];\r\n for (let item of this.listIn)\r\n data[\"listIn\"].push(item);\r\n }\r\n if (Array.isArray(this.listOut)) {\r\n data[\"listOut\"] = [];\r\n for (let item of this.listOut)\r\n data[\"listOut\"].push(item);\r\n }\r\n return data;\r\n }\r\n\r\n clone(): DashboardNguoiThueModel {\r\n const json = this.toJSON();\r\n let result = new DashboardNguoiThueModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDashboardNguoiThueModel {\r\n countAll?: number;\r\n listIn?: number[] | undefined;\r\n listOut?: number[] | undefined;\r\n}\r\n\r\nexport class DashboardNguoiThueModelApiResponse implements IDashboardNguoiThueModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DashboardNguoiThueModel;\r\n\r\n constructor(data?: IDashboardNguoiThueModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DashboardNguoiThueModel(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DashboardNguoiThueModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DashboardNguoiThueModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DashboardNguoiThueModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): DashboardNguoiThueModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new DashboardNguoiThueModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDashboardNguoiThueModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDashboardNguoiThueModel;\r\n}\r\n\r\nexport class DashboardNhaTroModel implements IDashboardNhaTroModel {\r\n countAll?: number;\r\n listCount?: number[] | undefined;\r\n\r\n constructor(data?: IDashboardNhaTroModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.countAll = _data[\"countAll\"];\r\n if (Array.isArray(_data[\"listCount\"])) {\r\n this.listCount = [] as any;\r\n for (let item of _data[\"listCount\"])\r\n this.listCount!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DashboardNhaTroModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DashboardNhaTroModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"countAll\"] = this.countAll;\r\n if (Array.isArray(this.listCount)) {\r\n data[\"listCount\"] = [];\r\n for (let item of this.listCount)\r\n data[\"listCount\"].push(item);\r\n }\r\n return data;\r\n }\r\n\r\n clone(): DashboardNhaTroModel {\r\n const json = this.toJSON();\r\n let result = new DashboardNhaTroModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDashboardNhaTroModel {\r\n countAll?: number;\r\n listCount?: number[] | undefined;\r\n}\r\n\r\nexport class DashboardNhaTroModelApiResponse implements IDashboardNhaTroModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DashboardNhaTroModel;\r\n\r\n constructor(data?: IDashboardNhaTroModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DashboardNhaTroModel(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DashboardNhaTroModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DashboardNhaTroModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DashboardNhaTroModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): DashboardNhaTroModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new DashboardNhaTroModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDashboardNhaTroModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDashboardNhaTroModel;\r\n}\r\n\r\nexport class DashboardSearchModel implements IDashboardSearchModel {\r\n tinh?: string | undefined;\r\n huyen?: string | undefined;\r\n xa?: string | undefined;\r\n nam!: number;\r\n tuNgay?: Date | undefined;\r\n denNgay?: Date | undefined;\r\n loaiThongKe!: number;\r\n thang?: number | undefined;\r\n\r\n constructor(data?: IDashboardSearchModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.tinh = _data[\"tinh\"];\r\n this.huyen = _data[\"huyen\"];\r\n this.xa = _data[\"xa\"];\r\n this.nam = _data[\"nam\"];\r\n this.tuNgay = _data[\"tuNgay\"] ? new Date(_data[\"tuNgay\"].toString()) : undefined;\r\n this.denNgay = _data[\"denNgay\"] ? new Date(_data[\"denNgay\"].toString()) : undefined;\r\n this.loaiThongKe = _data[\"loaiThongKe\"];\r\n this.thang = _data[\"thang\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DashboardSearchModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DashboardSearchModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"tinh\"] = this.tinh;\r\n data[\"huyen\"] = this.huyen;\r\n data[\"xa\"] = this.xa;\r\n data[\"nam\"] = this.nam;\r\n data[\"tuNgay\"] = this.tuNgay ? this.tuNgay.toISOString() : undefined;\r\n data[\"denNgay\"] = this.denNgay ? this.denNgay.toISOString() : undefined;\r\n data[\"loaiThongKe\"] = this.loaiThongKe;\r\n data[\"thang\"] = this.thang;\r\n return data;\r\n }\r\n\r\n clone(): DashboardSearchModel {\r\n const json = this.toJSON();\r\n let result = new DashboardSearchModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDashboardSearchModel {\r\n tinh?: string | undefined;\r\n huyen?: string | undefined;\r\n xa?: string | undefined;\r\n nam: number;\r\n tuNgay?: Date | undefined;\r\n denNgay?: Date | undefined;\r\n loaiThongKe: number;\r\n thang?: number | undefined;\r\n}\r\n\r\nexport class DataChartModel implements IDataChartModel {\r\n name?: string | undefined;\r\n year?: string | undefined;\r\n data?: number | undefined;\r\n type?: number | undefined;\r\n target?: number | undefined;\r\n\r\n constructor(data?: IDataChartModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.year = _data[\"year\"];\r\n this.data = _data[\"data\"];\r\n this.type = _data[\"type\"];\r\n this.target = _data[\"target\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DataChartModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DataChartModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"year\"] = this.year;\r\n data[\"data\"] = this.data;\r\n data[\"type\"] = this.type;\r\n data[\"target\"] = this.target;\r\n return data;\r\n }\r\n\r\n clone(): DataChartModel {\r\n const json = this.toJSON();\r\n let result = new DataChartModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDataChartModel {\r\n name?: string | undefined;\r\n year?: string | undefined;\r\n data?: number | undefined;\r\n type?: number | undefined;\r\n target?: number | undefined;\r\n}\r\n\r\nexport class DataChartModelIEnumerableApiResponse implements IDataChartModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DataChartModel[] | undefined;\r\n\r\n constructor(data?: IDataChartModelIEnumerableApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new DataChartModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(DataChartModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DataChartModelIEnumerableApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DataChartModelIEnumerableApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): DataChartModelIEnumerableApiResponse {\r\n const json = this.toJSON();\r\n let result = new DataChartModelIEnumerableApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDataChartModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDataChartModel[] | undefined;\r\n}\r\n\r\nexport class DataColumn implements IDataColumn {\r\n site?: ISite;\r\n container?: IContainer;\r\n readonly designMode?: boolean;\r\n allowDBNull?: boolean;\r\n autoIncrement?: boolean;\r\n autoIncrementSeed?: number;\r\n autoIncrementStep?: number;\r\n caption?: string | undefined;\r\n columnName?: string | undefined;\r\n prefix?: string | undefined;\r\n dataType?: Type;\r\n dateTimeMode?: DataSetDateTime;\r\n defaultValue?: any | undefined;\r\n expression?: string | undefined;\r\n readonly extendedProperties?: { [key: string]: any; } | undefined;\r\n maxLength?: number;\r\n namespace?: string | undefined;\r\n readonly ordinal?: number;\r\n readOnly?: boolean;\r\n table?: DataTable;\r\n unique?: boolean;\r\n columnMapping?: MappingType;\r\n\r\n constructor(data?: IDataColumn) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.site = data.site && !(data.site).toJSON ? new ISite(data.site) : this.site;\r\n this.container = data.container && !(data.container).toJSON ? new IContainer(data.container) : this.container;\r\n this.dataType = data.dataType && !(data.dataType).toJSON ? new Type(data.dataType) : this.dataType;\r\n this.table = data.table && !(data.table).toJSON ? new DataTable(data.table) : this.table;\r\n }\r\n if (!data) {\r\n this.allowDBNull = true;\r\n this.autoIncrement = false;\r\n this.autoIncrementSeed = 0;\r\n this.autoIncrementStep = 1;\r\n this.columnName = \"\";\r\n this.prefix = \"\";\r\n this.expression = \"\";\r\n this.maxLength = -1;\r\n this.readOnly = false;\r\n this.unique = false;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.site = _data[\"site\"] ? ISite.fromJS(_data[\"site\"]) : undefined;\r\n this.container = _data[\"container\"] ? IContainer.fromJS(_data[\"container\"]) : undefined;\r\n (this).designMode = _data[\"designMode\"];\r\n this.allowDBNull = _data[\"allowDBNull\"] !== undefined ? _data[\"allowDBNull\"] : true;\r\n this.autoIncrement = _data[\"autoIncrement\"] !== undefined ? _data[\"autoIncrement\"] : false;\r\n this.autoIncrementSeed = _data[\"autoIncrementSeed\"] !== undefined ? _data[\"autoIncrementSeed\"] : 0;\r\n this.autoIncrementStep = _data[\"autoIncrementStep\"] !== undefined ? _data[\"autoIncrementStep\"] : 1;\r\n this.caption = _data[\"caption\"];\r\n this.columnName = _data[\"columnName\"] !== undefined ? _data[\"columnName\"] : \"\";\r\n this.prefix = _data[\"prefix\"] !== undefined ? _data[\"prefix\"] : \"\";\r\n this.dataType = _data[\"dataType\"] ? Type.fromJS(_data[\"dataType\"]) : undefined;\r\n this.dateTimeMode = _data[\"dateTimeMode\"];\r\n this.defaultValue = _data[\"defaultValue\"];\r\n this.expression = _data[\"expression\"] !== undefined ? _data[\"expression\"] : \"\";\r\n if (_data[\"extendedProperties\"]) {\r\n (this).extendedProperties = {} as any;\r\n for (let key in _data[\"extendedProperties\"]) {\r\n if (_data[\"extendedProperties\"].hasOwnProperty(key))\r\n ((this).extendedProperties)![key] = _data[\"extendedProperties\"][key];\r\n }\r\n }\r\n this.maxLength = _data[\"maxLength\"] !== undefined ? _data[\"maxLength\"] : -1;\r\n this.namespace = _data[\"namespace\"];\r\n (this).ordinal = _data[\"ordinal\"];\r\n this.readOnly = _data[\"readOnly\"] !== undefined ? _data[\"readOnly\"] : false;\r\n this.table = _data[\"table\"] ? DataTable.fromJS(_data[\"table\"]) : undefined;\r\n this.unique = _data[\"unique\"] !== undefined ? _data[\"unique\"] : false;\r\n this.columnMapping = _data[\"columnMapping\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DataColumn {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DataColumn();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"site\"] = this.site ? this.site.toJSON() : undefined;\r\n data[\"container\"] = this.container ? this.container.toJSON() : undefined;\r\n data[\"designMode\"] = this.designMode;\r\n data[\"allowDBNull\"] = this.allowDBNull;\r\n data[\"autoIncrement\"] = this.autoIncrement;\r\n data[\"autoIncrementSeed\"] = this.autoIncrementSeed;\r\n data[\"autoIncrementStep\"] = this.autoIncrementStep;\r\n data[\"caption\"] = this.caption;\r\n data[\"columnName\"] = this.columnName;\r\n data[\"prefix\"] = this.prefix;\r\n data[\"dataType\"] = this.dataType ? this.dataType.toJSON() : undefined;\r\n data[\"dateTimeMode\"] = this.dateTimeMode;\r\n data[\"defaultValue\"] = this.defaultValue;\r\n data[\"expression\"] = this.expression;\r\n if (this.extendedProperties) {\r\n data[\"extendedProperties\"] = {};\r\n for (let key in this.extendedProperties) {\r\n if (this.extendedProperties.hasOwnProperty(key))\r\n (data[\"extendedProperties\"])[key] = (this.extendedProperties)[key];\r\n }\r\n }\r\n data[\"maxLength\"] = this.maxLength;\r\n data[\"namespace\"] = this.namespace;\r\n data[\"ordinal\"] = this.ordinal;\r\n data[\"readOnly\"] = this.readOnly;\r\n data[\"table\"] = this.table ? this.table.toJSON() : undefined;\r\n data[\"unique\"] = this.unique;\r\n data[\"columnMapping\"] = this.columnMapping;\r\n return data;\r\n }\r\n\r\n clone(): DataColumn {\r\n const json = this.toJSON();\r\n let result = new DataColumn();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDataColumn {\r\n site?: IISite;\r\n container?: IIContainer;\r\n designMode?: boolean;\r\n allowDBNull?: boolean;\r\n autoIncrement?: boolean;\r\n autoIncrementSeed?: number;\r\n autoIncrementStep?: number;\r\n caption?: string | undefined;\r\n columnName?: string | undefined;\r\n prefix?: string | undefined;\r\n dataType?: IType;\r\n dateTimeMode?: DataSetDateTime;\r\n defaultValue?: any | undefined;\r\n expression?: string | undefined;\r\n extendedProperties?: { [key: string]: any; } | undefined;\r\n maxLength?: number;\r\n namespace?: string | undefined;\r\n ordinal?: number;\r\n readOnly?: boolean;\r\n table?: IDataTable;\r\n unique?: boolean;\r\n columnMapping?: MappingType;\r\n}\r\n\r\nexport enum DataRowVersion {\r\n _256 = 256,\r\n _512 = 512,\r\n _1024 = 1024,\r\n _1536 = 1536,\r\n}\r\n\r\nexport class DataSet implements IDataSet {\r\n container?: IContainer;\r\n readonly designMode?: boolean;\r\n remotingFormat?: SerializationFormat;\r\n schemaSerializationMode?: SchemaSerializationMode;\r\n caseSensitive?: boolean;\r\n readonly defaultViewManager?: any[] | undefined;\r\n enforceConstraints?: boolean;\r\n dataSetName?: string | undefined;\r\n namespace?: string | undefined;\r\n prefix?: string | undefined;\r\n readonly extendedProperties?: { [key: string]: any; } | undefined;\r\n readonly hasErrors?: boolean;\r\n readonly isInitialized?: boolean;\r\n locale?: CultureInfo;\r\n site?: ISite;\r\n readonly relations?: any[] | undefined;\r\n readonly tables?: any[] | undefined;\r\n\r\n constructor(data?: IDataSet) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.container = data.container && !(data.container).toJSON ? new IContainer(data.container) : this.container;\r\n this.locale = data.locale && !(data.locale).toJSON ? new CultureInfo(data.locale) : this.locale;\r\n this.site = data.site && !(data.site).toJSON ? new ISite(data.site) : this.site;\r\n }\r\n if (!data) {\r\n this.caseSensitive = false;\r\n this.enforceConstraints = true;\r\n this.dataSetName = \"\";\r\n this.namespace = \"\";\r\n this.prefix = \"\";\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.container = _data[\"container\"] ? IContainer.fromJS(_data[\"container\"]) : undefined;\r\n (this).designMode = _data[\"designMode\"];\r\n this.remotingFormat = _data[\"remotingFormat\"];\r\n this.schemaSerializationMode = _data[\"schemaSerializationMode\"];\r\n this.caseSensitive = _data[\"caseSensitive\"] !== undefined ? _data[\"caseSensitive\"] : false;\r\n if (Array.isArray(_data[\"defaultViewManager\"])) {\r\n (this).defaultViewManager = [] as any;\r\n for (let item of _data[\"defaultViewManager\"])\r\n (this).defaultViewManager!.push(item);\r\n }\r\n this.enforceConstraints = _data[\"enforceConstraints\"] !== undefined ? _data[\"enforceConstraints\"] : true;\r\n this.dataSetName = _data[\"dataSetName\"] !== undefined ? _data[\"dataSetName\"] : \"\";\r\n this.namespace = _data[\"namespace\"] !== undefined ? _data[\"namespace\"] : \"\";\r\n this.prefix = _data[\"prefix\"] !== undefined ? _data[\"prefix\"] : \"\";\r\n if (_data[\"extendedProperties\"]) {\r\n (this).extendedProperties = {} as any;\r\n for (let key in _data[\"extendedProperties\"]) {\r\n if (_data[\"extendedProperties\"].hasOwnProperty(key))\r\n ((this).extendedProperties)![key] = _data[\"extendedProperties\"][key];\r\n }\r\n }\r\n (this).hasErrors = _data[\"hasErrors\"];\r\n (this).isInitialized = _data[\"isInitialized\"];\r\n this.locale = _data[\"locale\"] ? CultureInfo.fromJS(_data[\"locale\"]) : undefined;\r\n this.site = _data[\"site\"] ? ISite.fromJS(_data[\"site\"]) : undefined;\r\n if (Array.isArray(_data[\"relations\"])) {\r\n (this).relations = [] as any;\r\n for (let item of _data[\"relations\"])\r\n (this).relations!.push(item);\r\n }\r\n if (Array.isArray(_data[\"tables\"])) {\r\n (this).tables = [] as any;\r\n for (let item of _data[\"tables\"])\r\n (this).tables!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DataSet {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DataSet();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"container\"] = this.container ? this.container.toJSON() : undefined;\r\n data[\"designMode\"] = this.designMode;\r\n data[\"remotingFormat\"] = this.remotingFormat;\r\n data[\"schemaSerializationMode\"] = this.schemaSerializationMode;\r\n data[\"caseSensitive\"] = this.caseSensitive;\r\n if (Array.isArray(this.defaultViewManager)) {\r\n data[\"defaultViewManager\"] = [];\r\n for (let item of this.defaultViewManager)\r\n data[\"defaultViewManager\"].push(item);\r\n }\r\n data[\"enforceConstraints\"] = this.enforceConstraints;\r\n data[\"dataSetName\"] = this.dataSetName;\r\n data[\"namespace\"] = this.namespace;\r\n data[\"prefix\"] = this.prefix;\r\n if (this.extendedProperties) {\r\n data[\"extendedProperties\"] = {};\r\n for (let key in this.extendedProperties) {\r\n if (this.extendedProperties.hasOwnProperty(key))\r\n (data[\"extendedProperties\"])[key] = (this.extendedProperties)[key];\r\n }\r\n }\r\n data[\"hasErrors\"] = this.hasErrors;\r\n data[\"isInitialized\"] = this.isInitialized;\r\n data[\"locale\"] = this.locale ? this.locale.toJSON() : undefined;\r\n data[\"site\"] = this.site ? this.site.toJSON() : undefined;\r\n if (Array.isArray(this.relations)) {\r\n data[\"relations\"] = [];\r\n for (let item of this.relations)\r\n data[\"relations\"].push(item);\r\n }\r\n if (Array.isArray(this.tables)) {\r\n data[\"tables\"] = [];\r\n for (let item of this.tables)\r\n data[\"tables\"].push(item);\r\n }\r\n return data;\r\n }\r\n\r\n clone(): DataSet {\r\n const json = this.toJSON();\r\n let result = new DataSet();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDataSet {\r\n container?: IIContainer;\r\n designMode?: boolean;\r\n remotingFormat?: SerializationFormat;\r\n schemaSerializationMode?: SchemaSerializationMode;\r\n caseSensitive?: boolean;\r\n defaultViewManager?: any[] | undefined;\r\n enforceConstraints?: boolean;\r\n dataSetName?: string | undefined;\r\n namespace?: string | undefined;\r\n prefix?: string | undefined;\r\n extendedProperties?: { [key: string]: any; } | undefined;\r\n hasErrors?: boolean;\r\n isInitialized?: boolean;\r\n locale?: ICultureInfo;\r\n site?: IISite;\r\n relations?: any[] | undefined;\r\n tables?: any[] | undefined;\r\n}\r\n\r\nexport enum DataSetDateTime {\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n}\r\n\r\nexport class DataTable implements IDataTable {\r\n container?: IContainer;\r\n readonly designMode?: boolean;\r\n caseSensitive?: boolean;\r\n readonly isInitialized?: boolean;\r\n remotingFormat?: SerializationFormat;\r\n readonly childRelations?: any[] | undefined;\r\n readonly columns?: any[] | undefined;\r\n readonly constraints?: any[] | undefined;\r\n dataSet?: DataSet;\r\n readonly defaultView?: any[] | undefined;\r\n displayExpression?: string | undefined;\r\n readonly extendedProperties?: { [key: string]: any; } | undefined;\r\n readonly hasErrors?: boolean;\r\n locale?: CultureInfo;\r\n minimumCapacity?: number;\r\n readonly parentRelations?: any[] | undefined;\r\n primaryKey?: DataColumn[] | undefined;\r\n readonly rows?: any[] | undefined;\r\n tableName?: string | undefined;\r\n namespace?: string | undefined;\r\n prefix?: string | undefined;\r\n site?: ISite;\r\n\r\n constructor(data?: IDataTable) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.container = data.container && !(data.container).toJSON ? new IContainer(data.container) : this.container;\r\n this.dataSet = data.dataSet && !(data.dataSet).toJSON ? new DataSet(data.dataSet) : this.dataSet;\r\n this.locale = data.locale && !(data.locale).toJSON ? new CultureInfo(data.locale) : this.locale;\r\n if (data.primaryKey) {\r\n this.primaryKey = [];\r\n for (let i = 0; i < data.primaryKey.length; i++) {\r\n let item = data.primaryKey[i];\r\n this.primaryKey[i] = item && !(item).toJSON ? new DataColumn(item) : item;\r\n }\r\n }\r\n this.site = data.site && !(data.site).toJSON ? new ISite(data.site) : this.site;\r\n }\r\n if (!data) {\r\n this.displayExpression = \"\";\r\n this.minimumCapacity = 50;\r\n this.tableName = \"\";\r\n this.prefix = \"\";\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.container = _data[\"container\"] ? IContainer.fromJS(_data[\"container\"]) : undefined;\r\n (this).designMode = _data[\"designMode\"];\r\n this.caseSensitive = _data[\"caseSensitive\"];\r\n (this).isInitialized = _data[\"isInitialized\"];\r\n this.remotingFormat = _data[\"remotingFormat\"];\r\n if (Array.isArray(_data[\"childRelations\"])) {\r\n (this).childRelations = [] as any;\r\n for (let item of _data[\"childRelations\"])\r\n (this).childRelations!.push(item);\r\n }\r\n if (Array.isArray(_data[\"columns\"])) {\r\n (this).columns = [] as any;\r\n for (let item of _data[\"columns\"])\r\n (this).columns!.push(item);\r\n }\r\n if (Array.isArray(_data[\"constraints\"])) {\r\n (this).constraints = [] as any;\r\n for (let item of _data[\"constraints\"])\r\n (this).constraints!.push(item);\r\n }\r\n this.dataSet = _data[\"dataSet\"] ? DataSet.fromJS(_data[\"dataSet\"]) : undefined;\r\n if (Array.isArray(_data[\"defaultView\"])) {\r\n (this).defaultView = [] as any;\r\n for (let item of _data[\"defaultView\"])\r\n (this).defaultView!.push(item);\r\n }\r\n this.displayExpression = _data[\"displayExpression\"] !== undefined ? _data[\"displayExpression\"] : \"\";\r\n if (_data[\"extendedProperties\"]) {\r\n (this).extendedProperties = {} as any;\r\n for (let key in _data[\"extendedProperties\"]) {\r\n if (_data[\"extendedProperties\"].hasOwnProperty(key))\r\n ((this).extendedProperties)![key] = _data[\"extendedProperties\"][key];\r\n }\r\n }\r\n (this).hasErrors = _data[\"hasErrors\"];\r\n this.locale = _data[\"locale\"] ? CultureInfo.fromJS(_data[\"locale\"]) : undefined;\r\n this.minimumCapacity = _data[\"minimumCapacity\"] !== undefined ? _data[\"minimumCapacity\"] : 50;\r\n if (Array.isArray(_data[\"parentRelations\"])) {\r\n (this).parentRelations = [] as any;\r\n for (let item of _data[\"parentRelations\"])\r\n (this).parentRelations!.push(item);\r\n }\r\n if (Array.isArray(_data[\"primaryKey\"])) {\r\n this.primaryKey = [] as any;\r\n for (let item of _data[\"primaryKey\"])\r\n this.primaryKey!.push(DataColumn.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"rows\"])) {\r\n (this).rows = [] as any;\r\n for (let item of _data[\"rows\"])\r\n (this).rows!.push(item);\r\n }\r\n this.tableName = _data[\"tableName\"] !== undefined ? _data[\"tableName\"] : \"\";\r\n this.namespace = _data[\"namespace\"];\r\n this.prefix = _data[\"prefix\"] !== undefined ? _data[\"prefix\"] : \"\";\r\n this.site = _data[\"site\"] ? ISite.fromJS(_data[\"site\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DataTable {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DataTable();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"container\"] = this.container ? this.container.toJSON() : undefined;\r\n data[\"designMode\"] = this.designMode;\r\n data[\"caseSensitive\"] = this.caseSensitive;\r\n data[\"isInitialized\"] = this.isInitialized;\r\n data[\"remotingFormat\"] = this.remotingFormat;\r\n if (Array.isArray(this.childRelations)) {\r\n data[\"childRelations\"] = [];\r\n for (let item of this.childRelations)\r\n data[\"childRelations\"].push(item);\r\n }\r\n if (Array.isArray(this.columns)) {\r\n data[\"columns\"] = [];\r\n for (let item of this.columns)\r\n data[\"columns\"].push(item);\r\n }\r\n if (Array.isArray(this.constraints)) {\r\n data[\"constraints\"] = [];\r\n for (let item of this.constraints)\r\n data[\"constraints\"].push(item);\r\n }\r\n data[\"dataSet\"] = this.dataSet ? this.dataSet.toJSON() : undefined;\r\n if (Array.isArray(this.defaultView)) {\r\n data[\"defaultView\"] = [];\r\n for (let item of this.defaultView)\r\n data[\"defaultView\"].push(item);\r\n }\r\n data[\"displayExpression\"] = this.displayExpression;\r\n if (this.extendedProperties) {\r\n data[\"extendedProperties\"] = {};\r\n for (let key in this.extendedProperties) {\r\n if (this.extendedProperties.hasOwnProperty(key))\r\n (data[\"extendedProperties\"])[key] = (this.extendedProperties)[key];\r\n }\r\n }\r\n data[\"hasErrors\"] = this.hasErrors;\r\n data[\"locale\"] = this.locale ? this.locale.toJSON() : undefined;\r\n data[\"minimumCapacity\"] = this.minimumCapacity;\r\n if (Array.isArray(this.parentRelations)) {\r\n data[\"parentRelations\"] = [];\r\n for (let item of this.parentRelations)\r\n data[\"parentRelations\"].push(item);\r\n }\r\n if (Array.isArray(this.primaryKey)) {\r\n data[\"primaryKey\"] = [];\r\n for (let item of this.primaryKey)\r\n data[\"primaryKey\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.rows)) {\r\n data[\"rows\"] = [];\r\n for (let item of this.rows)\r\n data[\"rows\"].push(item);\r\n }\r\n data[\"tableName\"] = this.tableName;\r\n data[\"namespace\"] = this.namespace;\r\n data[\"prefix\"] = this.prefix;\r\n data[\"site\"] = this.site ? this.site.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): DataTable {\r\n const json = this.toJSON();\r\n let result = new DataTable();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDataTable {\r\n container?: IIContainer;\r\n designMode?: boolean;\r\n caseSensitive?: boolean;\r\n isInitialized?: boolean;\r\n remotingFormat?: SerializationFormat;\r\n childRelations?: any[] | undefined;\r\n columns?: any[] | undefined;\r\n constraints?: any[] | undefined;\r\n dataSet?: IDataSet;\r\n defaultView?: any[] | undefined;\r\n displayExpression?: string | undefined;\r\n extendedProperties?: { [key: string]: any; } | undefined;\r\n hasErrors?: boolean;\r\n locale?: ICultureInfo;\r\n minimumCapacity?: number;\r\n parentRelations?: any[] | undefined;\r\n primaryKey?: IDataColumn[] | undefined;\r\n rows?: any[] | undefined;\r\n tableName?: string | undefined;\r\n namespace?: string | undefined;\r\n prefix?: string | undefined;\r\n site?: IISite;\r\n}\r\n\r\nexport class DateTimeFormatInfo implements IDateTimeFormatInfo {\r\n amDesignator?: string | undefined;\r\n calendar?: Calendar;\r\n dateSeparator?: string | undefined;\r\n firstDayOfWeek?: DayOfWeek;\r\n calendarWeekRule?: CalendarWeekRule;\r\n fullDateTimePattern?: string | undefined;\r\n longDatePattern?: string | undefined;\r\n longTimePattern?: string | undefined;\r\n monthDayPattern?: string | undefined;\r\n pmDesignator?: string | undefined;\r\n readonly rfC1123Pattern?: string | undefined;\r\n shortDatePattern?: string | undefined;\r\n shortTimePattern?: string | undefined;\r\n readonly sortableDateTimePattern?: string | undefined;\r\n timeSeparator?: string | undefined;\r\n readonly universalSortableDateTimePattern?: string | undefined;\r\n yearMonthPattern?: string | undefined;\r\n abbreviatedDayNames?: string[] | undefined;\r\n shortestDayNames?: string[] | undefined;\r\n dayNames?: string[] | undefined;\r\n abbreviatedMonthNames?: string[] | undefined;\r\n monthNames?: string[] | undefined;\r\n readonly isReadOnly?: boolean;\r\n readonly nativeCalendarName?: string | undefined;\r\n abbreviatedMonthGenitiveNames?: string[] | undefined;\r\n monthGenitiveNames?: string[] | undefined;\r\n\r\n constructor(data?: IDateTimeFormatInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.calendar = data.calendar && !(data.calendar).toJSON ? new Calendar(data.calendar) : this.calendar;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.amDesignator = _data[\"amDesignator\"];\r\n this.calendar = _data[\"calendar\"] ? Calendar.fromJS(_data[\"calendar\"]) : undefined;\r\n this.dateSeparator = _data[\"dateSeparator\"];\r\n this.firstDayOfWeek = _data[\"firstDayOfWeek\"];\r\n this.calendarWeekRule = _data[\"calendarWeekRule\"];\r\n this.fullDateTimePattern = _data[\"fullDateTimePattern\"];\r\n this.longDatePattern = _data[\"longDatePattern\"];\r\n this.longTimePattern = _data[\"longTimePattern\"];\r\n this.monthDayPattern = _data[\"monthDayPattern\"];\r\n this.pmDesignator = _data[\"pmDesignator\"];\r\n (this).rfC1123Pattern = _data[\"rfC1123Pattern\"];\r\n this.shortDatePattern = _data[\"shortDatePattern\"];\r\n this.shortTimePattern = _data[\"shortTimePattern\"];\r\n (this).sortableDateTimePattern = _data[\"sortableDateTimePattern\"];\r\n this.timeSeparator = _data[\"timeSeparator\"];\r\n (this).universalSortableDateTimePattern = _data[\"universalSortableDateTimePattern\"];\r\n this.yearMonthPattern = _data[\"yearMonthPattern\"];\r\n if (Array.isArray(_data[\"abbreviatedDayNames\"])) {\r\n this.abbreviatedDayNames = [] as any;\r\n for (let item of _data[\"abbreviatedDayNames\"])\r\n this.abbreviatedDayNames!.push(item);\r\n }\r\n if (Array.isArray(_data[\"shortestDayNames\"])) {\r\n this.shortestDayNames = [] as any;\r\n for (let item of _data[\"shortestDayNames\"])\r\n this.shortestDayNames!.push(item);\r\n }\r\n if (Array.isArray(_data[\"dayNames\"])) {\r\n this.dayNames = [] as any;\r\n for (let item of _data[\"dayNames\"])\r\n this.dayNames!.push(item);\r\n }\r\n if (Array.isArray(_data[\"abbreviatedMonthNames\"])) {\r\n this.abbreviatedMonthNames = [] as any;\r\n for (let item of _data[\"abbreviatedMonthNames\"])\r\n this.abbreviatedMonthNames!.push(item);\r\n }\r\n if (Array.isArray(_data[\"monthNames\"])) {\r\n this.monthNames = [] as any;\r\n for (let item of _data[\"monthNames\"])\r\n this.monthNames!.push(item);\r\n }\r\n (this).isReadOnly = _data[\"isReadOnly\"];\r\n (this).nativeCalendarName = _data[\"nativeCalendarName\"];\r\n if (Array.isArray(_data[\"abbreviatedMonthGenitiveNames\"])) {\r\n this.abbreviatedMonthGenitiveNames = [] as any;\r\n for (let item of _data[\"abbreviatedMonthGenitiveNames\"])\r\n this.abbreviatedMonthGenitiveNames!.push(item);\r\n }\r\n if (Array.isArray(_data[\"monthGenitiveNames\"])) {\r\n this.monthGenitiveNames = [] as any;\r\n for (let item of _data[\"monthGenitiveNames\"])\r\n this.monthGenitiveNames!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DateTimeFormatInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DateTimeFormatInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"amDesignator\"] = this.amDesignator;\r\n data[\"calendar\"] = this.calendar ? this.calendar.toJSON() : undefined;\r\n data[\"dateSeparator\"] = this.dateSeparator;\r\n data[\"firstDayOfWeek\"] = this.firstDayOfWeek;\r\n data[\"calendarWeekRule\"] = this.calendarWeekRule;\r\n data[\"fullDateTimePattern\"] = this.fullDateTimePattern;\r\n data[\"longDatePattern\"] = this.longDatePattern;\r\n data[\"longTimePattern\"] = this.longTimePattern;\r\n data[\"monthDayPattern\"] = this.monthDayPattern;\r\n data[\"pmDesignator\"] = this.pmDesignator;\r\n data[\"rfC1123Pattern\"] = this.rfC1123Pattern;\r\n data[\"shortDatePattern\"] = this.shortDatePattern;\r\n data[\"shortTimePattern\"] = this.shortTimePattern;\r\n data[\"sortableDateTimePattern\"] = this.sortableDateTimePattern;\r\n data[\"timeSeparator\"] = this.timeSeparator;\r\n data[\"universalSortableDateTimePattern\"] = this.universalSortableDateTimePattern;\r\n data[\"yearMonthPattern\"] = this.yearMonthPattern;\r\n if (Array.isArray(this.abbreviatedDayNames)) {\r\n data[\"abbreviatedDayNames\"] = [];\r\n for (let item of this.abbreviatedDayNames)\r\n data[\"abbreviatedDayNames\"].push(item);\r\n }\r\n if (Array.isArray(this.shortestDayNames)) {\r\n data[\"shortestDayNames\"] = [];\r\n for (let item of this.shortestDayNames)\r\n data[\"shortestDayNames\"].push(item);\r\n }\r\n if (Array.isArray(this.dayNames)) {\r\n data[\"dayNames\"] = [];\r\n for (let item of this.dayNames)\r\n data[\"dayNames\"].push(item);\r\n }\r\n if (Array.isArray(this.abbreviatedMonthNames)) {\r\n data[\"abbreviatedMonthNames\"] = [];\r\n for (let item of this.abbreviatedMonthNames)\r\n data[\"abbreviatedMonthNames\"].push(item);\r\n }\r\n if (Array.isArray(this.monthNames)) {\r\n data[\"monthNames\"] = [];\r\n for (let item of this.monthNames)\r\n data[\"monthNames\"].push(item);\r\n }\r\n data[\"isReadOnly\"] = this.isReadOnly;\r\n data[\"nativeCalendarName\"] = this.nativeCalendarName;\r\n if (Array.isArray(this.abbreviatedMonthGenitiveNames)) {\r\n data[\"abbreviatedMonthGenitiveNames\"] = [];\r\n for (let item of this.abbreviatedMonthGenitiveNames)\r\n data[\"abbreviatedMonthGenitiveNames\"].push(item);\r\n }\r\n if (Array.isArray(this.monthGenitiveNames)) {\r\n data[\"monthGenitiveNames\"] = [];\r\n for (let item of this.monthGenitiveNames)\r\n data[\"monthGenitiveNames\"].push(item);\r\n }\r\n return data;\r\n }\r\n\r\n clone(): DateTimeFormatInfo {\r\n const json = this.toJSON();\r\n let result = new DateTimeFormatInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDateTimeFormatInfo {\r\n amDesignator?: string | undefined;\r\n calendar?: ICalendar;\r\n dateSeparator?: string | undefined;\r\n firstDayOfWeek?: DayOfWeek;\r\n calendarWeekRule?: CalendarWeekRule;\r\n fullDateTimePattern?: string | undefined;\r\n longDatePattern?: string | undefined;\r\n longTimePattern?: string | undefined;\r\n monthDayPattern?: string | undefined;\r\n pmDesignator?: string | undefined;\r\n rfC1123Pattern?: string | undefined;\r\n shortDatePattern?: string | undefined;\r\n shortTimePattern?: string | undefined;\r\n sortableDateTimePattern?: string | undefined;\r\n timeSeparator?: string | undefined;\r\n universalSortableDateTimePattern?: string | undefined;\r\n yearMonthPattern?: string | undefined;\r\n abbreviatedDayNames?: string[] | undefined;\r\n shortestDayNames?: string[] | undefined;\r\n dayNames?: string[] | undefined;\r\n abbreviatedMonthNames?: string[] | undefined;\r\n monthNames?: string[] | undefined;\r\n isReadOnly?: boolean;\r\n nativeCalendarName?: string | undefined;\r\n abbreviatedMonthGenitiveNames?: string[] | undefined;\r\n monthGenitiveNames?: string[] | undefined;\r\n}\r\n\r\nexport enum DayOfWeek {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n _6 = 6,\r\n}\r\n\r\nexport class DbParameter implements IDbParameter {\r\n dbType?: DbType;\r\n direction?: ParameterDirection;\r\n isNullable?: boolean;\r\n parameterName?: string | undefined;\r\n precision?: number;\r\n scale?: number;\r\n size?: number;\r\n sourceColumn?: string | undefined;\r\n sourceColumnNullMapping?: boolean;\r\n sourceVersion?: DataRowVersion;\r\n value?: any | undefined;\r\n\r\n constructor(data?: IDbParameter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n if (!data) {\r\n this.parameterName = \"\";\r\n this.sourceColumn = \"\";\r\n this.sourceColumnNullMapping = false;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.dbType = _data[\"dbType\"];\r\n this.direction = _data[\"direction\"];\r\n this.isNullable = _data[\"isNullable\"];\r\n this.parameterName = _data[\"parameterName\"] !== undefined ? _data[\"parameterName\"] : \"\";\r\n this.precision = _data[\"precision\"];\r\n this.scale = _data[\"scale\"];\r\n this.size = _data[\"size\"];\r\n this.sourceColumn = _data[\"sourceColumn\"] !== undefined ? _data[\"sourceColumn\"] : \"\";\r\n this.sourceColumnNullMapping = _data[\"sourceColumnNullMapping\"] !== undefined ? _data[\"sourceColumnNullMapping\"] : false;\r\n this.sourceVersion = _data[\"sourceVersion\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DbParameter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DbParameter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"dbType\"] = this.dbType;\r\n data[\"direction\"] = this.direction;\r\n data[\"isNullable\"] = this.isNullable;\r\n data[\"parameterName\"] = this.parameterName;\r\n data[\"precision\"] = this.precision;\r\n data[\"scale\"] = this.scale;\r\n data[\"size\"] = this.size;\r\n data[\"sourceColumn\"] = this.sourceColumn;\r\n data[\"sourceColumnNullMapping\"] = this.sourceColumnNullMapping;\r\n data[\"sourceVersion\"] = this.sourceVersion;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n\r\n clone(): DbParameter {\r\n const json = this.toJSON();\r\n let result = new DbParameter();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDbParameter {\r\n dbType?: DbType;\r\n direction?: ParameterDirection;\r\n isNullable?: boolean;\r\n parameterName?: string | undefined;\r\n precision?: number;\r\n scale?: number;\r\n size?: number;\r\n sourceColumn?: string | undefined;\r\n sourceColumnNullMapping?: boolean;\r\n sourceVersion?: DataRowVersion;\r\n value?: any | undefined;\r\n}\r\n\r\nexport class DbProviderFactory implements IDbProviderFactory {\r\n readonly canCreateBatch?: boolean;\r\n readonly canCreateDataSourceEnumerator?: boolean;\r\n readonly canCreateDataAdapter?: boolean;\r\n readonly canCreateCommandBuilder?: boolean;\r\n\r\n constructor(data?: IDbProviderFactory) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).canCreateBatch = _data[\"canCreateBatch\"];\r\n (this).canCreateDataSourceEnumerator = _data[\"canCreateDataSourceEnumerator\"];\r\n (this).canCreateDataAdapter = _data[\"canCreateDataAdapter\"];\r\n (this).canCreateCommandBuilder = _data[\"canCreateCommandBuilder\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DbProviderFactory {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DbProviderFactory();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"canCreateBatch\"] = this.canCreateBatch;\r\n data[\"canCreateDataSourceEnumerator\"] = this.canCreateDataSourceEnumerator;\r\n data[\"canCreateDataAdapter\"] = this.canCreateDataAdapter;\r\n data[\"canCreateCommandBuilder\"] = this.canCreateCommandBuilder;\r\n return data;\r\n }\r\n\r\n clone(): DbProviderFactory {\r\n const json = this.toJSON();\r\n let result = new DbProviderFactory();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDbProviderFactory {\r\n canCreateBatch?: boolean;\r\n canCreateDataSourceEnumerator?: boolean;\r\n canCreateDataAdapter?: boolean;\r\n canCreateCommandBuilder?: boolean;\r\n}\r\n\r\nexport class DBTaiKhoanModel implements IDBTaiKhoanModel {\r\n matinh?: string | undefined;\r\n mahuyen?: string | undefined;\r\n maxa?: string | undefined;\r\n mathon?: string | undefined;\r\n\r\n constructor(data?: IDBTaiKhoanModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.matinh = _data[\"matinh\"];\r\n this.mahuyen = _data[\"mahuyen\"];\r\n this.maxa = _data[\"maxa\"];\r\n this.mathon = _data[\"mathon\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DBTaiKhoanModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DBTaiKhoanModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"matinh\"] = this.matinh;\r\n data[\"mahuyen\"] = this.mahuyen;\r\n data[\"maxa\"] = this.maxa;\r\n data[\"mathon\"] = this.mathon;\r\n return data;\r\n }\r\n\r\n clone(): DBTaiKhoanModel {\r\n const json = this.toJSON();\r\n let result = new DBTaiKhoanModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDBTaiKhoanModel {\r\n matinh?: string | undefined;\r\n mahuyen?: string | undefined;\r\n maxa?: string | undefined;\r\n mathon?: string | undefined;\r\n}\r\n\r\nexport enum DbType {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n _6 = 6,\r\n _7 = 7,\r\n _8 = 8,\r\n _9 = 9,\r\n _10 = 10,\r\n _11 = 11,\r\n _12 = 12,\r\n _13 = 13,\r\n _14 = 14,\r\n _15 = 15,\r\n _16 = 16,\r\n _17 = 17,\r\n _18 = 18,\r\n _19 = 19,\r\n _20 = 20,\r\n _21 = 21,\r\n _22 = 22,\r\n _23 = 23,\r\n _25 = 25,\r\n _26 = 26,\r\n _27 = 27,\r\n}\r\n\r\nexport class DiabanEntity implements IDiabanEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n islocal?: boolean;\r\n level?: number;\r\n ma?: string | undefined;\r\n maCha?: string | undefined;\r\n makey?: string | undefined;\r\n polygon?: string | undefined;\r\n ten?: string | undefined;\r\n trangthai?: number | undefined;\r\n\r\n constructor(data?: IDiabanEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.islocal = _data[\"islocal\"];\r\n this.level = _data[\"level\"];\r\n this.ma = _data[\"ma\"];\r\n this.maCha = _data[\"maCha\"];\r\n this.makey = _data[\"makey\"];\r\n this.polygon = _data[\"polygon\"];\r\n this.ten = _data[\"ten\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiabanEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiabanEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"islocal\"] = this.islocal;\r\n data[\"level\"] = this.level;\r\n data[\"ma\"] = this.ma;\r\n data[\"maCha\"] = this.maCha;\r\n data[\"makey\"] = this.makey;\r\n data[\"polygon\"] = this.polygon;\r\n data[\"ten\"] = this.ten;\r\n data[\"trangthai\"] = this.trangthai;\r\n return data;\r\n }\r\n\r\n clone(): DiabanEntity {\r\n const json = this.toJSON();\r\n let result = new DiabanEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDiabanEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n islocal?: boolean;\r\n level?: number;\r\n ma?: string | undefined;\r\n maCha?: string | undefined;\r\n makey?: string | undefined;\r\n polygon?: string | undefined;\r\n ten?: string | undefined;\r\n trangthai?: number | undefined;\r\n}\r\n\r\nexport class DiabanEntityListApiResponse implements IDiabanEntityListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DiabanEntity[] | undefined;\r\n\r\n constructor(data?: IDiabanEntityListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new DiabanEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(DiabanEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiabanEntityListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiabanEntityListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): DiabanEntityListApiResponse {\r\n const json = this.toJSON();\r\n let result = new DiabanEntityListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDiabanEntityListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDiabanEntity[] | undefined;\r\n}\r\n\r\nexport class DiaBanInfoModel implements IDiaBanInfoModel {\r\n id?: number;\r\n ma?: string | undefined;\r\n makey?: string | undefined;\r\n ten?: string | undefined;\r\n maCha?: string | undefined;\r\n level?: number;\r\n\r\n constructor(data?: IDiaBanInfoModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.ma = _data[\"ma\"];\r\n this.makey = _data[\"makey\"];\r\n this.ten = _data[\"ten\"];\r\n this.maCha = _data[\"maCha\"];\r\n this.level = _data[\"level\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiaBanInfoModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiaBanInfoModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"ma\"] = this.ma;\r\n data[\"makey\"] = this.makey;\r\n data[\"ten\"] = this.ten;\r\n data[\"maCha\"] = this.maCha;\r\n data[\"level\"] = this.level;\r\n return data;\r\n }\r\n\r\n clone(): DiaBanInfoModel {\r\n const json = this.toJSON();\r\n let result = new DiaBanInfoModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDiaBanInfoModel {\r\n id?: number;\r\n ma?: string | undefined;\r\n makey?: string | undefined;\r\n ten?: string | undefined;\r\n maCha?: string | undefined;\r\n level?: number;\r\n}\r\n\r\nexport class DiaBanInfoModelIEnumerableApiResponse implements IDiaBanInfoModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DiaBanInfoModel[] | undefined;\r\n\r\n constructor(data?: IDiaBanInfoModelIEnumerableApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new DiaBanInfoModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(DiaBanInfoModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiaBanInfoModelIEnumerableApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiaBanInfoModelIEnumerableApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): DiaBanInfoModelIEnumerableApiResponse {\r\n const json = this.toJSON();\r\n let result = new DiaBanInfoModelIEnumerableApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDiaBanInfoModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDiaBanInfoModel[] | undefined;\r\n}\r\n\r\nexport class DiaBanTaiKhoanModel implements IDiaBanTaiKhoanModel {\r\n id?: number;\r\n ma?: string | undefined;\r\n maCha?: string | undefined;\r\n level?: number;\r\n ten?: string | undefined;\r\n makey?: string | undefined;\r\n\r\n constructor(data?: IDiaBanTaiKhoanModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.ma = _data[\"ma\"];\r\n this.maCha = _data[\"maCha\"];\r\n this.level = _data[\"level\"];\r\n this.ten = _data[\"ten\"];\r\n this.makey = _data[\"makey\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiaBanTaiKhoanModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiaBanTaiKhoanModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"ma\"] = this.ma;\r\n data[\"maCha\"] = this.maCha;\r\n data[\"level\"] = this.level;\r\n data[\"ten\"] = this.ten;\r\n data[\"makey\"] = this.makey;\r\n return data;\r\n }\r\n\r\n clone(): DiaBanTaiKhoanModel {\r\n const json = this.toJSON();\r\n let result = new DiaBanTaiKhoanModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDiaBanTaiKhoanModel {\r\n id?: number;\r\n ma?: string | undefined;\r\n maCha?: string | undefined;\r\n level?: number;\r\n ten?: string | undefined;\r\n makey?: string | undefined;\r\n}\r\n\r\nexport class DiaChiModel implements IDiaChiModel {\r\n idNha?: number;\r\n maTinh?: string | undefined;\r\n maHuyen?: string | undefined;\r\n maXa?: string | undefined;\r\n maThon?: string | undefined;\r\n tenTinh?: string | undefined;\r\n tenHuyen?: string | undefined;\r\n tenXa?: string | undefined;\r\n tenThon?: string | undefined;\r\n\r\n constructor(data?: IDiaChiModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.idNha = _data[\"idNha\"];\r\n this.maTinh = _data[\"maTinh\"];\r\n this.maHuyen = _data[\"maHuyen\"];\r\n this.maXa = _data[\"maXa\"];\r\n this.maThon = _data[\"maThon\"];\r\n this.tenTinh = _data[\"tenTinh\"];\r\n this.tenHuyen = _data[\"tenHuyen\"];\r\n this.tenXa = _data[\"tenXa\"];\r\n this.tenThon = _data[\"tenThon\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiaChiModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiaChiModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"idNha\"] = this.idNha;\r\n data[\"maTinh\"] = this.maTinh;\r\n data[\"maHuyen\"] = this.maHuyen;\r\n data[\"maXa\"] = this.maXa;\r\n data[\"maThon\"] = this.maThon;\r\n data[\"tenTinh\"] = this.tenTinh;\r\n data[\"tenHuyen\"] = this.tenHuyen;\r\n data[\"tenXa\"] = this.tenXa;\r\n data[\"tenThon\"] = this.tenThon;\r\n return data;\r\n }\r\n\r\n clone(): DiaChiModel {\r\n const json = this.toJSON();\r\n let result = new DiaChiModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDiaChiModel {\r\n idNha?: number;\r\n maTinh?: string | undefined;\r\n maHuyen?: string | undefined;\r\n maXa?: string | undefined;\r\n maThon?: string | undefined;\r\n tenTinh?: string | undefined;\r\n tenHuyen?: string | undefined;\r\n tenXa?: string | undefined;\r\n tenThon?: string | undefined;\r\n}\r\n\r\nexport class DiaChiModelIEnumerablePageModelView implements IDiaChiModelIEnumerablePageModelView {\r\n data?: DiaChiModel[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IDiaChiModelIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new DiaChiModel(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(DiaChiModel.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiaChiModelIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiaChiModelIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): DiaChiModelIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new DiaChiModelIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDiaChiModelIEnumerablePageModelView {\r\n data?: IDiaChiModel[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class DiaChiModelIEnumerablePageModelViewApiResponse implements IDiaChiModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DiaChiModelIEnumerablePageModelView;\r\n\r\n constructor(data?: IDiaChiModelIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DiaChiModelIEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DiaChiModelIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiaChiModelIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiaChiModelIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): DiaChiModelIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new DiaChiModelIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDiaChiModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDiaChiModelIEnumerablePageModelView;\r\n}\r\n\r\nexport class DichvuChuyennhaEntity implements IDichvuChuyennhaEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n diachi?: string | undefined;\r\n dienthoai?: string | undefined;\r\n id?: number;\r\n mota?: string | undefined;\r\n tendonvi?: string | undefined;\r\n website?: string | undefined;\r\n\r\n constructor(data?: IDichvuChuyennhaEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.diachi = _data[\"diachi\"];\r\n this.dienthoai = _data[\"dienthoai\"];\r\n this.id = _data[\"id\"];\r\n this.mota = _data[\"mota\"];\r\n this.tendonvi = _data[\"tendonvi\"];\r\n this.website = _data[\"website\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DichvuChuyennhaEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DichvuChuyennhaEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"diachi\"] = this.diachi;\r\n data[\"dienthoai\"] = this.dienthoai;\r\n data[\"id\"] = this.id;\r\n data[\"mota\"] = this.mota;\r\n data[\"tendonvi\"] = this.tendonvi;\r\n data[\"website\"] = this.website;\r\n return data;\r\n }\r\n\r\n clone(): DichvuChuyennhaEntity {\r\n const json = this.toJSON();\r\n let result = new DichvuChuyennhaEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDichvuChuyennhaEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n diachi?: string | undefined;\r\n dienthoai?: string | undefined;\r\n id?: number;\r\n mota?: string | undefined;\r\n tendonvi?: string | undefined;\r\n website?: string | undefined;\r\n}\r\n\r\nexport class DichvuChuyennhaEntityApiResponse implements IDichvuChuyennhaEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DichvuChuyennhaEntity;\r\n\r\n constructor(data?: IDichvuChuyennhaEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DichvuChuyennhaEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DichvuChuyennhaEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DichvuChuyennhaEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DichvuChuyennhaEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): DichvuChuyennhaEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DichvuChuyennhaEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDichvuChuyennhaEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDichvuChuyennhaEntity;\r\n}\r\n\r\nexport class DichvuEntity implements IDichvuEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n donvitinh?: string | undefined;\r\n giadichvu?: number | undefined;\r\n hoatdong?: boolean | undefined;\r\n id?: number;\r\n idNhatro?: number | undefined;\r\n loai?: number | undefined;\r\n mota?: string | undefined;\r\n quytactinhtien?: number | undefined;\r\n tendichvu?: string | undefined;\r\n\r\n constructor(data?: IDichvuEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.donvitinh = _data[\"donvitinh\"];\r\n this.giadichvu = _data[\"giadichvu\"];\r\n this.hoatdong = _data[\"hoatdong\"];\r\n this.id = _data[\"id\"];\r\n this.idNhatro = _data[\"idNhatro\"];\r\n this.loai = _data[\"loai\"];\r\n this.mota = _data[\"mota\"];\r\n this.quytactinhtien = _data[\"quytactinhtien\"];\r\n this.tendichvu = _data[\"tendichvu\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DichvuEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DichvuEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"donvitinh\"] = this.donvitinh;\r\n data[\"giadichvu\"] = this.giadichvu;\r\n data[\"hoatdong\"] = this.hoatdong;\r\n data[\"id\"] = this.id;\r\n data[\"idNhatro\"] = this.idNhatro;\r\n data[\"loai\"] = this.loai;\r\n data[\"mota\"] = this.mota;\r\n data[\"quytactinhtien\"] = this.quytactinhtien;\r\n data[\"tendichvu\"] = this.tendichvu;\r\n return data;\r\n }\r\n\r\n clone(): DichvuEntity {\r\n const json = this.toJSON();\r\n let result = new DichvuEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDichvuEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n donvitinh?: string | undefined;\r\n giadichvu?: number | undefined;\r\n hoatdong?: boolean | undefined;\r\n id?: number;\r\n idNhatro?: number | undefined;\r\n loai?: number | undefined;\r\n mota?: string | undefined;\r\n quytactinhtien?: number | undefined;\r\n tendichvu?: string | undefined;\r\n}\r\n\r\nexport class DichvuEntityApiResponse implements IDichvuEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DichvuEntity;\r\n\r\n constructor(data?: IDichvuEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DichvuEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DichvuEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DichvuEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DichvuEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): DichvuEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DichvuEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDichvuEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDichvuEntity;\r\n}\r\n\r\nexport class DichvuEntityListApiResponse implements IDichvuEntityListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DichvuEntity[] | undefined;\r\n\r\n constructor(data?: IDichvuEntityListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new DichvuEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(DichvuEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DichvuEntityListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DichvuEntityListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): DichvuEntityListApiResponse {\r\n const json = this.toJSON();\r\n let result = new DichvuEntityListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDichvuEntityListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDichvuEntity[] | undefined;\r\n}\r\n\r\nexport enum DigitShapes {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n}\r\n\r\nexport class DmdantocEntity implements IDmdantocEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhqd?: string | undefined;\r\n dateupdate?: Date | undefined;\r\n id?: number;\r\n madantoc?: string | undefined;\r\n ngaybanhanhqd?: string | undefined;\r\n qdbanhanhqdsuadoi?: string | undefined;\r\n tendantoc?: string | undefined;\r\n\r\n constructor(data?: IDmdantocEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.coquanbanhanhqd = _data[\"coquanbanhanhqd\"];\r\n this.dateupdate = _data[\"dateupdate\"] ? new Date(_data[\"dateupdate\"].toString()) : undefined;\r\n this.id = _data[\"id\"];\r\n this.madantoc = _data[\"madantoc\"];\r\n this.ngaybanhanhqd = _data[\"ngaybanhanhqd\"];\r\n this.qdbanhanhqdsuadoi = _data[\"qdbanhanhqdsuadoi\"];\r\n this.tendantoc = _data[\"tendantoc\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmdantocEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmdantocEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"coquanbanhanhqd\"] = this.coquanbanhanhqd;\r\n data[\"dateupdate\"] = this.dateupdate ? this.dateupdate.toISOString() : undefined;\r\n data[\"id\"] = this.id;\r\n data[\"madantoc\"] = this.madantoc;\r\n data[\"ngaybanhanhqd\"] = this.ngaybanhanhqd;\r\n data[\"qdbanhanhqdsuadoi\"] = this.qdbanhanhqdsuadoi;\r\n data[\"tendantoc\"] = this.tendantoc;\r\n return data;\r\n }\r\n\r\n clone(): DmdantocEntity {\r\n const json = this.toJSON();\r\n let result = new DmdantocEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmdantocEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhqd?: string | undefined;\r\n dateupdate?: Date | undefined;\r\n id?: number;\r\n madantoc?: string | undefined;\r\n ngaybanhanhqd?: string | undefined;\r\n qdbanhanhqdsuadoi?: string | undefined;\r\n tendantoc?: string | undefined;\r\n}\r\n\r\nexport class DmdantocEntityApiResponse implements IDmdantocEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmdantocEntity;\r\n\r\n constructor(data?: IDmdantocEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmdantocEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmdantocEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmdantocEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmdantocEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): DmdantocEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmdantocEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmdantocEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmdantocEntity;\r\n}\r\n\r\nexport class DmDanTocModel implements IDmDanTocModel {\r\n tendantoc?: string | undefined;\r\n\r\n constructor(data?: IDmDanTocModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.tendantoc = _data[\"tendantoc\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmDanTocModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmDanTocModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"tendantoc\"] = this.tendantoc;\r\n return data;\r\n }\r\n\r\n clone(): DmDanTocModel {\r\n const json = this.toJSON();\r\n let result = new DmDanTocModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmDanTocModel {\r\n tendantoc?: string | undefined;\r\n}\r\n\r\nexport class Dmdvgia implements IDmdvgia {\r\n id?: number;\r\n tendichvu?: string | undefined;\r\n donvitinh?: string | undefined;\r\n quytachtinhtien?: number | undefined;\r\n giadichvu?: number | undefined;\r\n soluong?: number | undefined;\r\n isChecked?: boolean;\r\n loai?: number | undefined;\r\n\r\n constructor(data?: IDmdvgia) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tendichvu = _data[\"tendichvu\"];\r\n this.donvitinh = _data[\"donvitinh\"];\r\n this.quytachtinhtien = _data[\"quytachtinhtien\"];\r\n this.giadichvu = _data[\"giadichvu\"];\r\n this.soluong = _data[\"soluong\"];\r\n this.isChecked = _data[\"isChecked\"];\r\n this.loai = _data[\"loai\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Dmdvgia {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Dmdvgia();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tendichvu\"] = this.tendichvu;\r\n data[\"donvitinh\"] = this.donvitinh;\r\n data[\"quytachtinhtien\"] = this.quytachtinhtien;\r\n data[\"giadichvu\"] = this.giadichvu;\r\n data[\"soluong\"] = this.soluong;\r\n data[\"isChecked\"] = this.isChecked;\r\n data[\"loai\"] = this.loai;\r\n return data;\r\n }\r\n\r\n clone(): Dmdvgia {\r\n const json = this.toJSON();\r\n let result = new Dmdvgia();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmdvgia {\r\n id?: number;\r\n tendichvu?: string | undefined;\r\n donvitinh?: string | undefined;\r\n quytachtinhtien?: number | undefined;\r\n giadichvu?: number | undefined;\r\n soluong?: number | undefined;\r\n isChecked?: boolean;\r\n loai?: number | undefined;\r\n}\r\n\r\nexport class DmtochucEntity implements IDmtochucEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n ten?: string | undefined;\r\n trangthai?: number;\r\n readonly sysunits?: SysunitEntity[] | undefined;\r\n\r\n constructor(data?: IDmtochucEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n if (data.sysunits) {\r\n this.sysunits = [];\r\n for (let i = 0; i < data.sysunits.length; i++) {\r\n let item = data.sysunits[i];\r\n this.sysunits[i] = item && !(item).toJSON ? new SysunitEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.id = _data[\"id\"];\r\n this.ten = _data[\"ten\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n if (Array.isArray(_data[\"sysunits\"])) {\r\n (this).sysunits = [] as any;\r\n for (let item of _data[\"sysunits\"])\r\n (this).sysunits!.push(SysunitEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmtochucEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmtochucEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"id\"] = this.id;\r\n data[\"ten\"] = this.ten;\r\n data[\"trangthai\"] = this.trangthai;\r\n if (Array.isArray(this.sysunits)) {\r\n data[\"sysunits\"] = [];\r\n for (let item of this.sysunits)\r\n data[\"sysunits\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): DmtochucEntity {\r\n const json = this.toJSON();\r\n let result = new DmtochucEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmtochucEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n ten?: string | undefined;\r\n trangthai?: number;\r\n sysunits?: ISysunitEntity[] | undefined;\r\n}\r\n\r\nexport class DmtudienEntity implements IDmtudienEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n cap?: number | undefined;\r\n cqbanhanh?: string | undefined;\r\n fieldname?: string | undefined;\r\n ghichu?: string | undefined;\r\n id?: number;\r\n maDinhdanhtinh?: string | undefined;\r\n maTinh?: string | undefined;\r\n maTudien?: string | undefined;\r\n ngaybanhanh?: Date | undefined;\r\n qdbanhanh?: string | undefined;\r\n tenEng?: string | undefined;\r\n tenFieldname?: string | undefined;\r\n tenTudien?: string | undefined;\r\n tenVie?: string | undefined;\r\n trangThai?: number | undefined;\r\n\r\n constructor(data?: IDmtudienEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.cap = _data[\"cap\"];\r\n this.cqbanhanh = _data[\"cqbanhanh\"];\r\n this.fieldname = _data[\"fieldname\"];\r\n this.ghichu = _data[\"ghichu\"];\r\n this.id = _data[\"id\"];\r\n this.maDinhdanhtinh = _data[\"maDinhdanhtinh\"];\r\n this.maTinh = _data[\"maTinh\"];\r\n this.maTudien = _data[\"maTudien\"];\r\n this.ngaybanhanh = _data[\"ngaybanhanh\"] ? new Date(_data[\"ngaybanhanh\"].toString()) : undefined;\r\n this.qdbanhanh = _data[\"qdbanhanh\"];\r\n this.tenEng = _data[\"tenEng\"];\r\n this.tenFieldname = _data[\"tenFieldname\"];\r\n this.tenTudien = _data[\"tenTudien\"];\r\n this.tenVie = _data[\"tenVie\"];\r\n this.trangThai = _data[\"trangThai\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmtudienEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmtudienEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"cap\"] = this.cap;\r\n data[\"cqbanhanh\"] = this.cqbanhanh;\r\n data[\"fieldname\"] = this.fieldname;\r\n data[\"ghichu\"] = this.ghichu;\r\n data[\"id\"] = this.id;\r\n data[\"maDinhdanhtinh\"] = this.maDinhdanhtinh;\r\n data[\"maTinh\"] = this.maTinh;\r\n data[\"maTudien\"] = this.maTudien;\r\n data[\"ngaybanhanh\"] = this.ngaybanhanh ? this.ngaybanhanh.toISOString() : undefined;\r\n data[\"qdbanhanh\"] = this.qdbanhanh;\r\n data[\"tenEng\"] = this.tenEng;\r\n data[\"tenFieldname\"] = this.tenFieldname;\r\n data[\"tenTudien\"] = this.tenTudien;\r\n data[\"tenVie\"] = this.tenVie;\r\n data[\"trangThai\"] = this.trangThai;\r\n return data;\r\n }\r\n\r\n clone(): DmtudienEntity {\r\n const json = this.toJSON();\r\n let result = new DmtudienEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmtudienEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n cap?: number | undefined;\r\n cqbanhanh?: string | undefined;\r\n fieldname?: string | undefined;\r\n ghichu?: string | undefined;\r\n id?: number;\r\n maDinhdanhtinh?: string | undefined;\r\n maTinh?: string | undefined;\r\n maTudien?: string | undefined;\r\n ngaybanhanh?: Date | undefined;\r\n qdbanhanh?: string | undefined;\r\n tenEng?: string | undefined;\r\n tenFieldname?: string | undefined;\r\n tenTudien?: string | undefined;\r\n tenVie?: string | undefined;\r\n trangThai?: number | undefined;\r\n}\r\n\r\nexport class DmtudienEntityApiResponse implements IDmtudienEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmtudienEntity;\r\n\r\n constructor(data?: IDmtudienEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmtudienEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmtudienEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmtudienEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmtudienEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): DmtudienEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmtudienEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmtudienEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmtudienEntity;\r\n}\r\n\r\nexport class DmtudienModel implements IDmtudienModel {\r\n matudien?: string | undefined;\r\n tentudien?: string | undefined;\r\n\r\n constructor(data?: IDmtudienModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.matudien = _data[\"matudien\"];\r\n this.tentudien = _data[\"tentudien\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmtudienModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmtudienModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"matudien\"] = this.matudien;\r\n data[\"tentudien\"] = this.tentudien;\r\n return data;\r\n }\r\n\r\n clone(): DmtudienModel {\r\n const json = this.toJSON();\r\n let result = new DmtudienModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmtudienModel {\r\n matudien?: string | undefined;\r\n tentudien?: string | undefined;\r\n}\r\n\r\nexport class DmtudienModelListApiResponse implements IDmtudienModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmtudienModel[] | undefined;\r\n\r\n constructor(data?: IDmtudienModelListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new DmtudienModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(DmtudienModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmtudienModelListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmtudienModelListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): DmtudienModelListApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmtudienModelListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmtudienModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmtudienModel[] | undefined;\r\n}\r\n\r\nexport class DoiMatKhauModel implements IDoiMatKhauModel {\r\n iduser?: number;\r\n oldpassword?: string | undefined;\r\n newpassword?: string | undefined;\r\n confirmpassword?: string | undefined;\r\n\r\n constructor(data?: IDoiMatKhauModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.iduser = _data[\"iduser\"];\r\n this.oldpassword = _data[\"oldpassword\"];\r\n this.newpassword = _data[\"newpassword\"];\r\n this.confirmpassword = _data[\"confirmpassword\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DoiMatKhauModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DoiMatKhauModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"iduser\"] = this.iduser;\r\n data[\"oldpassword\"] = this.oldpassword;\r\n data[\"newpassword\"] = this.newpassword;\r\n data[\"confirmpassword\"] = this.confirmpassword;\r\n return data;\r\n }\r\n\r\n clone(): DoiMatKhauModel {\r\n const json = this.toJSON();\r\n let result = new DoiMatKhauModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDoiMatKhauModel {\r\n iduser?: number;\r\n oldpassword?: string | undefined;\r\n newpassword?: string | undefined;\r\n confirmpassword?: string | undefined;\r\n}\r\n\r\nexport class DoituongTruynaEntity implements IDoituongTruynaEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n address?: string | undefined;\r\n birthday?: Date | undefined;\r\n citizenIdentification?: string | undefined;\r\n fatherBirthday?: string | undefined;\r\n fatherName?: string | undefined;\r\n fullname?: string | undefined;\r\n gender?: number | undefined;\r\n hometown?: string | undefined;\r\n huyen?: string | undefined;\r\n id?: number;\r\n img?: string | undefined;\r\n motherBirthday?: string | undefined;\r\n motherName?: string | undefined;\r\n nation?: string | undefined;\r\n nationality?: string | undefined;\r\n ngaycapnhat?: Date | undefined;\r\n placeOfResidence?: string | undefined;\r\n religion?: string | undefined;\r\n sin?: string | undefined;\r\n status?: number | undefined;\r\n tinh?: string | undefined;\r\n type?: number | undefined;\r\n xa?: string | undefined;\r\n readonly zaloDoituongs?: ZaloDoituongEntity[] | undefined;\r\n\r\n constructor(data?: IDoituongTruynaEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n if (data.zaloDoituongs) {\r\n this.zaloDoituongs = [];\r\n for (let i = 0; i < data.zaloDoituongs.length; i++) {\r\n let item = data.zaloDoituongs[i];\r\n this.zaloDoituongs[i] = item && !(item).toJSON ? new ZaloDoituongEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.address = _data[\"address\"];\r\n this.birthday = _data[\"birthday\"] ? new Date(_data[\"birthday\"].toString()) : undefined;\r\n this.citizenIdentification = _data[\"citizenIdentification\"];\r\n this.fatherBirthday = _data[\"fatherBirthday\"];\r\n this.fatherName = _data[\"fatherName\"];\r\n this.fullname = _data[\"fullname\"];\r\n this.gender = _data[\"gender\"];\r\n this.hometown = _data[\"hometown\"];\r\n this.huyen = _data[\"huyen\"];\r\n this.id = _data[\"id\"];\r\n this.img = _data[\"img\"];\r\n this.motherBirthday = _data[\"motherBirthday\"];\r\n this.motherName = _data[\"motherName\"];\r\n this.nation = _data[\"nation\"];\r\n this.nationality = _data[\"nationality\"];\r\n this.ngaycapnhat = _data[\"ngaycapnhat\"] ? new Date(_data[\"ngaycapnhat\"].toString()) : undefined;\r\n this.placeOfResidence = _data[\"placeOfResidence\"];\r\n this.religion = _data[\"religion\"];\r\n this.sin = _data[\"sin\"];\r\n this.status = _data[\"status\"];\r\n this.tinh = _data[\"tinh\"];\r\n this.type = _data[\"type\"];\r\n this.xa = _data[\"xa\"];\r\n if (Array.isArray(_data[\"zaloDoituongs\"])) {\r\n (this).zaloDoituongs = [] as any;\r\n for (let item of _data[\"zaloDoituongs\"])\r\n (this).zaloDoituongs!.push(ZaloDoituongEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DoituongTruynaEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DoituongTruynaEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"address\"] = this.address;\r\n data[\"birthday\"] = this.birthday ? this.birthday.toISOString() : undefined;\r\n data[\"citizenIdentification\"] = this.citizenIdentification;\r\n data[\"fatherBirthday\"] = this.fatherBirthday;\r\n data[\"fatherName\"] = this.fatherName;\r\n data[\"fullname\"] = this.fullname;\r\n data[\"gender\"] = this.gender;\r\n data[\"hometown\"] = this.hometown;\r\n data[\"huyen\"] = this.huyen;\r\n data[\"id\"] = this.id;\r\n data[\"img\"] = this.img;\r\n data[\"motherBirthday\"] = this.motherBirthday;\r\n data[\"motherName\"] = this.motherName;\r\n data[\"nation\"] = this.nation;\r\n data[\"nationality\"] = this.nationality;\r\n data[\"ngaycapnhat\"] = this.ngaycapnhat ? this.ngaycapnhat.toISOString() : undefined;\r\n data[\"placeOfResidence\"] = this.placeOfResidence;\r\n data[\"religion\"] = this.religion;\r\n data[\"sin\"] = this.sin;\r\n data[\"status\"] = this.status;\r\n data[\"tinh\"] = this.tinh;\r\n data[\"type\"] = this.type;\r\n data[\"xa\"] = this.xa;\r\n if (Array.isArray(this.zaloDoituongs)) {\r\n data[\"zaloDoituongs\"] = [];\r\n for (let item of this.zaloDoituongs)\r\n data[\"zaloDoituongs\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): DoituongTruynaEntity {\r\n const json = this.toJSON();\r\n let result = new DoituongTruynaEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDoituongTruynaEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n address?: string | undefined;\r\n birthday?: Date | undefined;\r\n citizenIdentification?: string | undefined;\r\n fatherBirthday?: string | undefined;\r\n fatherName?: string | undefined;\r\n fullname?: string | undefined;\r\n gender?: number | undefined;\r\n hometown?: string | undefined;\r\n huyen?: string | undefined;\r\n id?: number;\r\n img?: string | undefined;\r\n motherBirthday?: string | undefined;\r\n motherName?: string | undefined;\r\n nation?: string | undefined;\r\n nationality?: string | undefined;\r\n ngaycapnhat?: Date | undefined;\r\n placeOfResidence?: string | undefined;\r\n religion?: string | undefined;\r\n sin?: string | undefined;\r\n status?: number | undefined;\r\n tinh?: string | undefined;\r\n type?: number | undefined;\r\n xa?: string | undefined;\r\n zaloDoituongs?: IZaloDoituongEntity[] | undefined;\r\n}\r\n\r\nexport class DoituongTruynaEntityApiResponse implements IDoituongTruynaEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DoituongTruynaEntity;\r\n\r\n constructor(data?: IDoituongTruynaEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DoituongTruynaEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DoituongTruynaEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DoituongTruynaEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DoituongTruynaEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): DoituongTruynaEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DoituongTruynaEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDoituongTruynaEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDoituongTruynaEntity;\r\n}\r\n\r\nexport class DoituongTruynaEntityProcessInsertFileModel implements IDoituongTruynaEntityProcessInsertFileModel {\r\n entity?: DoituongTruynaEntity;\r\n lstFileAttachment?: AttFileattachmentEntity[] | undefined;\r\n\r\n constructor(data?: IDoituongTruynaEntityProcessInsertFileModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.entity = data.entity && !(data.entity).toJSON ? new DoituongTruynaEntity(data.entity) : this.entity;\r\n if (data.lstFileAttachment) {\r\n this.lstFileAttachment = [];\r\n for (let i = 0; i < data.lstFileAttachment.length; i++) {\r\n let item = data.lstFileAttachment[i];\r\n this.lstFileAttachment[i] = item && !(item).toJSON ? new AttFileattachmentEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.entity = _data[\"entity\"] ? DoituongTruynaEntity.fromJS(_data[\"entity\"]) : undefined;\r\n if (Array.isArray(_data[\"lstFileAttachment\"])) {\r\n this.lstFileAttachment = [] as any;\r\n for (let item of _data[\"lstFileAttachment\"])\r\n this.lstFileAttachment!.push(AttFileattachmentEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DoituongTruynaEntityProcessInsertFileModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DoituongTruynaEntityProcessInsertFileModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"entity\"] = this.entity ? this.entity.toJSON() : undefined;\r\n if (Array.isArray(this.lstFileAttachment)) {\r\n data[\"lstFileAttachment\"] = [];\r\n for (let item of this.lstFileAttachment)\r\n data[\"lstFileAttachment\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): DoituongTruynaEntityProcessInsertFileModel {\r\n const json = this.toJSON();\r\n let result = new DoituongTruynaEntityProcessInsertFileModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDoituongTruynaEntityProcessInsertFileModel {\r\n entity?: IDoituongTruynaEntity;\r\n lstFileAttachment?: IAttFileattachmentEntity[] | undefined;\r\n}\r\n\r\nexport class DoituongTruynaEntityProcessUpdateFileModel implements IDoituongTruynaEntityProcessUpdateFileModel {\r\n entity?: DoituongTruynaEntity;\r\n lstFileIdDelete?: number[] | undefined;\r\n typeDelete?: number;\r\n lstFileAttachment?: AttFileattachmentEntity[] | undefined;\r\n\r\n constructor(data?: IDoituongTruynaEntityProcessUpdateFileModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.entity = data.entity && !(data.entity).toJSON ? new DoituongTruynaEntity(data.entity) : this.entity;\r\n if (data.lstFileAttachment) {\r\n this.lstFileAttachment = [];\r\n for (let i = 0; i < data.lstFileAttachment.length; i++) {\r\n let item = data.lstFileAttachment[i];\r\n this.lstFileAttachment[i] = item && !(item).toJSON ? new AttFileattachmentEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.entity = _data[\"entity\"] ? DoituongTruynaEntity.fromJS(_data[\"entity\"]) : undefined;\r\n if (Array.isArray(_data[\"lstFileIdDelete\"])) {\r\n this.lstFileIdDelete = [] as any;\r\n for (let item of _data[\"lstFileIdDelete\"])\r\n this.lstFileIdDelete!.push(item);\r\n }\r\n this.typeDelete = _data[\"typeDelete\"];\r\n if (Array.isArray(_data[\"lstFileAttachment\"])) {\r\n this.lstFileAttachment = [] as any;\r\n for (let item of _data[\"lstFileAttachment\"])\r\n this.lstFileAttachment!.push(AttFileattachmentEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DoituongTruynaEntityProcessUpdateFileModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DoituongTruynaEntityProcessUpdateFileModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"entity\"] = this.entity ? this.entity.toJSON() : undefined;\r\n if (Array.isArray(this.lstFileIdDelete)) {\r\n data[\"lstFileIdDelete\"] = [];\r\n for (let item of this.lstFileIdDelete)\r\n data[\"lstFileIdDelete\"].push(item);\r\n }\r\n data[\"typeDelete\"] = this.typeDelete;\r\n if (Array.isArray(this.lstFileAttachment)) {\r\n data[\"lstFileAttachment\"] = [];\r\n for (let item of this.lstFileAttachment)\r\n data[\"lstFileAttachment\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): DoituongTruynaEntityProcessUpdateFileModel {\r\n const json = this.toJSON();\r\n let result = new DoituongTruynaEntityProcessUpdateFileModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDoituongTruynaEntityProcessUpdateFileModel {\r\n entity?: IDoituongTruynaEntity;\r\n lstFileIdDelete?: number[] | undefined;\r\n typeDelete?: number;\r\n lstFileAttachment?: IAttFileattachmentEntity[] | undefined;\r\n}\r\n\r\nexport class DonViModel implements IDonViModel {\r\n id?: string | undefined;\r\n maDonVi?: string | undefined;\r\n tenDonVi?: string | undefined;\r\n diaBan?: string | undefined;\r\n trangthai?: number | undefined;\r\n maxa?: string | undefined;\r\n\r\n constructor(data?: IDonViModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.maDonVi = _data[\"maDonVi\"];\r\n this.tenDonVi = _data[\"tenDonVi\"];\r\n this.diaBan = _data[\"diaBan\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.maxa = _data[\"maxa\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DonViModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DonViModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"maDonVi\"] = this.maDonVi;\r\n data[\"tenDonVi\"] = this.tenDonVi;\r\n data[\"diaBan\"] = this.diaBan;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"maxa\"] = this.maxa;\r\n return data;\r\n }\r\n\r\n clone(): DonViModel {\r\n const json = this.toJSON();\r\n let result = new DonViModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDonViModel {\r\n id?: string | undefined;\r\n maDonVi?: string | undefined;\r\n tenDonVi?: string | undefined;\r\n diaBan?: string | undefined;\r\n trangthai?: number | undefined;\r\n maxa?: string | undefined;\r\n}\r\n\r\nexport class DonViModelIEnumerablePageModelView implements IDonViModelIEnumerablePageModelView {\r\n data?: DonViModel[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IDonViModelIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new DonViModel(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(DonViModel.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DonViModelIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DonViModelIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): DonViModelIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new DonViModelIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDonViModelIEnumerablePageModelView {\r\n data?: IDonViModel[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class DonViModelIEnumerablePageModelViewApiResponse implements IDonViModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DonViModelIEnumerablePageModelView;\r\n\r\n constructor(data?: IDonViModelIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DonViModelIEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DonViModelIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DonViModelIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DonViModelIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): DonViModelIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new DonViModelIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDonViModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDonViModelIEnumerablePageModelView;\r\n}\r\n\r\nexport class DonViTaiKhoanModel implements IDonViTaiKhoanModel {\r\n unitCode?: string | undefined;\r\n unitName?: string | undefined;\r\n maCha?: string | undefined;\r\n trangThai?: number;\r\n capDonVi?: string | undefined;\r\n type?: number;\r\n idTinh?: string | undefined;\r\n idHuyen?: string | undefined;\r\n idXa?: string | undefined;\r\n\r\n constructor(data?: IDonViTaiKhoanModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.unitCode = _data[\"unitCode\"];\r\n this.unitName = _data[\"unitName\"];\r\n this.maCha = _data[\"maCha\"];\r\n this.trangThai = _data[\"trangThai\"];\r\n this.capDonVi = _data[\"capDonVi\"];\r\n this.type = _data[\"type\"];\r\n this.idTinh = _data[\"idTinh\"];\r\n this.idHuyen = _data[\"idHuyen\"];\r\n this.idXa = _data[\"idXa\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DonViTaiKhoanModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DonViTaiKhoanModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"unitCode\"] = this.unitCode;\r\n data[\"unitName\"] = this.unitName;\r\n data[\"maCha\"] = this.maCha;\r\n data[\"trangThai\"] = this.trangThai;\r\n data[\"capDonVi\"] = this.capDonVi;\r\n data[\"type\"] = this.type;\r\n data[\"idTinh\"] = this.idTinh;\r\n data[\"idHuyen\"] = this.idHuyen;\r\n data[\"idXa\"] = this.idXa;\r\n return data;\r\n }\r\n\r\n clone(): DonViTaiKhoanModel {\r\n const json = this.toJSON();\r\n let result = new DonViTaiKhoanModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDonViTaiKhoanModel {\r\n unitCode?: string | undefined;\r\n unitName?: string | undefined;\r\n maCha?: string | undefined;\r\n trangThai?: number;\r\n capDonVi?: string | undefined;\r\n type?: number;\r\n idTinh?: string | undefined;\r\n idHuyen?: string | undefined;\r\n idXa?: string | undefined;\r\n}\r\n\r\nexport class DonViV2Model implements IDonViV2Model {\r\n unitCode?: string | undefined;\r\n tenDonVi?: string | undefined;\r\n truongDonVi?: string | undefined;\r\n sdtTruongDonVi?: string | undefined;\r\n phoDonVi?: string | undefined;\r\n sdtPhoDonVi?: string | undefined;\r\n\r\n constructor(data?: IDonViV2Model) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.unitCode = _data[\"unitCode\"];\r\n this.tenDonVi = _data[\"tenDonVi\"];\r\n this.truongDonVi = _data[\"truongDonVi\"];\r\n this.sdtTruongDonVi = _data[\"sdtTruongDonVi\"];\r\n this.phoDonVi = _data[\"phoDonVi\"];\r\n this.sdtPhoDonVi = _data[\"sdtPhoDonVi\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DonViV2Model {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DonViV2Model();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"unitCode\"] = this.unitCode;\r\n data[\"tenDonVi\"] = this.tenDonVi;\r\n data[\"truongDonVi\"] = this.truongDonVi;\r\n data[\"sdtTruongDonVi\"] = this.sdtTruongDonVi;\r\n data[\"phoDonVi\"] = this.phoDonVi;\r\n data[\"sdtPhoDonVi\"] = this.sdtPhoDonVi;\r\n return data;\r\n }\r\n\r\n clone(): DonViV2Model {\r\n const json = this.toJSON();\r\n let result = new DonViV2Model();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDonViV2Model {\r\n unitCode?: string | undefined;\r\n tenDonVi?: string | undefined;\r\n truongDonVi?: string | undefined;\r\n sdtTruongDonVi?: string | undefined;\r\n phoDonVi?: string | undefined;\r\n sdtPhoDonVi?: string | undefined;\r\n}\r\n\r\nexport class DonViV2ModelApiResponse implements IDonViV2ModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DonViV2Model;\r\n\r\n constructor(data?: IDonViV2ModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DonViV2Model(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DonViV2Model.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DonViV2ModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DonViV2ModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): DonViV2ModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new DonViV2ModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDonViV2ModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDonViV2Model;\r\n}\r\n\r\nexport class DoubleApiResponse implements IDoubleApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: number;\r\n\r\n constructor(data?: IDoubleApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DoubleApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DoubleApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data;\r\n return data;\r\n }\r\n\r\n clone(): DoubleApiResponse {\r\n const json = this.toJSON();\r\n let result = new DoubleApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDoubleApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: number;\r\n}\r\n\r\nexport class DvnhanModel implements IDvnhanModel {\r\n chude?: string | undefined;\r\n iddvnhan?: number | undefined;\r\n idthongbao?: number | undefined;\r\n noidungphanhoi?: string | undefined;\r\n trangthai?: number | undefined;\r\n tendvnhan?: string | undefined;\r\n entity?: ThongbaoEntity;\r\n madonvi?: string | undefined;\r\n\r\n constructor(data?: IDvnhanModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.entity = data.entity && !(data.entity).toJSON ? new ThongbaoEntity(data.entity) : this.entity;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.chude = _data[\"chude\"];\r\n this.iddvnhan = _data[\"iddvnhan\"];\r\n this.idthongbao = _data[\"idthongbao\"];\r\n this.noidungphanhoi = _data[\"noidungphanhoi\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.tendvnhan = _data[\"tendvnhan\"];\r\n this.entity = _data[\"entity\"] ? ThongbaoEntity.fromJS(_data[\"entity\"]) : undefined;\r\n this.madonvi = _data[\"madonvi\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DvnhanModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DvnhanModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"chude\"] = this.chude;\r\n data[\"iddvnhan\"] = this.iddvnhan;\r\n data[\"idthongbao\"] = this.idthongbao;\r\n data[\"noidungphanhoi\"] = this.noidungphanhoi;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"tendvnhan\"] = this.tendvnhan;\r\n data[\"entity\"] = this.entity ? this.entity.toJSON() : undefined;\r\n data[\"madonvi\"] = this.madonvi;\r\n return data;\r\n }\r\n\r\n clone(): DvnhanModel {\r\n const json = this.toJSON();\r\n let result = new DvnhanModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDvnhanModel {\r\n chude?: string | undefined;\r\n iddvnhan?: number | undefined;\r\n idthongbao?: number | undefined;\r\n noidungphanhoi?: string | undefined;\r\n trangthai?: number | undefined;\r\n tendvnhan?: string | undefined;\r\n entity?: IThongbaoEntity;\r\n madonvi?: string | undefined;\r\n}\r\n\r\nexport class DvnhanModelIEnumerablePageModelView implements IDvnhanModelIEnumerablePageModelView {\r\n data?: DvnhanModel[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IDvnhanModelIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new DvnhanModel(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(DvnhanModel.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DvnhanModelIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DvnhanModelIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): DvnhanModelIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new DvnhanModelIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDvnhanModelIEnumerablePageModelView {\r\n data?: IDvnhanModel[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class DvnhanModelIEnumerablePageModelViewApiResponse implements IDvnhanModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DvnhanModelIEnumerablePageModelView;\r\n\r\n constructor(data?: IDvnhanModelIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DvnhanModelIEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DvnhanModelIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DvnhanModelIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DvnhanModelIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): DvnhanModelIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new DvnhanModelIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDvnhanModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDvnhanModelIEnumerablePageModelView;\r\n}\r\n\r\nexport class DvnhanModelListApiResponse implements IDvnhanModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DvnhanModel[] | undefined;\r\n\r\n constructor(data?: IDvnhanModelListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new DvnhanModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(DvnhanModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DvnhanModelListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DvnhanModelListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): DvnhanModelListApiResponse {\r\n const json = this.toJSON();\r\n let result = new DvnhanModelListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDvnhanModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDvnhanModel[] | undefined;\r\n}\r\n\r\nexport class DVNhanThongBaoModel implements IDVNhanThongBaoModel {\r\n lstDvnhan?: number[] | undefined;\r\n idthongbao?: number;\r\n noidungphanhoi?: string | undefined;\r\n trangthai?: number;\r\n\r\n constructor(data?: IDVNhanThongBaoModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"lstDvnhan\"])) {\r\n this.lstDvnhan = [] as any;\r\n for (let item of _data[\"lstDvnhan\"])\r\n this.lstDvnhan!.push(item);\r\n }\r\n this.idthongbao = _data[\"idthongbao\"];\r\n this.noidungphanhoi = _data[\"noidungphanhoi\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DVNhanThongBaoModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DVNhanThongBaoModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.lstDvnhan)) {\r\n data[\"lstDvnhan\"] = [];\r\n for (let item of this.lstDvnhan)\r\n data[\"lstDvnhan\"].push(item);\r\n }\r\n data[\"idthongbao\"] = this.idthongbao;\r\n data[\"noidungphanhoi\"] = this.noidungphanhoi;\r\n data[\"trangthai\"] = this.trangthai;\r\n return data;\r\n }\r\n\r\n clone(): DVNhanThongBaoModel {\r\n const json = this.toJSON();\r\n let result = new DVNhanThongBaoModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDVNhanThongBaoModel {\r\n lstDvnhan?: number[] | undefined;\r\n idthongbao?: number;\r\n noidungphanhoi?: string | undefined;\r\n trangthai?: number;\r\n}\r\n\r\nexport class EntityWithFileModel implements IEntityWithFileModel {\r\n entity?: any | undefined;\r\n listFile?: FileModelViewSelectOne[] | undefined;\r\n\r\n constructor(data?: IEntityWithFileModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.listFile) {\r\n this.listFile = [];\r\n for (let i = 0; i < data.listFile.length; i++) {\r\n let item = data.listFile[i];\r\n this.listFile[i] = item && !(item).toJSON ? new FileModelViewSelectOne(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.entity = _data[\"entity\"];\r\n if (Array.isArray(_data[\"listFile\"])) {\r\n this.listFile = [] as any;\r\n for (let item of _data[\"listFile\"])\r\n this.listFile!.push(FileModelViewSelectOne.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): EntityWithFileModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EntityWithFileModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"entity\"] = this.entity;\r\n if (Array.isArray(this.listFile)) {\r\n data[\"listFile\"] = [];\r\n for (let item of this.listFile)\r\n data[\"listFile\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): EntityWithFileModel {\r\n const json = this.toJSON();\r\n let result = new EntityWithFileModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IEntityWithFileModel {\r\n entity?: any | undefined;\r\n listFile?: IFileModelViewSelectOne[] | undefined;\r\n}\r\n\r\nexport class EntityWithFileModelApiResponse implements IEntityWithFileModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: EntityWithFileModel;\r\n\r\n constructor(data?: IEntityWithFileModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new EntityWithFileModel(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? EntityWithFileModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): EntityWithFileModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EntityWithFileModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): EntityWithFileModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new EntityWithFileModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IEntityWithFileModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IEntityWithFileModel;\r\n}\r\n\r\nexport enum EventAttributes {\r\n _0 = 0,\r\n _512 = 512,\r\n _1024 = 1024,\r\n}\r\n\r\nexport class EventInfo implements IEventInfo {\r\n readonly name?: string | undefined;\r\n declaringType?: Type;\r\n reflectedType?: Type;\r\n module?: Module;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n memberType?: MemberTypes;\r\n attributes?: EventAttributes;\r\n readonly isSpecialName?: boolean;\r\n addMethod?: MethodInfo;\r\n removeMethod?: MethodInfo;\r\n raiseMethod?: MethodInfo;\r\n readonly isMulticast?: boolean;\r\n eventHandlerType?: Type;\r\n\r\n constructor(data?: IEventInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType;\r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType;\r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module;\r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.addMethod = data.addMethod && !(data.addMethod).toJSON ? new MethodInfo(data.addMethod) : this.addMethod;\r\n this.removeMethod = data.removeMethod && !(data.removeMethod).toJSON ? new MethodInfo(data.removeMethod) : this.removeMethod;\r\n this.raiseMethod = data.raiseMethod && !(data.raiseMethod).toJSON ? new MethodInfo(data.raiseMethod) : this.raiseMethod;\r\n this.eventHandlerType = data.eventHandlerType && !(data.eventHandlerType).toJSON ? new Type(data.eventHandlerType) : this.eventHandlerType;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n this.memberType = _data[\"memberType\"];\r\n this.attributes = _data[\"attributes\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n this.addMethod = _data[\"addMethod\"] ? MethodInfo.fromJS(_data[\"addMethod\"]) : undefined;\r\n this.removeMethod = _data[\"removeMethod\"] ? MethodInfo.fromJS(_data[\"removeMethod\"]) : undefined;\r\n this.raiseMethod = _data[\"raiseMethod\"] ? MethodInfo.fromJS(_data[\"raiseMethod\"]) : undefined;\r\n (this).isMulticast = _data[\"isMulticast\"];\r\n this.eventHandlerType = _data[\"eventHandlerType\"] ? Type.fromJS(_data[\"eventHandlerType\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): EventInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EventInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"memberType\"] = this.memberType;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"addMethod\"] = this.addMethod ? this.addMethod.toJSON() : undefined;\r\n data[\"removeMethod\"] = this.removeMethod ? this.removeMethod.toJSON() : undefined;\r\n data[\"raiseMethod\"] = this.raiseMethod ? this.raiseMethod.toJSON() : undefined;\r\n data[\"isMulticast\"] = this.isMulticast;\r\n data[\"eventHandlerType\"] = this.eventHandlerType ? this.eventHandlerType.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): EventInfo {\r\n const json = this.toJSON();\r\n let result = new EventInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IEventInfo {\r\n name?: string | undefined;\r\n declaringType?: IType;\r\n reflectedType?: IType;\r\n module?: IModule;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n memberType?: MemberTypes;\r\n attributes?: EventAttributes;\r\n isSpecialName?: boolean;\r\n addMethod?: IMethodInfo;\r\n removeMethod?: IMethodInfo;\r\n raiseMethod?: IMethodInfo;\r\n isMulticast?: boolean;\r\n eventHandlerType?: IType;\r\n}\r\n\r\nexport enum ExOp {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n _6 = 6,\r\n _7 = 7,\r\n _8 = 8,\r\n _9 = 9,\r\n _10 = 10,\r\n _11 = 11,\r\n _12 = 12,\r\n _13 = 13,\r\n _14 = 14,\r\n _15 = 15,\r\n _16 = 16,\r\n}\r\n\r\nexport enum ExpressionElementType {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n}\r\n\r\nexport enum FieldAttributes {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n _6 = 6,\r\n _7 = 7,\r\n _16 = 16,\r\n _32 = 32,\r\n _64 = 64,\r\n _128 = 128,\r\n _256 = 256,\r\n _512 = 512,\r\n _1024 = 1024,\r\n _4096 = 4096,\r\n _8192 = 8192,\r\n _32768 = 32768,\r\n _38144 = 38144,\r\n}\r\n\r\nexport class FieldInfo implements IFieldInfo {\r\n readonly name?: string | undefined;\r\n declaringType?: Type;\r\n reflectedType?: Type;\r\n module?: Module;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n memberType?: MemberTypes;\r\n attributes?: FieldAttributes;\r\n fieldType?: Type;\r\n readonly isInitOnly?: boolean;\r\n readonly isLiteral?: boolean;\r\n readonly isNotSerialized?: boolean;\r\n readonly isPinvokeImpl?: boolean;\r\n readonly isSpecialName?: boolean;\r\n readonly isStatic?: boolean;\r\n readonly isAssembly?: boolean;\r\n readonly isFamily?: boolean;\r\n readonly isFamilyAndAssembly?: boolean;\r\n readonly isFamilyOrAssembly?: boolean;\r\n readonly isPrivate?: boolean;\r\n readonly isPublic?: boolean;\r\n readonly isSecurityCritical?: boolean;\r\n readonly isSecuritySafeCritical?: boolean;\r\n readonly isSecurityTransparent?: boolean;\r\n fieldHandle?: RuntimeFieldHandle;\r\n\r\n constructor(data?: IFieldInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType;\r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType;\r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module;\r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.fieldType = data.fieldType && !(data.fieldType).toJSON ? new Type(data.fieldType) : this.fieldType;\r\n this.fieldHandle = data.fieldHandle && !(data.fieldHandle).toJSON ? new RuntimeFieldHandle(data.fieldHandle) : this.fieldHandle;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n this.memberType = _data[\"memberType\"];\r\n this.attributes = _data[\"attributes\"];\r\n this.fieldType = _data[\"fieldType\"] ? Type.fromJS(_data[\"fieldType\"]) : undefined;\r\n (this).isInitOnly = _data[\"isInitOnly\"];\r\n (this).isLiteral = _data[\"isLiteral\"];\r\n (this).isNotSerialized = _data[\"isNotSerialized\"];\r\n (this).isPinvokeImpl = _data[\"isPinvokeImpl\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n (this).isStatic = _data[\"isStatic\"];\r\n (this).isAssembly = _data[\"isAssembly\"];\r\n (this).isFamily = _data[\"isFamily\"];\r\n (this).isFamilyAndAssembly = _data[\"isFamilyAndAssembly\"];\r\n (this).isFamilyOrAssembly = _data[\"isFamilyOrAssembly\"];\r\n (this).isPrivate = _data[\"isPrivate\"];\r\n (this).isPublic = _data[\"isPublic\"];\r\n (this).isSecurityCritical = _data[\"isSecurityCritical\"];\r\n (this).isSecuritySafeCritical = _data[\"isSecuritySafeCritical\"];\r\n (this).isSecurityTransparent = _data[\"isSecurityTransparent\"];\r\n this.fieldHandle = _data[\"fieldHandle\"] ? RuntimeFieldHandle.fromJS(_data[\"fieldHandle\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): FieldInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FieldInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"memberType\"] = this.memberType;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"fieldType\"] = this.fieldType ? this.fieldType.toJSON() : undefined;\r\n data[\"isInitOnly\"] = this.isInitOnly;\r\n data[\"isLiteral\"] = this.isLiteral;\r\n data[\"isNotSerialized\"] = this.isNotSerialized;\r\n data[\"isPinvokeImpl\"] = this.isPinvokeImpl;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"isStatic\"] = this.isStatic;\r\n data[\"isAssembly\"] = this.isAssembly;\r\n data[\"isFamily\"] = this.isFamily;\r\n data[\"isFamilyAndAssembly\"] = this.isFamilyAndAssembly;\r\n data[\"isFamilyOrAssembly\"] = this.isFamilyOrAssembly;\r\n data[\"isPrivate\"] = this.isPrivate;\r\n data[\"isPublic\"] = this.isPublic;\r\n data[\"isSecurityCritical\"] = this.isSecurityCritical;\r\n data[\"isSecuritySafeCritical\"] = this.isSecuritySafeCritical;\r\n data[\"isSecurityTransparent\"] = this.isSecurityTransparent;\r\n data[\"fieldHandle\"] = this.fieldHandle ? this.fieldHandle.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): FieldInfo {\r\n const json = this.toJSON();\r\n let result = new FieldInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFieldInfo {\r\n name?: string | undefined;\r\n declaringType?: IType;\r\n reflectedType?: IType;\r\n module?: IModule;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n memberType?: MemberTypes;\r\n attributes?: FieldAttributes;\r\n fieldType?: IType;\r\n isInitOnly?: boolean;\r\n isLiteral?: boolean;\r\n isNotSerialized?: boolean;\r\n isPinvokeImpl?: boolean;\r\n isSpecialName?: boolean;\r\n isStatic?: boolean;\r\n isAssembly?: boolean;\r\n isFamily?: boolean;\r\n isFamilyAndAssembly?: boolean;\r\n isFamilyOrAssembly?: boolean;\r\n isPrivate?: boolean;\r\n isPublic?: boolean;\r\n isSecurityCritical?: boolean;\r\n isSecuritySafeCritical?: boolean;\r\n isSecurityTransparent?: boolean;\r\n fieldHandle?: IRuntimeFieldHandle;\r\n}\r\n\r\nexport class FileInsertModel implements IFileInsertModel {\r\n recordId?: number;\r\n fileId?: number;\r\n fileName?: string | undefined;\r\n type?: number;\r\n\r\n constructor(data?: IFileInsertModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.recordId = _data[\"recordId\"];\r\n this.fileId = _data[\"fileId\"];\r\n this.fileName = _data[\"fileName\"];\r\n this.type = _data[\"type\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileInsertModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileInsertModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"recordId\"] = this.recordId;\r\n data[\"fileId\"] = this.fileId;\r\n data[\"fileName\"] = this.fileName;\r\n data[\"type\"] = this.type;\r\n return data;\r\n }\r\n\r\n clone(): FileInsertModel {\r\n const json = this.toJSON();\r\n let result = new FileInsertModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFileInsertModel {\r\n recordId?: number;\r\n fileId?: number;\r\n fileName?: string | undefined;\r\n type?: number;\r\n}\r\n\r\nexport class FileModelViewSelectOne implements IFileModelViewSelectOne {\r\n fileId?: number | undefined;\r\n fileName?: string | undefined;\r\n type?: number;\r\n\r\n constructor(data?: IFileModelViewSelectOne) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fileId = _data[\"fileId\"];\r\n this.fileName = _data[\"fileName\"];\r\n this.type = _data[\"type\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileModelViewSelectOne {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileModelViewSelectOne();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fileId\"] = this.fileId;\r\n data[\"fileName\"] = this.fileName;\r\n data[\"type\"] = this.type;\r\n return data;\r\n }\r\n\r\n clone(): FileModelViewSelectOne {\r\n const json = this.toJSON();\r\n let result = new FileModelViewSelectOne();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFileModelViewSelectOne {\r\n fileId?: number | undefined;\r\n fileName?: string | undefined;\r\n type?: number;\r\n}\r\n\r\nexport class FileModelViewSelectOneCongAn implements IFileModelViewSelectOneCongAn {\r\n fileId?: number | undefined;\r\n fileName?: string | undefined;\r\n type?: number;\r\n\r\n constructor(data?: IFileModelViewSelectOneCongAn) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fileId = _data[\"fileId\"];\r\n this.fileName = _data[\"fileName\"];\r\n this.type = _data[\"type\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileModelViewSelectOneCongAn {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileModelViewSelectOneCongAn();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fileId\"] = this.fileId;\r\n data[\"fileName\"] = this.fileName;\r\n data[\"type\"] = this.type;\r\n return data;\r\n }\r\n\r\n clone(): FileModelViewSelectOneCongAn {\r\n const json = this.toJSON();\r\n let result = new FileModelViewSelectOneCongAn();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFileModelViewSelectOneCongAn {\r\n fileId?: number | undefined;\r\n fileName?: string | undefined;\r\n type?: number;\r\n}\r\n\r\nexport class FileViewModel implements IFileViewModel {\r\n id?: number;\r\n fileName?: string | undefined;\r\n type?: number;\r\n\r\n constructor(data?: IFileViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fileName = _data[\"fileName\"];\r\n this.type = _data[\"type\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fileName\"] = this.fileName;\r\n data[\"type\"] = this.type;\r\n return data;\r\n }\r\n\r\n clone(): FileViewModel {\r\n const json = this.toJSON();\r\n let result = new FileViewModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFileViewModel {\r\n id?: number;\r\n fileName?: string | undefined;\r\n type?: number;\r\n}\r\n\r\nexport enum GenericParameterAttributes {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _8 = 8,\r\n _16 = 16,\r\n _28 = 28,\r\n}\r\n\r\nexport class GetViewInsertUpdateTaiKhoanModel implements IGetViewInsertUpdateTaiKhoanModel {\r\n lstDiaBan?: DiaBanTaiKhoanModel[] | undefined;\r\n lstDonVi?: DonViTaiKhoanModel[] | undefined;\r\n lstPhanQuyen?: GroupPhanQuyenTaiKhoanModel[] | undefined;\r\n lstFile?: FileViewModel[] | undefined;\r\n diaban?: DBTaiKhoanModel;\r\n\r\n constructor(data?: IGetViewInsertUpdateTaiKhoanModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstDiaBan) {\r\n this.lstDiaBan = [];\r\n for (let i = 0; i < data.lstDiaBan.length; i++) {\r\n let item = data.lstDiaBan[i];\r\n this.lstDiaBan[i] = item && !(item).toJSON ? new DiaBanTaiKhoanModel(item) : item;\r\n }\r\n }\r\n if (data.lstDonVi) {\r\n this.lstDonVi = [];\r\n for (let i = 0; i < data.lstDonVi.length; i++) {\r\n let item = data.lstDonVi[i];\r\n this.lstDonVi[i] = item && !(item).toJSON ? new DonViTaiKhoanModel(item) : item;\r\n }\r\n }\r\n if (data.lstPhanQuyen) {\r\n this.lstPhanQuyen = [];\r\n for (let i = 0; i < data.lstPhanQuyen.length; i++) {\r\n let item = data.lstPhanQuyen[i];\r\n this.lstPhanQuyen[i] = item && !(item).toJSON ? new GroupPhanQuyenTaiKhoanModel(item) : item;\r\n }\r\n }\r\n if (data.lstFile) {\r\n this.lstFile = [];\r\n for (let i = 0; i < data.lstFile.length; i++) {\r\n let item = data.lstFile[i];\r\n this.lstFile[i] = item && !(item).toJSON ? new FileViewModel(item) : item;\r\n }\r\n }\r\n this.diaban = data.diaban && !(data.diaban).toJSON ? new DBTaiKhoanModel(data.diaban) : this.diaban;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"lstDiaBan\"])) {\r\n this.lstDiaBan = [] as any;\r\n for (let item of _data[\"lstDiaBan\"])\r\n this.lstDiaBan!.push(DiaBanTaiKhoanModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstDonVi\"])) {\r\n this.lstDonVi = [] as any;\r\n for (let item of _data[\"lstDonVi\"])\r\n this.lstDonVi!.push(DonViTaiKhoanModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstPhanQuyen\"])) {\r\n this.lstPhanQuyen = [] as any;\r\n for (let item of _data[\"lstPhanQuyen\"])\r\n this.lstPhanQuyen!.push(GroupPhanQuyenTaiKhoanModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstFile\"])) {\r\n this.lstFile = [] as any;\r\n for (let item of _data[\"lstFile\"])\r\n this.lstFile!.push(FileViewModel.fromJS(item));\r\n }\r\n this.diaban = _data[\"diaban\"] ? DBTaiKhoanModel.fromJS(_data[\"diaban\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): GetViewInsertUpdateTaiKhoanModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GetViewInsertUpdateTaiKhoanModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.lstDiaBan)) {\r\n data[\"lstDiaBan\"] = [];\r\n for (let item of this.lstDiaBan)\r\n data[\"lstDiaBan\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstDonVi)) {\r\n data[\"lstDonVi\"] = [];\r\n for (let item of this.lstDonVi)\r\n data[\"lstDonVi\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstPhanQuyen)) {\r\n data[\"lstPhanQuyen\"] = [];\r\n for (let item of this.lstPhanQuyen)\r\n data[\"lstPhanQuyen\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstFile)) {\r\n data[\"lstFile\"] = [];\r\n for (let item of this.lstFile)\r\n data[\"lstFile\"].push(item.toJSON());\r\n }\r\n data[\"diaban\"] = this.diaban ? this.diaban.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): GetViewInsertUpdateTaiKhoanModel {\r\n const json = this.toJSON();\r\n let result = new GetViewInsertUpdateTaiKhoanModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IGetViewInsertUpdateTaiKhoanModel {\r\n lstDiaBan?: IDiaBanTaiKhoanModel[] | undefined;\r\n lstDonVi?: IDonViTaiKhoanModel[] | undefined;\r\n lstPhanQuyen?: IGroupPhanQuyenTaiKhoanModel[] | undefined;\r\n lstFile?: IFileViewModel[] | undefined;\r\n diaban?: IDBTaiKhoanModel;\r\n}\r\n\r\nexport class GetViewInsertUpdateTaiKhoanModelApiResponse implements IGetViewInsertUpdateTaiKhoanModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: GetViewInsertUpdateTaiKhoanModel;\r\n\r\n constructor(data?: IGetViewInsertUpdateTaiKhoanModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new GetViewInsertUpdateTaiKhoanModel(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? GetViewInsertUpdateTaiKhoanModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): GetViewInsertUpdateTaiKhoanModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GetViewInsertUpdateTaiKhoanModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): GetViewInsertUpdateTaiKhoanModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new GetViewInsertUpdateTaiKhoanModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IGetViewInsertUpdateTaiKhoanModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IGetViewInsertUpdateTaiKhoanModel;\r\n}\r\n\r\nexport class GroupPhanQuyenTaiKhoanModel implements IGroupPhanQuyenTaiKhoanModel {\r\n id?: number;\r\n ten?: string | undefined;\r\n moTa?: string | undefined;\r\n level?: number;\r\n\r\n constructor(data?: IGroupPhanQuyenTaiKhoanModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.ten = _data[\"ten\"];\r\n this.moTa = _data[\"moTa\"];\r\n this.level = _data[\"level\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): GroupPhanQuyenTaiKhoanModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GroupPhanQuyenTaiKhoanModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"ten\"] = this.ten;\r\n data[\"moTa\"] = this.moTa;\r\n data[\"level\"] = this.level;\r\n return data;\r\n }\r\n\r\n clone(): GroupPhanQuyenTaiKhoanModel {\r\n const json = this.toJSON();\r\n let result = new GroupPhanQuyenTaiKhoanModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IGroupPhanQuyenTaiKhoanModel {\r\n id?: number;\r\n ten?: string | undefined;\r\n moTa?: string | undefined;\r\n level?: number;\r\n}\r\n\r\nexport class HoaDonDetailModel implements IHoaDonDetailModel {\r\n id?: number;\r\n mahoadon?: string | undefined;\r\n ngaytao?: Date | undefined;\r\n loai?: number | undefined;\r\n tienphong?: number | undefined;\r\n ghichu?: string | undefined;\r\n idphong?: number | undefined;\r\n idhopdong?: number | undefined;\r\n tiendichvu?: number | undefined;\r\n giamgia?: number | undefined;\r\n thanhtoan?: number | undefined;\r\n ngaythanhtoan?: Date | undefined;\r\n trangthai?: number | undefined;\r\n chiphikhac?: number | undefined;\r\n tungay?: Date | undefined;\r\n denngay?: Date | undefined;\r\n hinhthucthanhtoan?: number | undefined;\r\n tennguoitt?: string | undefined;\r\n idnguoithue?: string | undefined;\r\n\r\n constructor(data?: IHoaDonDetailModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.mahoadon = _data[\"mahoadon\"];\r\n this.ngaytao = _data[\"ngaytao\"] ? new Date(_data[\"ngaytao\"].toString()) : undefined;\r\n this.loai = _data[\"loai\"];\r\n this.tienphong = _data[\"tienphong\"];\r\n this.ghichu = _data[\"ghichu\"];\r\n this.idphong = _data[\"idphong\"];\r\n this.idhopdong = _data[\"idhopdong\"];\r\n this.tiendichvu = _data[\"tiendichvu\"];\r\n this.giamgia = _data[\"giamgia\"];\r\n this.thanhtoan = _data[\"thanhtoan\"];\r\n this.ngaythanhtoan = _data[\"ngaythanhtoan\"] ? new Date(_data[\"ngaythanhtoan\"].toString()) : undefined;\r\n this.trangthai = _data[\"trangthai\"];\r\n this.chiphikhac = _data[\"chiphikhac\"];\r\n this.tungay = _data[\"tungay\"] ? new Date(_data[\"tungay\"].toString()) : undefined;\r\n this.denngay = _data[\"denngay\"] ? new Date(_data[\"denngay\"].toString()) : undefined;\r\n this.hinhthucthanhtoan = _data[\"hinhthucthanhtoan\"];\r\n this.tennguoitt = _data[\"tennguoitt\"];\r\n this.idnguoithue = _data[\"idnguoithue\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HoaDonDetailModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HoaDonDetailModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"mahoadon\"] = this.mahoadon;\r\n data[\"ngaytao\"] = this.ngaytao ? this.ngaytao.toISOString() : undefined;\r\n data[\"loai\"] = this.loai;\r\n data[\"tienphong\"] = this.tienphong;\r\n data[\"ghichu\"] = this.ghichu;\r\n data[\"idphong\"] = this.idphong;\r\n data[\"idhopdong\"] = this.idhopdong;\r\n data[\"tiendichvu\"] = this.tiendichvu;\r\n data[\"giamgia\"] = this.giamgia;\r\n data[\"thanhtoan\"] = this.thanhtoan;\r\n data[\"ngaythanhtoan\"] = this.ngaythanhtoan ? this.ngaythanhtoan.toISOString() : undefined;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"chiphikhac\"] = this.chiphikhac;\r\n data[\"tungay\"] = this.tungay ? this.tungay.toISOString() : undefined;\r\n data[\"denngay\"] = this.denngay ? this.denngay.toISOString() : undefined;\r\n data[\"hinhthucthanhtoan\"] = this.hinhthucthanhtoan;\r\n data[\"tennguoitt\"] = this.tennguoitt;\r\n data[\"idnguoithue\"] = this.idnguoithue;\r\n return data;\r\n }\r\n\r\n clone(): HoaDonDetailModel {\r\n const json = this.toJSON();\r\n let result = new HoaDonDetailModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IHoaDonDetailModel {\r\n id?: number;\r\n mahoadon?: string | undefined;\r\n ngaytao?: Date | undefined;\r\n loai?: number | undefined;\r\n tienphong?: number | undefined;\r\n ghichu?: string | undefined;\r\n idphong?: number | undefined;\r\n idhopdong?: number | undefined;\r\n tiendichvu?: number | undefined;\r\n giamgia?: number | undefined;\r\n thanhtoan?: number | undefined;\r\n ngaythanhtoan?: Date | undefined;\r\n trangthai?: number | undefined;\r\n chiphikhac?: number | undefined;\r\n tungay?: Date | undefined;\r\n denngay?: Date | undefined;\r\n hinhthucthanhtoan?: number | undefined;\r\n tennguoitt?: string | undefined;\r\n idnguoithue?: string | undefined;\r\n}\r\n\r\nexport class HoaDonDichVuModel implements IHoaDonDichVuModel {\r\n id?: number;\r\n iddichvu?: number | undefined;\r\n tendichvu?: string | undefined;\r\n dongia?: number | undefined;\r\n sobandau?: number | undefined;\r\n soketthuc?: number | undefined;\r\n soluong?: number | undefined;\r\n thanhtien?: number | undefined;\r\n idhoadon?: number | undefined;\r\n\r\n constructor(data?: IHoaDonDichVuModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.iddichvu = _data[\"iddichvu\"];\r\n this.tendichvu = _data[\"tendichvu\"];\r\n this.dongia = _data[\"dongia\"];\r\n this.sobandau = _data[\"sobandau\"];\r\n this.soketthuc = _data[\"soketthuc\"];\r\n this.soluong = _data[\"soluong\"];\r\n this.thanhtien = _data[\"thanhtien\"];\r\n this.idhoadon = _data[\"idhoadon\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HoaDonDichVuModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HoaDonDichVuModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"iddichvu\"] = this.iddichvu;\r\n data[\"tendichvu\"] = this.tendichvu;\r\n data[\"dongia\"] = this.dongia;\r\n data[\"sobandau\"] = this.sobandau;\r\n data[\"soketthuc\"] = this.soketthuc;\r\n data[\"soluong\"] = this.soluong;\r\n data[\"thanhtien\"] = this.thanhtien;\r\n data[\"idhoadon\"] = this.idhoadon;\r\n return data;\r\n }\r\n\r\n clone(): HoaDonDichVuModel {\r\n const json = this.toJSON();\r\n let result = new HoaDonDichVuModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IHoaDonDichVuModel {\r\n id?: number;\r\n iddichvu?: number | undefined;\r\n tendichvu?: string | undefined;\r\n dongia?: number | undefined;\r\n sobandau?: number | undefined;\r\n soketthuc?: number | undefined;\r\n soluong?: number | undefined;\r\n thanhtien?: number | undefined;\r\n idhoadon?: number | undefined;\r\n}\r\n\r\nexport class HoadonEntity implements IHoadonEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n chiphikhac?: number | undefined;\r\n denngay?: Date | undefined;\r\n ghichu?: string | undefined;\r\n giamgia?: number | undefined;\r\n hinhthucthanhtoan?: number | undefined;\r\n id?: number;\r\n idhopdong?: number | undefined;\r\n idnguoithue?: string | undefined;\r\n idphong?: number | undefined;\r\n loai?: number | undefined;\r\n mahoadon?: string | undefined;\r\n ngaytao?: Date | undefined;\r\n ngaythanhtoan?: Date | undefined;\r\n tennguoitt?: string | undefined;\r\n thanhtoan?: number | undefined;\r\n tiendichvu?: number | undefined;\r\n tienphong?: number | undefined;\r\n trangthai?: number | undefined;\r\n tungay?: Date | undefined;\r\n\r\n constructor(data?: IHoadonEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.chiphikhac = _data[\"chiphikhac\"];\r\n this.denngay = _data[\"denngay\"] ? new Date(_data[\"denngay\"].toString()) : undefined;\r\n this.ghichu = _data[\"ghichu\"];\r\n this.giamgia = _data[\"giamgia\"];\r\n this.hinhthucthanhtoan = _data[\"hinhthucthanhtoan\"];\r\n this.id = _data[\"id\"];\r\n this.idhopdong = _data[\"idhopdong\"];\r\n this.idnguoithue = _data[\"idnguoithue\"];\r\n this.idphong = _data[\"idphong\"];\r\n this.loai = _data[\"loai\"];\r\n this.mahoadon = _data[\"mahoadon\"];\r\n this.ngaytao = _data[\"ngaytao\"] ? new Date(_data[\"ngaytao\"].toString()) : undefined;\r\n this.ngaythanhtoan = _data[\"ngaythanhtoan\"] ? new Date(_data[\"ngaythanhtoan\"].toString()) : undefined;\r\n this.tennguoitt = _data[\"tennguoitt\"];\r\n this.thanhtoan = _data[\"thanhtoan\"];\r\n this.tiendichvu = _data[\"tiendichvu\"];\r\n this.tienphong = _data[\"tienphong\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.tungay = _data[\"tungay\"] ? new Date(_data[\"tungay\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): HoadonEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HoadonEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"chiphikhac\"] = this.chiphikhac;\r\n data[\"denngay\"] = this.denngay ? this.denngay.toISOString() : undefined;\r\n data[\"ghichu\"] = this.ghichu;\r\n data[\"giamgia\"] = this.giamgia;\r\n data[\"hinhthucthanhtoan\"] = this.hinhthucthanhtoan;\r\n data[\"id\"] = this.id;\r\n data[\"idhopdong\"] = this.idhopdong;\r\n data[\"idnguoithue\"] = this.idnguoithue;\r\n data[\"idphong\"] = this.idphong;\r\n data[\"loai\"] = this.loai;\r\n data[\"mahoadon\"] = this.mahoadon;\r\n data[\"ngaytao\"] = this.ngaytao ? this.ngaytao.toISOString() : undefined;\r\n data[\"ngaythanhtoan\"] = this.ngaythanhtoan ? this.ngaythanhtoan.toISOString() : undefined;\r\n data[\"tennguoitt\"] = this.tennguoitt;\r\n data[\"thanhtoan\"] = this.thanhtoan;\r\n data[\"tiendichvu\"] = this.tiendichvu;\r\n data[\"tienphong\"] = this.tienphong;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"tungay\"] = this.tungay ? this.tungay.toISOString() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): HoadonEntity {\r\n const json = this.toJSON();\r\n let result = new HoadonEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IHoadonEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n chiphikhac?: number | undefined;\r\n denngay?: Date | undefined;\r\n ghichu?: string | undefined;\r\n giamgia?: number | undefined;\r\n hinhthucthanhtoan?: number | undefined;\r\n id?: number;\r\n idhopdong?: number | undefined;\r\n idnguoithue?: string | undefined;\r\n idphong?: number | undefined;\r\n loai?: number | undefined;\r\n mahoadon?: string | undefined;\r\n ngaytao?: Date | undefined;\r\n ngaythanhtoan?: Date | undefined;\r\n tennguoitt?: string | undefined;\r\n thanhtoan?: number | undefined;\r\n tiendichvu?: number | undefined;\r\n tienphong?: number | undefined;\r\n trangthai?: number | undefined;\r\n tungay?: Date | undefined;\r\n}\r\n\r\nexport class HoadonEntityApiResponse implements IHoadonEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: HoadonEntity;\r\n\r\n constructor(data?: IHoadonEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new HoadonEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? HoadonEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): HoadonEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HoadonEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): HoadonEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new HoadonEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IHoadonEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IHoadonEntity;\r\n}\r\n\r\nexport class HoaDonModel implements IHoaDonModel {\r\n id?: number;\r\n ducu?: number | undefined;\r\n ghichu?: string | undefined;\r\n giamgia?: number | undefined;\r\n idhopdong?: number | undefined;\r\n idphong?: number | undefined;\r\n loai?: number | undefined;\r\n mahoadon?: string | undefined;\r\n ngaytao?: Date | undefined;\r\n nocu?: number | undefined;\r\n thanhtoan?: number | undefined;\r\n tiencoc?: number | undefined;\r\n tiendichvu?: number | undefined;\r\n tienphong?: number | undefined;\r\n tenphong?: string | undefined;\r\n daidienphong?: string | undefined;\r\n ngaythanhtoan?: Date | undefined;\r\n trangthai?: number | undefined;\r\n idnhatro?: number | undefined;\r\n chiphikhac?: number | undefined;\r\n checktiencoc?: boolean | undefined;\r\n tungay?: Date | undefined;\r\n denngay?: Date | undefined;\r\n iddaidienphong?: number;\r\n hinhthucthanhtoan?: number | undefined;\r\n tenNguoiTT?: string | undefined;\r\n idnguoitt?: string | undefined;\r\n sobandau?: number | undefined;\r\n soketthuc?: number | undefined;\r\n iddichvu?: number | undefined;\r\n tendichvu?: string | undefined;\r\n soluong?: number | undefined;\r\n dongia?: number | undefined;\r\n thanhtien?: number | undefined;\r\n lstDichVu?: HopDongDichVuModel[] | undefined;\r\n lstHoaDonDichVu?: HoaDonDichVuModel[] | undefined;\r\n\r\n constructor(data?: IHoaDonModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstDichVu) {\r\n this.lstDichVu = [];\r\n for (let i = 0; i < data.lstDichVu.length; i++) {\r\n let item = data.lstDichVu[i];\r\n this.lstDichVu[i] = item && !(item).toJSON ? new HopDongDichVuModel(item) : item;\r\n }\r\n }\r\n if (data.lstHoaDonDichVu) {\r\n this.lstHoaDonDichVu = [];\r\n for (let i = 0; i < data.lstHoaDonDichVu.length; i++) {\r\n let item = data.lstHoaDonDichVu[i];\r\n this.lstHoaDonDichVu[i] = item && !(item).toJSON ? new HoaDonDichVuModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.ducu = _data[\"ducu\"];\r\n this.ghichu = _data[\"ghichu\"];\r\n this.giamgia = _data[\"giamgia\"];\r\n this.idhopdong = _data[\"idhopdong\"];\r\n this.idphong = _data[\"idphong\"];\r\n this.loai = _data[\"loai\"];\r\n this.mahoadon = _data[\"mahoadon\"];\r\n this.ngaytao = _data[\"ngaytao\"] ? new Date(_data[\"ngaytao\"].toString()) : undefined;\r\n this.nocu = _data[\"nocu\"];\r\n this.thanhtoan = _data[\"thanhtoan\"];\r\n this.tiencoc = _data[\"tiencoc\"];\r\n this.tiendichvu = _data[\"tiendichvu\"];\r\n this.tienphong = _data[\"tienphong\"];\r\n this.tenphong = _data[\"tenphong\"];\r\n this.daidienphong = _data[\"daidienphong\"];\r\n this.ngaythanhtoan = _data[\"ngaythanhtoan\"] ? new Date(_data[\"ngaythanhtoan\"].toString()) : undefined;\r\n this.trangthai = _data[\"trangthai\"];\r\n this.idnhatro = _data[\"idnhatro\"];\r\n this.chiphikhac = _data[\"chiphikhac\"];\r\n this.checktiencoc = _data[\"checktiencoc\"];\r\n this.tungay = _data[\"tungay\"] ? new Date(_data[\"tungay\"].toString()) : undefined;\r\n this.denngay = _data[\"denngay\"] ? new Date(_data[\"denngay\"].toString()) : undefined;\r\n this.iddaidienphong = _data[\"iddaidienphong\"];\r\n this.hinhthucthanhtoan = _data[\"hinhthucthanhtoan\"];\r\n this.tenNguoiTT = _data[\"tenNguoiTT\"];\r\n this.idnguoitt = _data[\"idnguoitt\"];\r\n this.sobandau = _data[\"sobandau\"];\r\n this.soketthuc = _data[\"soketthuc\"];\r\n this.iddichvu = _data[\"iddichvu\"];\r\n this.tendichvu = _data[\"tendichvu\"];\r\n this.soluong = _data[\"soluong\"];\r\n this.dongia = _data[\"dongia\"];\r\n this.thanhtien = _data[\"thanhtien\"];\r\n if (Array.isArray(_data[\"lstDichVu\"])) {\r\n this.lstDichVu = [] as any;\r\n for (let item of _data[\"lstDichVu\"])\r\n this.lstDichVu!.push(HopDongDichVuModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstHoaDonDichVu\"])) {\r\n this.lstHoaDonDichVu = [] as any;\r\n for (let item of _data[\"lstHoaDonDichVu\"])\r\n this.lstHoaDonDichVu!.push(HoaDonDichVuModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): HoaDonModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HoaDonModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"ducu\"] = this.ducu;\r\n data[\"ghichu\"] = this.ghichu;\r\n data[\"giamgia\"] = this.giamgia;\r\n data[\"idhopdong\"] = this.idhopdong;\r\n data[\"idphong\"] = this.idphong;\r\n data[\"loai\"] = this.loai;\r\n data[\"mahoadon\"] = this.mahoadon;\r\n data[\"ngaytao\"] = this.ngaytao ? this.ngaytao.toISOString() : undefined;\r\n data[\"nocu\"] = this.nocu;\r\n data[\"thanhtoan\"] = this.thanhtoan;\r\n data[\"tiencoc\"] = this.tiencoc;\r\n data[\"tiendichvu\"] = this.tiendichvu;\r\n data[\"tienphong\"] = this.tienphong;\r\n data[\"tenphong\"] = this.tenphong;\r\n data[\"daidienphong\"] = this.daidienphong;\r\n data[\"ngaythanhtoan\"] = this.ngaythanhtoan ? this.ngaythanhtoan.toISOString() : undefined;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"idnhatro\"] = this.idnhatro;\r\n data[\"chiphikhac\"] = this.chiphikhac;\r\n data[\"checktiencoc\"] = this.checktiencoc;\r\n data[\"tungay\"] = this.tungay ? this.tungay.toISOString() : undefined;\r\n data[\"denngay\"] = this.denngay ? this.denngay.toISOString() : undefined;\r\n data[\"iddaidienphong\"] = this.iddaidienphong;\r\n data[\"hinhthucthanhtoan\"] = this.hinhthucthanhtoan;\r\n data[\"tenNguoiTT\"] = this.tenNguoiTT;\r\n data[\"idnguoitt\"] = this.idnguoitt;\r\n data[\"sobandau\"] = this.sobandau;\r\n data[\"soketthuc\"] = this.soketthuc;\r\n data[\"iddichvu\"] = this.iddichvu;\r\n data[\"tendichvu\"] = this.tendichvu;\r\n data[\"soluong\"] = this.soluong;\r\n data[\"dongia\"] = this.dongia;\r\n data[\"thanhtien\"] = this.thanhtien;\r\n if (Array.isArray(this.lstDichVu)) {\r\n data[\"lstDichVu\"] = [];\r\n for (let item of this.lstDichVu)\r\n data[\"lstDichVu\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstHoaDonDichVu)) {\r\n data[\"lstHoaDonDichVu\"] = [];\r\n for (let item of this.lstHoaDonDichVu)\r\n data[\"lstHoaDonDichVu\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): HoaDonModel {\r\n const json = this.toJSON();\r\n let result = new HoaDonModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IHoaDonModel {\r\n id?: number;\r\n ducu?: number | undefined;\r\n ghichu?: string | undefined;\r\n giamgia?: number | undefined;\r\n idhopdong?: number | undefined;\r\n idphong?: number | undefined;\r\n loai?: number | undefined;\r\n mahoadon?: string | undefined;\r\n ngaytao?: Date | undefined;\r\n nocu?: number | undefined;\r\n thanhtoan?: number | undefined;\r\n tiencoc?: number | undefined;\r\n tiendichvu?: number | undefined;\r\n tienphong?: number | undefined;\r\n tenphong?: string | undefined;\r\n daidienphong?: string | undefined;\r\n ngaythanhtoan?: Date | undefined;\r\n trangthai?: number | undefined;\r\n idnhatro?: number | undefined;\r\n chiphikhac?: number | undefined;\r\n checktiencoc?: boolean | undefined;\r\n tungay?: Date | undefined;\r\n denngay?: Date | undefined;\r\n iddaidienphong?: number;\r\n hinhthucthanhtoan?: number | undefined;\r\n tenNguoiTT?: string | undefined;\r\n idnguoitt?: string | undefined;\r\n sobandau?: number | undefined;\r\n soketthuc?: number | undefined;\r\n iddichvu?: number | undefined;\r\n tendichvu?: string | undefined;\r\n soluong?: number | undefined;\r\n dongia?: number | undefined;\r\n thanhtien?: number | undefined;\r\n lstDichVu?: IHopDongDichVuModel[] | undefined;\r\n lstHoaDonDichVu?: IHoaDonDichVuModel[] | undefined;\r\n}\r\n\r\nexport class HopdongDichvuEntity implements IHopdongDichvuEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n dongia?: number | undefined;\r\n donvitinh?: string | undefined;\r\n id?: number;\r\n iddichvu?: number | undefined;\r\n idhopdong?: number | undefined;\r\n idnguoithue?: number | undefined;\r\n idnhatro?: number;\r\n idphong?: number;\r\n sobandau?: number | undefined;\r\n soluong?: number | undefined;\r\n tendichvu?: string | undefined;\r\n\r\n constructor(data?: IHopdongDichvuEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.dongia = _data[\"dongia\"];\r\n this.donvitinh = _data[\"donvitinh\"];\r\n this.id = _data[\"id\"];\r\n this.iddichvu = _data[\"iddichvu\"];\r\n this.idhopdong = _data[\"idhopdong\"];\r\n this.idnguoithue = _data[\"idnguoithue\"];\r\n this.idnhatro = _data[\"idnhatro\"];\r\n this.idphong = _data[\"idphong\"];\r\n this.sobandau = _data[\"sobandau\"];\r\n this.soluong = _data[\"soluong\"];\r\n this.tendichvu = _data[\"tendichvu\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HopdongDichvuEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HopdongDichvuEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"dongia\"] = this.dongia;\r\n data[\"donvitinh\"] = this.donvitinh;\r\n data[\"id\"] = this.id;\r\n data[\"iddichvu\"] = this.iddichvu;\r\n data[\"idhopdong\"] = this.idhopdong;\r\n data[\"idnguoithue\"] = this.idnguoithue;\r\n data[\"idnhatro\"] = this.idnhatro;\r\n data[\"idphong\"] = this.idphong;\r\n data[\"sobandau\"] = this.sobandau;\r\n data[\"soluong\"] = this.soluong;\r\n data[\"tendichvu\"] = this.tendichvu;\r\n return data;\r\n }\r\n\r\n clone(): HopdongDichvuEntity {\r\n const json = this.toJSON();\r\n let result = new HopdongDichvuEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IHopdongDichvuEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n dongia?: number | undefined;\r\n donvitinh?: string | undefined;\r\n id?: number;\r\n iddichvu?: number | undefined;\r\n idhopdong?: number | undefined;\r\n idnguoithue?: number | undefined;\r\n idnhatro?: number;\r\n idphong?: number;\r\n sobandau?: number | undefined;\r\n soluong?: number | undefined;\r\n tendichvu?: string | undefined;\r\n}\r\n\r\nexport class HopDongDichVuModel implements IHopDongDichVuModel {\r\n id?: number;\r\n iddichvu?: number | undefined;\r\n idhopdong?: number | undefined;\r\n soluong?: number | undefined;\r\n tendichvu?: string | undefined;\r\n quytactinhtien?: number | undefined;\r\n dongia?: number | undefined;\r\n donvi?: string | undefined;\r\n trangthai?: number | undefined;\r\n loai?: number | undefined;\r\n sobatdau?: number | undefined;\r\n soketthuc?: number | undefined;\r\n tongtiendichvu?: number | undefined;\r\n\r\n constructor(data?: IHopDongDichVuModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.iddichvu = _data[\"iddichvu\"];\r\n this.idhopdong = _data[\"idhopdong\"];\r\n this.soluong = _data[\"soluong\"];\r\n this.tendichvu = _data[\"tendichvu\"];\r\n this.quytactinhtien = _data[\"quytactinhtien\"];\r\n this.dongia = _data[\"dongia\"];\r\n this.donvi = _data[\"donvi\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.loai = _data[\"loai\"];\r\n this.sobatdau = _data[\"sobatdau\"];\r\n this.soketthuc = _data[\"soketthuc\"];\r\n this.tongtiendichvu = _data[\"tongtiendichvu\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HopDongDichVuModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HopDongDichVuModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"iddichvu\"] = this.iddichvu;\r\n data[\"idhopdong\"] = this.idhopdong;\r\n data[\"soluong\"] = this.soluong;\r\n data[\"tendichvu\"] = this.tendichvu;\r\n data[\"quytactinhtien\"] = this.quytactinhtien;\r\n data[\"dongia\"] = this.dongia;\r\n data[\"donvi\"] = this.donvi;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"loai\"] = this.loai;\r\n data[\"sobatdau\"] = this.sobatdau;\r\n data[\"soketthuc\"] = this.soketthuc;\r\n data[\"tongtiendichvu\"] = this.tongtiendichvu;\r\n return data;\r\n }\r\n\r\n clone(): HopDongDichVuModel {\r\n const json = this.toJSON();\r\n let result = new HopDongDichVuModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IHopDongDichVuModel {\r\n id?: number;\r\n iddichvu?: number | undefined;\r\n idhopdong?: number | undefined;\r\n soluong?: number | undefined;\r\n tendichvu?: string | undefined;\r\n quytactinhtien?: number | undefined;\r\n dongia?: number | undefined;\r\n donvi?: string | undefined;\r\n trangthai?: number | undefined;\r\n loai?: number | undefined;\r\n sobatdau?: number | undefined;\r\n soketthuc?: number | undefined;\r\n tongtiendichvu?: number | undefined;\r\n}\r\n\r\nexport class HopDongDichVuModelListApiResponse implements IHopDongDichVuModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: HopDongDichVuModel[] | undefined;\r\n\r\n constructor(data?: IHopDongDichVuModelListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new HopDongDichVuModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(HopDongDichVuModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): HopDongDichVuModelListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HopDongDichVuModelListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): HopDongDichVuModelListApiResponse {\r\n const json = this.toJSON();\r\n let result = new HopDongDichVuModelListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IHopDongDichVuModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IHopDongDichVuModel[] | undefined;\r\n}\r\n\r\nexport class HopdongEntity implements IHopdongEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n chotsodien?: number | undefined;\r\n chotsonuoc?: number | undefined;\r\n ghichu?: string | undefined;\r\n id?: number;\r\n idchutro?: number | undefined;\r\n idnguoidaidien?: number | undefined;\r\n idnhatro?: number | undefined;\r\n idphong?: number | undefined;\r\n kythanhtoan?: number | undefined;\r\n ngaybatdau?: Date | undefined;\r\n ngayketthuc?: Date | undefined;\r\n ngayky?: Date | undefined;\r\n sohopdong?: string | undefined;\r\n tennguoidaidien?: string | undefined;\r\n tiencoc?: number | undefined;\r\n trangthai?: boolean | undefined;\r\n\r\n constructor(data?: IHopdongEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.chotsodien = _data[\"chotsodien\"];\r\n this.chotsonuoc = _data[\"chotsonuoc\"];\r\n this.ghichu = _data[\"ghichu\"];\r\n this.id = _data[\"id\"];\r\n this.idchutro = _data[\"idchutro\"];\r\n this.idnguoidaidien = _data[\"idnguoidaidien\"];\r\n this.idnhatro = _data[\"idnhatro\"];\r\n this.idphong = _data[\"idphong\"];\r\n this.kythanhtoan = _data[\"kythanhtoan\"];\r\n this.ngaybatdau = _data[\"ngaybatdau\"] ? new Date(_data[\"ngaybatdau\"].toString()) : undefined;\r\n this.ngayketthuc = _data[\"ngayketthuc\"] ? new Date(_data[\"ngayketthuc\"].toString()) : undefined;\r\n this.ngayky = _data[\"ngayky\"] ? new Date(_data[\"ngayky\"].toString()) : undefined;\r\n this.sohopdong = _data[\"sohopdong\"];\r\n this.tennguoidaidien = _data[\"tennguoidaidien\"];\r\n this.tiencoc = _data[\"tiencoc\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HopdongEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HopdongEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"chotsodien\"] = this.chotsodien;\r\n data[\"chotsonuoc\"] = this.chotsonuoc;\r\n data[\"ghichu\"] = this.ghichu;\r\n data[\"id\"] = this.id;\r\n data[\"idchutro\"] = this.idchutro;\r\n data[\"idnguoidaidien\"] = this.idnguoidaidien;\r\n data[\"idnhatro\"] = this.idnhatro;\r\n data[\"idphong\"] = this.idphong;\r\n data[\"kythanhtoan\"] = this.kythanhtoan;\r\n data[\"ngaybatdau\"] = this.ngaybatdau ? this.ngaybatdau.toISOString() : undefined;\r\n data[\"ngayketthuc\"] = this.ngayketthuc ? this.ngayketthuc.toISOString() : undefined;\r\n data[\"ngayky\"] = this.ngayky ? this.ngayky.toISOString() : undefined;\r\n data[\"sohopdong\"] = this.sohopdong;\r\n data[\"tennguoidaidien\"] = this.tennguoidaidien;\r\n data[\"tiencoc\"] = this.tiencoc;\r\n data[\"trangthai\"] = this.trangthai;\r\n return data;\r\n }\r\n\r\n clone(): HopdongEntity {\r\n const json = this.toJSON();\r\n let result = new HopdongEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IHopdongEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n chotsodien?: number | undefined;\r\n chotsonuoc?: number | undefined;\r\n ghichu?: string | undefined;\r\n id?: number;\r\n idchutro?: number | undefined;\r\n idnguoidaidien?: number | undefined;\r\n idnhatro?: number | undefined;\r\n idphong?: number | undefined;\r\n kythanhtoan?: number | undefined;\r\n ngaybatdau?: Date | undefined;\r\n ngayketthuc?: Date | undefined;\r\n ngayky?: Date | undefined;\r\n sohopdong?: string | undefined;\r\n tennguoidaidien?: string | undefined;\r\n tiencoc?: number | undefined;\r\n trangthai?: boolean | undefined;\r\n}\r\n\r\nexport class HopdongEntityApiResponse implements IHopdongEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: HopdongEntity;\r\n\r\n constructor(data?: IHopdongEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new HopdongEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? HopdongEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): HopdongEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HopdongEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): HopdongEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new HopdongEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IHopdongEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IHopdongEntity;\r\n}\r\n\r\nexport class HopDongHoaDonModel implements IHopDongHoaDonModel {\r\n idHopDong?: number;\r\n lstHopDongDichVu?: HopDongDichVuModel[] | undefined;\r\n\r\n constructor(data?: IHopDongHoaDonModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstHopDongDichVu) {\r\n this.lstHopDongDichVu = [];\r\n for (let i = 0; i < data.lstHopDongDichVu.length; i++) {\r\n let item = data.lstHopDongDichVu[i];\r\n this.lstHopDongDichVu[i] = item && !(item).toJSON ? new HopDongDichVuModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.idHopDong = _data[\"idHopDong\"];\r\n if (Array.isArray(_data[\"lstHopDongDichVu\"])) {\r\n this.lstHopDongDichVu = [] as any;\r\n for (let item of _data[\"lstHopDongDichVu\"])\r\n this.lstHopDongDichVu!.push(HopDongDichVuModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): HopDongHoaDonModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HopDongHoaDonModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"idHopDong\"] = this.idHopDong;\r\n if (Array.isArray(this.lstHopDongDichVu)) {\r\n data[\"lstHopDongDichVu\"] = [];\r\n for (let item of this.lstHopDongDichVu)\r\n data[\"lstHopDongDichVu\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): HopDongHoaDonModel {\r\n const json = this.toJSON();\r\n let result = new HopDongHoaDonModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IHopDongHoaDonModel {\r\n idHopDong?: number;\r\n lstHopDongDichVu?: IHopDongDichVuModel[] | undefined;\r\n}\r\n\r\nexport class HopDongHoaDonModelApiResponse implements IHopDongHoaDonModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: HopDongHoaDonModel;\r\n\r\n constructor(data?: IHopDongHoaDonModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new HopDongHoaDonModel(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? HopDongHoaDonModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): HopDongHoaDonModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HopDongHoaDonModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): HopDongHoaDonModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new HopDongHoaDonModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IHopDongHoaDonModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IHopDongHoaDonModel;\r\n}\r\n\r\nexport class HopDongModel implements IHopDongModel {\r\n id?: number;\r\n ghichu?: string | undefined;\r\n tenphong?: string | undefined;\r\n tennha?: string | undefined;\r\n kythanhtoan?: number | undefined;\r\n ngaybatdau?: Date | undefined;\r\n ngayketthuc?: Date | undefined;\r\n ngayky?: Date | undefined;\r\n tennguoidaidien?: string | undefined;\r\n tiencoc?: number | undefined;\r\n idnhatro?: number | undefined;\r\n sonuoc?: number | undefined;\r\n sodien?: number | undefined;\r\n idPhong?: number;\r\n sohopdong?: string | undefined;\r\n tennguoidaidienreal?: string | undefined;\r\n lstNguoiThue?: HopDongNguoiThueModel[] | undefined;\r\n lstDichVu?: HopDongDichVuModel[] | undefined;\r\n trangThai?: string | undefined;\r\n\r\n constructor(data?: IHopDongModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstNguoiThue) {\r\n this.lstNguoiThue = [];\r\n for (let i = 0; i < data.lstNguoiThue.length; i++) {\r\n let item = data.lstNguoiThue[i];\r\n this.lstNguoiThue[i] = item && !(item).toJSON ? new HopDongNguoiThueModel(item) : item;\r\n }\r\n }\r\n if (data.lstDichVu) {\r\n this.lstDichVu = [];\r\n for (let i = 0; i < data.lstDichVu.length; i++) {\r\n let item = data.lstDichVu[i];\r\n this.lstDichVu[i] = item && !(item).toJSON ? new HopDongDichVuModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.ghichu = _data[\"ghichu\"];\r\n this.tenphong = _data[\"tenphong\"];\r\n this.tennha = _data[\"tennha\"];\r\n this.kythanhtoan = _data[\"kythanhtoan\"];\r\n this.ngaybatdau = _data[\"ngaybatdau\"] ? new Date(_data[\"ngaybatdau\"].toString()) : undefined;\r\n this.ngayketthuc = _data[\"ngayketthuc\"] ? new Date(_data[\"ngayketthuc\"].toString()) : undefined;\r\n this.ngayky = _data[\"ngayky\"] ? new Date(_data[\"ngayky\"].toString()) : undefined;\r\n this.tennguoidaidien = _data[\"tennguoidaidien\"];\r\n this.tiencoc = _data[\"tiencoc\"];\r\n this.idnhatro = _data[\"idnhatro\"];\r\n this.sonuoc = _data[\"sonuoc\"];\r\n this.sodien = _data[\"sodien\"];\r\n this.idPhong = _data[\"idPhong\"];\r\n this.sohopdong = _data[\"sohopdong\"];\r\n this.tennguoidaidienreal = _data[\"tennguoidaidienreal\"];\r\n if (Array.isArray(_data[\"lstNguoiThue\"])) {\r\n this.lstNguoiThue = [] as any;\r\n for (let item of _data[\"lstNguoiThue\"])\r\n this.lstNguoiThue!.push(HopDongNguoiThueModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstDichVu\"])) {\r\n this.lstDichVu = [] as any;\r\n for (let item of _data[\"lstDichVu\"])\r\n this.lstDichVu!.push(HopDongDichVuModel.fromJS(item));\r\n }\r\n this.trangThai = _data[\"trangThai\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HopDongModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HopDongModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"ghichu\"] = this.ghichu;\r\n data[\"tenphong\"] = this.tenphong;\r\n data[\"tennha\"] = this.tennha;\r\n data[\"kythanhtoan\"] = this.kythanhtoan;\r\n data[\"ngaybatdau\"] = this.ngaybatdau ? this.ngaybatdau.toISOString() : undefined;\r\n data[\"ngayketthuc\"] = this.ngayketthuc ? this.ngayketthuc.toISOString() : undefined;\r\n data[\"ngayky\"] = this.ngayky ? this.ngayky.toISOString() : undefined;\r\n data[\"tennguoidaidien\"] = this.tennguoidaidien;\r\n data[\"tiencoc\"] = this.tiencoc;\r\n data[\"idnhatro\"] = this.idnhatro;\r\n data[\"sonuoc\"] = this.sonuoc;\r\n data[\"sodien\"] = this.sodien;\r\n data[\"idPhong\"] = this.idPhong;\r\n data[\"sohopdong\"] = this.sohopdong;\r\n data[\"tennguoidaidienreal\"] = this.tennguoidaidienreal;\r\n if (Array.isArray(this.lstNguoiThue)) {\r\n data[\"lstNguoiThue\"] = [];\r\n for (let item of this.lstNguoiThue)\r\n data[\"lstNguoiThue\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstDichVu)) {\r\n data[\"lstDichVu\"] = [];\r\n for (let item of this.lstDichVu)\r\n data[\"lstDichVu\"].push(item.toJSON());\r\n }\r\n data[\"trangThai\"] = this.trangThai;\r\n return data;\r\n }\r\n\r\n clone(): HopDongModel {\r\n const json = this.toJSON();\r\n let result = new HopDongModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IHopDongModel {\r\n id?: number;\r\n ghichu?: string | undefined;\r\n tenphong?: string | undefined;\r\n tennha?: string | undefined;\r\n kythanhtoan?: number | undefined;\r\n ngaybatdau?: Date | undefined;\r\n ngayketthuc?: Date | undefined;\r\n ngayky?: Date | undefined;\r\n tennguoidaidien?: string | undefined;\r\n tiencoc?: number | undefined;\r\n idnhatro?: number | undefined;\r\n sonuoc?: number | undefined;\r\n sodien?: number | undefined;\r\n idPhong?: number;\r\n sohopdong?: string | undefined;\r\n tennguoidaidienreal?: string | undefined;\r\n lstNguoiThue?: IHopDongNguoiThueModel[] | undefined;\r\n lstDichVu?: IHopDongDichVuModel[] | undefined;\r\n trangThai?: string | undefined;\r\n}\r\n\r\nexport class HopDongModel2 implements IHopDongModel2 {\r\n id?: number;\r\n ghichu?: string | undefined;\r\n tenphong?: string | undefined;\r\n kythanhtoan?: number | undefined;\r\n ngaybatdau?: Date | undefined;\r\n ngayketthuc?: Date | undefined;\r\n ngayky?: Date | undefined;\r\n tennguoidaidien?: string | undefined;\r\n tiencoc?: number | undefined;\r\n idnhatro?: number | undefined;\r\n sonuoc?: number | undefined;\r\n sodien?: number | undefined;\r\n idPhong?: number | undefined;\r\n sohopdong?: string | undefined;\r\n tennguoidaidienreal?: string | undefined;\r\n idNguoidaidien?: number | undefined;\r\n lstNguoiThue?: HopDongNguoiThueModel[] | undefined;\r\n lstDichVu?: HopdongDichvuEntity[] | undefined;\r\n\r\n constructor(data?: IHopDongModel2) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstNguoiThue) {\r\n this.lstNguoiThue = [];\r\n for (let i = 0; i < data.lstNguoiThue.length; i++) {\r\n let item = data.lstNguoiThue[i];\r\n this.lstNguoiThue[i] = item && !(item).toJSON ? new HopDongNguoiThueModel(item) : item;\r\n }\r\n }\r\n if (data.lstDichVu) {\r\n this.lstDichVu = [];\r\n for (let i = 0; i < data.lstDichVu.length; i++) {\r\n let item = data.lstDichVu[i];\r\n this.lstDichVu[i] = item && !(item).toJSON ? new HopdongDichvuEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.ghichu = _data[\"ghichu\"];\r\n this.tenphong = _data[\"tenphong\"];\r\n this.kythanhtoan = _data[\"kythanhtoan\"];\r\n this.ngaybatdau = _data[\"ngaybatdau\"] ? new Date(_data[\"ngaybatdau\"].toString()) : undefined;\r\n this.ngayketthuc = _data[\"ngayketthuc\"] ? new Date(_data[\"ngayketthuc\"].toString()) : undefined;\r\n this.ngayky = _data[\"ngayky\"] ? new Date(_data[\"ngayky\"].toString()) : undefined;\r\n this.tennguoidaidien = _data[\"tennguoidaidien\"];\r\n this.tiencoc = _data[\"tiencoc\"];\r\n this.idnhatro = _data[\"idnhatro\"];\r\n this.sonuoc = _data[\"sonuoc\"];\r\n this.sodien = _data[\"sodien\"];\r\n this.idPhong = _data[\"idPhong\"];\r\n this.sohopdong = _data[\"sohopdong\"];\r\n this.tennguoidaidienreal = _data[\"tennguoidaidienreal\"];\r\n this.idNguoidaidien = _data[\"idNguoidaidien\"];\r\n if (Array.isArray(_data[\"lstNguoiThue\"])) {\r\n this.lstNguoiThue = [] as any;\r\n for (let item of _data[\"lstNguoiThue\"])\r\n this.lstNguoiThue!.push(HopDongNguoiThueModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstDichVu\"])) {\r\n this.lstDichVu = [] as any;\r\n for (let item of _data[\"lstDichVu\"])\r\n this.lstDichVu!.push(HopdongDichvuEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): HopDongModel2 {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HopDongModel2();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"ghichu\"] = this.ghichu;\r\n data[\"tenphong\"] = this.tenphong;\r\n data[\"kythanhtoan\"] = this.kythanhtoan;\r\n data[\"ngaybatdau\"] = this.ngaybatdau ? this.ngaybatdau.toISOString() : undefined;\r\n data[\"ngayketthuc\"] = this.ngayketthuc ? this.ngayketthuc.toISOString() : undefined;\r\n data[\"ngayky\"] = this.ngayky ? this.ngayky.toISOString() : undefined;\r\n data[\"tennguoidaidien\"] = this.tennguoidaidien;\r\n data[\"tiencoc\"] = this.tiencoc;\r\n data[\"idnhatro\"] = this.idnhatro;\r\n data[\"sonuoc\"] = this.sonuoc;\r\n data[\"sodien\"] = this.sodien;\r\n data[\"idPhong\"] = this.idPhong;\r\n data[\"sohopdong\"] = this.sohopdong;\r\n data[\"tennguoidaidienreal\"] = this.tennguoidaidienreal;\r\n data[\"idNguoidaidien\"] = this.idNguoidaidien;\r\n if (Array.isArray(this.lstNguoiThue)) {\r\n data[\"lstNguoiThue\"] = [];\r\n for (let item of this.lstNguoiThue)\r\n data[\"lstNguoiThue\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstDichVu)) {\r\n data[\"lstDichVu\"] = [];\r\n for (let item of this.lstDichVu)\r\n data[\"lstDichVu\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): HopDongModel2 {\r\n const json = this.toJSON();\r\n let result = new HopDongModel2();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IHopDongModel2 {\r\n id?: number;\r\n ghichu?: string | undefined;\r\n tenphong?: string | undefined;\r\n kythanhtoan?: number | undefined;\r\n ngaybatdau?: Date | undefined;\r\n ngayketthuc?: Date | undefined;\r\n ngayky?: Date | undefined;\r\n tennguoidaidien?: string | undefined;\r\n tiencoc?: number | undefined;\r\n idnhatro?: number | undefined;\r\n sonuoc?: number | undefined;\r\n sodien?: number | undefined;\r\n idPhong?: number | undefined;\r\n sohopdong?: string | undefined;\r\n tennguoidaidienreal?: string | undefined;\r\n idNguoidaidien?: number | undefined;\r\n lstNguoiThue?: IHopDongNguoiThueModel[] | undefined;\r\n lstDichVu?: IHopdongDichvuEntity[] | undefined;\r\n}\r\n\r\nexport class HopdongNguoithueEntity implements IHopdongNguoithueEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n idhopdong?: number | undefined;\r\n idnguoithue?: number | undefined;\r\n ngaythue?: Date | undefined;\r\n ngaytraphong?: Date | undefined;\r\n trangthai?: number | undefined;\r\n\r\n constructor(data?: IHopdongNguoithueEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.id = _data[\"id\"];\r\n this.idhopdong = _data[\"idhopdong\"];\r\n this.idnguoithue = _data[\"idnguoithue\"];\r\n this.ngaythue = _data[\"ngaythue\"] ? new Date(_data[\"ngaythue\"].toString()) : undefined;\r\n this.ngaytraphong = _data[\"ngaytraphong\"] ? new Date(_data[\"ngaytraphong\"].toString()) : undefined;\r\n this.trangthai = _data[\"trangthai\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HopdongNguoithueEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HopdongNguoithueEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"id\"] = this.id;\r\n data[\"idhopdong\"] = this.idhopdong;\r\n data[\"idnguoithue\"] = this.idnguoithue;\r\n data[\"ngaythue\"] = this.ngaythue ? this.ngaythue.toISOString() : undefined;\r\n data[\"ngaytraphong\"] = this.ngaytraphong ? this.ngaytraphong.toISOString() : undefined;\r\n data[\"trangthai\"] = this.trangthai;\r\n return data;\r\n }\r\n\r\n clone(): HopdongNguoithueEntity {\r\n const json = this.toJSON();\r\n let result = new HopdongNguoithueEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IHopdongNguoithueEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n idhopdong?: number | undefined;\r\n idnguoithue?: number | undefined;\r\n ngaythue?: Date | undefined;\r\n ngaytraphong?: Date | undefined;\r\n trangthai?: number | undefined;\r\n}\r\n\r\nexport class HopDongNguoiThueModel implements IHopDongNguoiThueModel {\r\n id?: number;\r\n idhopdong?: number | undefined;\r\n idnguoithue?: number;\r\n ngaythue?: Date | undefined;\r\n ngaytraphong?: Date | undefined;\r\n trangthai?: number | undefined;\r\n hoten?: string | undefined;\r\n dienthoai?: string | undefined;\r\n idphong?: number | undefined;\r\n\r\n constructor(data?: IHopDongNguoiThueModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.idhopdong = _data[\"idhopdong\"];\r\n this.idnguoithue = _data[\"idnguoithue\"];\r\n this.ngaythue = _data[\"ngaythue\"] ? new Date(_data[\"ngaythue\"].toString()) : undefined;\r\n this.ngaytraphong = _data[\"ngaytraphong\"] ? new Date(_data[\"ngaytraphong\"].toString()) : undefined;\r\n this.trangthai = _data[\"trangthai\"];\r\n this.hoten = _data[\"hoten\"];\r\n this.dienthoai = _data[\"dienthoai\"];\r\n this.idphong = _data[\"idphong\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HopDongNguoiThueModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HopDongNguoiThueModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"idhopdong\"] = this.idhopdong;\r\n data[\"idnguoithue\"] = this.idnguoithue;\r\n data[\"ngaythue\"] = this.ngaythue ? this.ngaythue.toISOString() : undefined;\r\n data[\"ngaytraphong\"] = this.ngaytraphong ? this.ngaytraphong.toISOString() : undefined;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"hoten\"] = this.hoten;\r\n data[\"dienthoai\"] = this.dienthoai;\r\n data[\"idphong\"] = this.idphong;\r\n return data;\r\n }\r\n\r\n clone(): HopDongNguoiThueModel {\r\n const json = this.toJSON();\r\n let result = new HopDongNguoiThueModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IHopDongNguoiThueModel {\r\n id?: number;\r\n idhopdong?: number | undefined;\r\n idnguoithue?: number;\r\n ngaythue?: Date | undefined;\r\n ngaytraphong?: Date | undefined;\r\n trangthai?: number | undefined;\r\n hoten?: string | undefined;\r\n dienthoai?: string | undefined;\r\n idphong?: number | undefined;\r\n}\r\n\r\nexport class HopDongNguoiThueModelListApiResponse implements IHopDongNguoiThueModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: HopDongNguoiThueModel[] | undefined;\r\n\r\n constructor(data?: IHopDongNguoiThueModelListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new HopDongNguoiThueModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(HopDongNguoiThueModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): HopDongNguoiThueModelListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HopDongNguoiThueModelListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): HopDongNguoiThueModelListApiResponse {\r\n const json = this.toJSON();\r\n let result = new HopDongNguoiThueModelListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IHopDongNguoiThueModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IHopDongNguoiThueModel[] | undefined;\r\n}\r\n\r\nexport class IAuditor implements IIAuditor {\r\n readonly hasDataToXmlSerialize?: boolean;\r\n\r\n constructor(data?: IIAuditor) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).hasDataToXmlSerialize = _data[\"hasDataToXmlSerialize\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): IAuditor {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IAuditor();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"hasDataToXmlSerialize\"] = this.hasDataToXmlSerialize;\r\n return data;\r\n }\r\n\r\n clone(): IAuditor {\r\n const json = this.toJSON();\r\n let result = new IAuditor();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIAuditor {\r\n hasDataToXmlSerialize?: boolean;\r\n}\r\n\r\nexport class IAuthorizer implements IIAuthorizer {\r\n\r\n constructor(data?: IIAuthorizer) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): IAuthorizer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IAuthorizer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data;\r\n }\r\n\r\n clone(): IAuthorizer {\r\n const json = this.toJSON();\r\n let result = new IAuthorizer();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIAuthorizer {\r\n}\r\n\r\nexport class IComponent implements IIComponent {\r\n site?: ISite;\r\n\r\n constructor(data?: IIComponent) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.site = data.site && !(data.site).toJSON ? new ISite(data.site) : this.site;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.site = _data[\"site\"] ? ISite.fromJS(_data[\"site\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): IComponent {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IComponent();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"site\"] = this.site ? this.site.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): IComponent {\r\n const json = this.toJSON();\r\n let result = new IComponent();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIComponent {\r\n site?: IISite;\r\n}\r\n\r\nexport class IConcurrencyPredicateFactory implements IIConcurrencyPredicateFactory {\r\n\r\n constructor(data?: IIConcurrencyPredicateFactory) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): IConcurrencyPredicateFactory {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IConcurrencyPredicateFactory();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data;\r\n }\r\n\r\n clone(): IConcurrencyPredicateFactory {\r\n const json = this.toJSON();\r\n let result = new IConcurrencyPredicateFactory();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIConcurrencyPredicateFactory {\r\n}\r\n\r\nexport class IContainer implements IIContainer {\r\n readonly components?: any[] | undefined;\r\n\r\n constructor(data?: IIContainer) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"components\"])) {\r\n (this).components = [] as any;\r\n for (let item of _data[\"components\"])\r\n (this).components!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): IContainer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IContainer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.components)) {\r\n data[\"components\"] = [];\r\n for (let item of this.components)\r\n data[\"components\"].push(item);\r\n }\r\n return data;\r\n }\r\n\r\n clone(): IContainer {\r\n const json = this.toJSON();\r\n let result = new IContainer();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIContainer {\r\n components?: any[] | undefined;\r\n}\r\n\r\nexport class ICustomAttributeProvider implements IICustomAttributeProvider {\r\n\r\n constructor(data?: IICustomAttributeProvider) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): ICustomAttributeProvider {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ICustomAttributeProvider();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data;\r\n }\r\n\r\n clone(): ICustomAttributeProvider {\r\n const json = this.toJSON();\r\n let result = new ICustomAttributeProvider();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IICustomAttributeProvider {\r\n}\r\n\r\nexport class IDbSpecificCreator implements IIDbSpecificCreator {\r\n perCallCatalogNameOverwrites?: { [key: string]: string; } | undefined;\r\n perCallSchemaNameOverwrites?: { [key: string]: string; } | undefined;\r\n readonly creatingSubQuery?: boolean;\r\n factoryToUse?: DbProviderFactory;\r\n\r\n constructor(data?: IIDbSpecificCreator) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.factoryToUse = data.factoryToUse && !(data.factoryToUse).toJSON ? new DbProviderFactory(data.factoryToUse) : this.factoryToUse;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (_data[\"perCallCatalogNameOverwrites\"]) {\r\n this.perCallCatalogNameOverwrites = {} as any;\r\n for (let key in _data[\"perCallCatalogNameOverwrites\"]) {\r\n if (_data[\"perCallCatalogNameOverwrites\"].hasOwnProperty(key))\r\n (this.perCallCatalogNameOverwrites)![key] = _data[\"perCallCatalogNameOverwrites\"][key];\r\n }\r\n }\r\n if (_data[\"perCallSchemaNameOverwrites\"]) {\r\n this.perCallSchemaNameOverwrites = {} as any;\r\n for (let key in _data[\"perCallSchemaNameOverwrites\"]) {\r\n if (_data[\"perCallSchemaNameOverwrites\"].hasOwnProperty(key))\r\n (this.perCallSchemaNameOverwrites)![key] = _data[\"perCallSchemaNameOverwrites\"][key];\r\n }\r\n }\r\n (this).creatingSubQuery = _data[\"creatingSubQuery\"];\r\n this.factoryToUse = _data[\"factoryToUse\"] ? DbProviderFactory.fromJS(_data[\"factoryToUse\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): IDbSpecificCreator {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IDbSpecificCreator();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (this.perCallCatalogNameOverwrites) {\r\n data[\"perCallCatalogNameOverwrites\"] = {};\r\n for (let key in this.perCallCatalogNameOverwrites) {\r\n if (this.perCallCatalogNameOverwrites.hasOwnProperty(key))\r\n (data[\"perCallCatalogNameOverwrites\"])[key] = (this.perCallCatalogNameOverwrites)[key];\r\n }\r\n }\r\n if (this.perCallSchemaNameOverwrites) {\r\n data[\"perCallSchemaNameOverwrites\"] = {};\r\n for (let key in this.perCallSchemaNameOverwrites) {\r\n if (this.perCallSchemaNameOverwrites.hasOwnProperty(key))\r\n (data[\"perCallSchemaNameOverwrites\"])[key] = (this.perCallSchemaNameOverwrites)[key];\r\n }\r\n }\r\n data[\"creatingSubQuery\"] = this.creatingSubQuery;\r\n data[\"factoryToUse\"] = this.factoryToUse ? this.factoryToUse.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): IDbSpecificCreator {\r\n const json = this.toJSON();\r\n let result = new IDbSpecificCreator();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIDbSpecificCreator {\r\n perCallCatalogNameOverwrites?: { [key: string]: string; } | undefined;\r\n perCallSchemaNameOverwrites?: { [key: string]: string; } | undefined;\r\n creatingSubQuery?: boolean;\r\n factoryToUse?: IDbProviderFactory;\r\n}\r\n\r\nexport class IEntityFieldCore implements IIEntityFieldCore {\r\n alias?: string | undefined;\r\n currentValue?: any | undefined;\r\n readonly dbValue?: any | undefined;\r\n isChanged?: boolean;\r\n isNull?: boolean;\r\n objectAlias?: string | undefined;\r\n aggregateFunctionToApply?: AggregateFunction;\r\n expressionToApply?: IExpression;\r\n overClauseToApply?: WindowSpecification;\r\n readonly actAsDerivedTableField?: boolean;\r\n linkedSuperTypeField?: IEntityFieldCore;\r\n readonly name?: string | undefined;\r\n dataType?: Type;\r\n readonly isPrimaryKey?: boolean;\r\n readonly isNullable?: boolean;\r\n readonly fieldIndex?: number;\r\n readonly containingObjectName?: string | undefined;\r\n readonly isForeignKey?: boolean;\r\n readonly isReadOnly?: boolean;\r\n readonly maxLength?: number;\r\n readonly scale?: number;\r\n readonly precision?: number;\r\n readonly actualContainingObjectName?: string | undefined;\r\n readonly isInMultiTargetEntity?: boolean;\r\n readonly isOfEnumDataType?: boolean;\r\n realDataType?: Type;\r\n\r\n constructor(data?: IIEntityFieldCore) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.expressionToApply = data.expressionToApply && !(data.expressionToApply).toJSON ? new IExpression(data.expressionToApply) : this.expressionToApply;\r\n this.overClauseToApply = data.overClauseToApply && !(data.overClauseToApply).toJSON ? new WindowSpecification(data.overClauseToApply) : this.overClauseToApply;\r\n this.linkedSuperTypeField = data.linkedSuperTypeField && !(data.linkedSuperTypeField).toJSON ? new IEntityFieldCore(data.linkedSuperTypeField) : this.linkedSuperTypeField;\r\n this.dataType = data.dataType && !(data.dataType).toJSON ? new Type(data.dataType) : this.dataType;\r\n this.realDataType = data.realDataType && !(data.realDataType).toJSON ? new Type(data.realDataType) : this.realDataType;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.alias = _data[\"alias\"];\r\n this.currentValue = _data[\"currentValue\"];\r\n (this).dbValue = _data[\"dbValue\"];\r\n this.isChanged = _data[\"isChanged\"];\r\n this.isNull = _data[\"isNull\"];\r\n this.objectAlias = _data[\"objectAlias\"];\r\n this.aggregateFunctionToApply = _data[\"aggregateFunctionToApply\"];\r\n this.expressionToApply = _data[\"expressionToApply\"] ? IExpression.fromJS(_data[\"expressionToApply\"]) : undefined;\r\n this.overClauseToApply = _data[\"overClauseToApply\"] ? WindowSpecification.fromJS(_data[\"overClauseToApply\"]) : undefined;\r\n (this).actAsDerivedTableField = _data[\"actAsDerivedTableField\"];\r\n this.linkedSuperTypeField = _data[\"linkedSuperTypeField\"] ? IEntityFieldCore.fromJS(_data[\"linkedSuperTypeField\"]) : undefined;\r\n (this).name = _data[\"name\"];\r\n this.dataType = _data[\"dataType\"] ? Type.fromJS(_data[\"dataType\"]) : undefined;\r\n (this).isPrimaryKey = _data[\"isPrimaryKey\"];\r\n (this).isNullable = _data[\"isNullable\"];\r\n (this).fieldIndex = _data[\"fieldIndex\"];\r\n (this).containingObjectName = _data[\"containingObjectName\"];\r\n (this).isForeignKey = _data[\"isForeignKey\"];\r\n (this).isReadOnly = _data[\"isReadOnly\"];\r\n (this).maxLength = _data[\"maxLength\"];\r\n (this).scale = _data[\"scale\"];\r\n (this).precision = _data[\"precision\"];\r\n (this).actualContainingObjectName = _data[\"actualContainingObjectName\"];\r\n (this).isInMultiTargetEntity = _data[\"isInMultiTargetEntity\"];\r\n (this).isOfEnumDataType = _data[\"isOfEnumDataType\"];\r\n this.realDataType = _data[\"realDataType\"] ? Type.fromJS(_data[\"realDataType\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): IEntityFieldCore {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IEntityFieldCore();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"alias\"] = this.alias;\r\n data[\"currentValue\"] = this.currentValue;\r\n data[\"dbValue\"] = this.dbValue;\r\n data[\"isChanged\"] = this.isChanged;\r\n data[\"isNull\"] = this.isNull;\r\n data[\"objectAlias\"] = this.objectAlias;\r\n data[\"aggregateFunctionToApply\"] = this.aggregateFunctionToApply;\r\n data[\"expressionToApply\"] = this.expressionToApply ? this.expressionToApply.toJSON() : undefined;\r\n data[\"overClauseToApply\"] = this.overClauseToApply ? this.overClauseToApply.toJSON() : undefined;\r\n data[\"actAsDerivedTableField\"] = this.actAsDerivedTableField;\r\n data[\"linkedSuperTypeField\"] = this.linkedSuperTypeField ? this.linkedSuperTypeField.toJSON() : undefined;\r\n data[\"name\"] = this.name;\r\n data[\"dataType\"] = this.dataType ? this.dataType.toJSON() : undefined;\r\n data[\"isPrimaryKey\"] = this.isPrimaryKey;\r\n data[\"isNullable\"] = this.isNullable;\r\n data[\"fieldIndex\"] = this.fieldIndex;\r\n data[\"containingObjectName\"] = this.containingObjectName;\r\n data[\"isForeignKey\"] = this.isForeignKey;\r\n data[\"isReadOnly\"] = this.isReadOnly;\r\n data[\"maxLength\"] = this.maxLength;\r\n data[\"scale\"] = this.scale;\r\n data[\"precision\"] = this.precision;\r\n data[\"actualContainingObjectName\"] = this.actualContainingObjectName;\r\n data[\"isInMultiTargetEntity\"] = this.isInMultiTargetEntity;\r\n data[\"isOfEnumDataType\"] = this.isOfEnumDataType;\r\n data[\"realDataType\"] = this.realDataType ? this.realDataType.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): IEntityFieldCore {\r\n const json = this.toJSON();\r\n let result = new IEntityFieldCore();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIEntityFieldCore {\r\n alias?: string | undefined;\r\n currentValue?: any | undefined;\r\n dbValue?: any | undefined;\r\n isChanged?: boolean;\r\n isNull?: boolean;\r\n objectAlias?: string | undefined;\r\n aggregateFunctionToApply?: AggregateFunction;\r\n expressionToApply?: IIExpression;\r\n overClauseToApply?: IWindowSpecification;\r\n actAsDerivedTableField?: boolean;\r\n linkedSuperTypeField?: IIEntityFieldCore;\r\n name?: string | undefined;\r\n dataType?: IType;\r\n isPrimaryKey?: boolean;\r\n isNullable?: boolean;\r\n fieldIndex?: number;\r\n containingObjectName?: string | undefined;\r\n isForeignKey?: boolean;\r\n isReadOnly?: boolean;\r\n maxLength?: number;\r\n scale?: number;\r\n precision?: number;\r\n actualContainingObjectName?: string | undefined;\r\n isInMultiTargetEntity?: boolean;\r\n isOfEnumDataType?: boolean;\r\n realDataType?: IType;\r\n}\r\n\r\nexport class IExpression implements IIExpression {\r\n readonly parameters?: DbParameter[] | undefined;\r\n databaseSpecificCreator?: IDbSpecificCreator;\r\n leftOperand?: IExpressionElement;\r\n rightOperand?: IExpressionElement;\r\n operator?: ExOp;\r\n\r\n constructor(data?: IIExpression) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.parameters) {\r\n this.parameters = [];\r\n for (let i = 0; i < data.parameters.length; i++) {\r\n let item = data.parameters[i];\r\n this.parameters[i] = item && !(item).toJSON ? new DbParameter(item) : item;\r\n }\r\n }\r\n this.databaseSpecificCreator = data.databaseSpecificCreator && !(data.databaseSpecificCreator).toJSON ? new IDbSpecificCreator(data.databaseSpecificCreator) : this.databaseSpecificCreator;\r\n this.leftOperand = data.leftOperand && !(data.leftOperand).toJSON ? new IExpressionElement(data.leftOperand) : this.leftOperand;\r\n this.rightOperand = data.rightOperand && !(data.rightOperand).toJSON ? new IExpressionElement(data.rightOperand) : this.rightOperand;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"parameters\"])) {\r\n (this).parameters = [] as any;\r\n for (let item of _data[\"parameters\"])\r\n (this).parameters!.push(DbParameter.fromJS(item));\r\n }\r\n this.databaseSpecificCreator = _data[\"databaseSpecificCreator\"] ? IDbSpecificCreator.fromJS(_data[\"databaseSpecificCreator\"]) : undefined;\r\n this.leftOperand = _data[\"leftOperand\"] ? IExpressionElement.fromJS(_data[\"leftOperand\"]) : undefined;\r\n this.rightOperand = _data[\"rightOperand\"] ? IExpressionElement.fromJS(_data[\"rightOperand\"]) : undefined;\r\n this.operator = _data[\"operator\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): IExpression {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IExpression();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.parameters)) {\r\n data[\"parameters\"] = [];\r\n for (let item of this.parameters)\r\n data[\"parameters\"].push(item.toJSON());\r\n }\r\n data[\"databaseSpecificCreator\"] = this.databaseSpecificCreator ? this.databaseSpecificCreator.toJSON() : undefined;\r\n data[\"leftOperand\"] = this.leftOperand ? this.leftOperand.toJSON() : undefined;\r\n data[\"rightOperand\"] = this.rightOperand ? this.rightOperand.toJSON() : undefined;\r\n data[\"operator\"] = this.operator;\r\n return data;\r\n }\r\n\r\n clone(): IExpression {\r\n const json = this.toJSON();\r\n let result = new IExpression();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIExpression {\r\n parameters?: IDbParameter[] | undefined;\r\n databaseSpecificCreator?: IIDbSpecificCreator;\r\n leftOperand?: IIExpressionElement;\r\n rightOperand?: IIExpressionElement;\r\n operator?: ExOp;\r\n}\r\n\r\nexport class IExpressionElement implements IIExpressionElement {\r\n type?: ExpressionElementType;\r\n contents?: any | undefined;\r\n\r\n constructor(data?: IIExpressionElement) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.type = _data[\"type\"];\r\n this.contents = _data[\"contents\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): IExpressionElement {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IExpressionElement();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"type\"] = this.type;\r\n data[\"contents\"] = this.contents;\r\n return data;\r\n }\r\n\r\n clone(): IExpressionElement {\r\n const json = this.toJSON();\r\n let result = new IExpressionElement();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIExpressionElement {\r\n type?: ExpressionElementType;\r\n contents?: any | undefined;\r\n}\r\n\r\nexport class InsertModel implements IInsertModel {\r\n entity?: DichvuEntity;\r\n listFile?: AttFileattachmentEntity[] | undefined;\r\n\r\n constructor(data?: IInsertModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.entity = data.entity && !(data.entity).toJSON ? new DichvuEntity(data.entity) : this.entity;\r\n if (data.listFile) {\r\n this.listFile = [];\r\n for (let i = 0; i < data.listFile.length; i++) {\r\n let item = data.listFile[i];\r\n this.listFile[i] = item && !(item).toJSON ? new AttFileattachmentEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.entity = _data[\"entity\"] ? DichvuEntity.fromJS(_data[\"entity\"]) : undefined;\r\n if (Array.isArray(_data[\"listFile\"])) {\r\n this.listFile = [] as any;\r\n for (let item of _data[\"listFile\"])\r\n this.listFile!.push(AttFileattachmentEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): InsertModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InsertModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"entity\"] = this.entity ? this.entity.toJSON() : undefined;\r\n if (Array.isArray(this.listFile)) {\r\n data[\"listFile\"] = [];\r\n for (let item of this.listFile)\r\n data[\"listFile\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): InsertModel {\r\n const json = this.toJSON();\r\n let result = new InsertModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IInsertModel {\r\n entity?: IDichvuEntity;\r\n listFile?: IAttFileattachmentEntity[] | undefined;\r\n}\r\n\r\nexport class InsertRoomCustomModel implements IInsertRoomCustomModel {\r\n entity?: PhongtroEntity;\r\n roomAmount?: number;\r\n\r\n constructor(data?: IInsertRoomCustomModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.entity = data.entity && !(data.entity).toJSON ? new PhongtroEntity(data.entity) : this.entity;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.entity = _data[\"entity\"] ? PhongtroEntity.fromJS(_data[\"entity\"]) : undefined;\r\n this.roomAmount = _data[\"roomAmount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InsertRoomCustomModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InsertRoomCustomModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"entity\"] = this.entity ? this.entity.toJSON() : undefined;\r\n data[\"roomAmount\"] = this.roomAmount;\r\n return data;\r\n }\r\n\r\n clone(): InsertRoomCustomModel {\r\n const json = this.toJSON();\r\n let result = new InsertRoomCustomModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IInsertRoomCustomModel {\r\n entity?: IPhongtroEntity;\r\n roomAmount?: number;\r\n}\r\n\r\nexport class InserttudienModel implements IInserttudienModel {\r\n maTudien?: string | undefined;\r\n tenTudien?: string | undefined;\r\n fieldname?: string | undefined;\r\n maDinhdanhtinh?: string | undefined;\r\n ghichu?: string | undefined;\r\n trangThai?: number | undefined;\r\n\r\n constructor(data?: IInserttudienModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.maTudien = _data[\"maTudien\"];\r\n this.tenTudien = _data[\"tenTudien\"];\r\n this.fieldname = _data[\"fieldname\"];\r\n this.maDinhdanhtinh = _data[\"maDinhdanhtinh\"];\r\n this.ghichu = _data[\"ghichu\"];\r\n this.trangThai = _data[\"trangThai\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InserttudienModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InserttudienModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"maTudien\"] = this.maTudien;\r\n data[\"tenTudien\"] = this.tenTudien;\r\n data[\"fieldname\"] = this.fieldname;\r\n data[\"maDinhdanhtinh\"] = this.maDinhdanhtinh;\r\n data[\"ghichu\"] = this.ghichu;\r\n data[\"trangThai\"] = this.trangThai;\r\n return data;\r\n }\r\n\r\n clone(): InserttudienModel {\r\n const json = this.toJSON();\r\n let result = new InserttudienModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IInserttudienModel {\r\n maTudien?: string | undefined;\r\n tenTudien?: string | undefined;\r\n fieldname?: string | undefined;\r\n maDinhdanhtinh?: string | undefined;\r\n ghichu?: string | undefined;\r\n trangThai?: number | undefined;\r\n}\r\n\r\nexport class Int32ApiResponse implements IInt32ApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: number;\r\n\r\n constructor(data?: IInt32ApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Int32ApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Int32ApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data;\r\n return data;\r\n }\r\n\r\n clone(): Int32ApiResponse {\r\n const json = this.toJSON();\r\n let result = new Int32ApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IInt32ApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: number;\r\n}\r\n\r\nexport class Int32IEnumerableApiResponse implements IInt32IEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: number[] | undefined;\r\n\r\n constructor(data?: IInt32IEnumerableApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): Int32IEnumerableApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Int32IEnumerableApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item);\r\n }\r\n return data;\r\n }\r\n\r\n clone(): Int32IEnumerableApiResponse {\r\n const json = this.toJSON();\r\n let result = new Int32IEnumerableApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IInt32IEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: number[] | undefined;\r\n}\r\n\r\nexport class Int32NullableListApiResponse implements IInt32NullableListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: number[] | undefined;\r\n\r\n constructor(data?: IInt32NullableListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): Int32NullableListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Int32NullableListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item);\r\n }\r\n return data;\r\n }\r\n\r\n clone(): Int32NullableListApiResponse {\r\n const json = this.toJSON();\r\n let result = new Int32NullableListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IInt32NullableListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: number[] | undefined;\r\n}\r\n\r\nexport class IntPtr implements IIntPtr {\r\n\r\n constructor(data?: IIntPtr) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): IntPtr {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IntPtr();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data;\r\n }\r\n\r\n clone(): IntPtr {\r\n const json = this.toJSON();\r\n let result = new IntPtr();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIntPtr {\r\n}\r\n\r\nexport class ISite implements IISite {\r\n component?: IComponent;\r\n container?: IContainer;\r\n readonly designMode?: boolean;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IISite) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.component = data.component && !(data.component).toJSON ? new IComponent(data.component) : this.component;\r\n this.container = data.container && !(data.container).toJSON ? new IContainer(data.container) : this.container;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.component = _data[\"component\"] ? IComponent.fromJS(_data[\"component\"]) : undefined;\r\n this.container = _data[\"container\"] ? IContainer.fromJS(_data[\"container\"]) : undefined;\r\n (this).designMode = _data[\"designMode\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ISite {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ISite();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"component\"] = this.component ? this.component.toJSON() : undefined;\r\n data[\"container\"] = this.container ? this.container.toJSON() : undefined;\r\n data[\"designMode\"] = this.designMode;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n\r\n clone(): ISite {\r\n const json = this.toJSON();\r\n let result = new ISite();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IISite {\r\n component?: IIComponent;\r\n container?: IIContainer;\r\n designMode?: boolean;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class ItemCauhinhdongbo implements IItemCauhinhdongbo {\r\n id?: number;\r\n dulieunguon?: string | undefined;\r\n thoigian?: string | undefined;\r\n chiasecqnn?: string | undefined;\r\n chiasend?: string | undefined;\r\n mota?: string | undefined;\r\n sudung?: boolean;\r\n\r\n constructor(data?: IItemCauhinhdongbo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.dulieunguon = _data[\"dulieunguon\"];\r\n this.thoigian = _data[\"thoigian\"];\r\n this.chiasecqnn = _data[\"chiasecqnn\"];\r\n this.chiasend = _data[\"chiasend\"];\r\n this.mota = _data[\"mota\"];\r\n this.sudung = _data[\"sudung\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemCauhinhdongbo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemCauhinhdongbo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"dulieunguon\"] = this.dulieunguon;\r\n data[\"thoigian\"] = this.thoigian;\r\n data[\"chiasecqnn\"] = this.chiasecqnn;\r\n data[\"chiasend\"] = this.chiasend;\r\n data[\"mota\"] = this.mota;\r\n data[\"sudung\"] = this.sudung;\r\n return data;\r\n }\r\n\r\n clone(): ItemCauhinhdongbo {\r\n const json = this.toJSON();\r\n let result = new ItemCauhinhdongbo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemCauhinhdongbo {\r\n id?: number;\r\n dulieunguon?: string | undefined;\r\n thoigian?: string | undefined;\r\n chiasecqnn?: string | undefined;\r\n chiasend?: string | undefined;\r\n mota?: string | undefined;\r\n sudung?: boolean;\r\n}\r\n\r\nexport class ItemCauhinhdongboApiResponse implements IItemCauhinhdongboApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemCauhinhdongbo;\r\n\r\n constructor(data?: IItemCauhinhdongboApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemCauhinhdongbo(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemCauhinhdongbo.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemCauhinhdongboApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemCauhinhdongboApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemCauhinhdongboApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemCauhinhdongboApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemCauhinhdongboApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemCauhinhdongbo;\r\n}\r\n\r\nexport class ItemCauhinhdongboIEnumerablePageModelView implements IItemCauhinhdongboIEnumerablePageModelView {\r\n data?: ItemCauhinhdongbo[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IItemCauhinhdongboIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ItemCauhinhdongbo(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ItemCauhinhdongbo.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemCauhinhdongboIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemCauhinhdongboIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): ItemCauhinhdongboIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new ItemCauhinhdongboIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemCauhinhdongboIEnumerablePageModelView {\r\n data?: IItemCauhinhdongbo[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class ItemCauhinhdongboIEnumerablePageModelViewApiResponse implements IItemCauhinhdongboIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemCauhinhdongboIEnumerablePageModelView;\r\n\r\n constructor(data?: IItemCauhinhdongboIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemCauhinhdongboIEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemCauhinhdongboIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemCauhinhdongboIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemCauhinhdongboIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemCauhinhdongboIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemCauhinhdongboIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemCauhinhdongboIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemCauhinhdongboIEnumerablePageModelView;\r\n}\r\n\r\nexport class ItemCauhinhthongbao implements IItemCauhinhthongbao {\r\n id?: number;\r\n thoigian?: string | undefined;\r\n noidung?: string | undefined;\r\n trangthai?: number;\r\n createddate?: Date;\r\n updateddate?: Date;\r\n unitcode?: string | undefined;\r\n usercreate?: number;\r\n userupdate?: number;\r\n tanxuat?: number;\r\n loaithongbao?: number;\r\n\r\n constructor(data?: IItemCauhinhthongbao) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.thoigian = _data[\"thoigian\"];\r\n this.noidung = _data[\"noidung\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.createddate = _data[\"createddate\"] ? new Date(_data[\"createddate\"].toString()) : undefined;\r\n this.updateddate = _data[\"updateddate\"] ? new Date(_data[\"updateddate\"].toString()) : undefined;\r\n this.unitcode = _data[\"unitcode\"];\r\n this.usercreate = _data[\"usercreate\"];\r\n this.userupdate = _data[\"userupdate\"];\r\n this.tanxuat = _data[\"tanxuat\"];\r\n this.loaithongbao = _data[\"loaithongbao\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemCauhinhthongbao {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemCauhinhthongbao();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"thoigian\"] = this.thoigian;\r\n data[\"noidung\"] = this.noidung;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"createddate\"] = this.createddate ? this.createddate.toISOString() : undefined;\r\n data[\"updateddate\"] = this.updateddate ? this.updateddate.toISOString() : undefined;\r\n data[\"unitcode\"] = this.unitcode;\r\n data[\"usercreate\"] = this.usercreate;\r\n data[\"userupdate\"] = this.userupdate;\r\n data[\"tanxuat\"] = this.tanxuat;\r\n data[\"loaithongbao\"] = this.loaithongbao;\r\n return data;\r\n }\r\n\r\n clone(): ItemCauhinhthongbao {\r\n const json = this.toJSON();\r\n let result = new ItemCauhinhthongbao();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemCauhinhthongbao {\r\n id?: number;\r\n thoigian?: string | undefined;\r\n noidung?: string | undefined;\r\n trangthai?: number;\r\n createddate?: Date;\r\n updateddate?: Date;\r\n unitcode?: string | undefined;\r\n usercreate?: number;\r\n userupdate?: number;\r\n tanxuat?: number;\r\n loaithongbao?: number;\r\n}\r\n\r\nexport class ItemCauhinhthongbaoApiResponse implements IItemCauhinhthongbaoApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemCauhinhthongbao;\r\n\r\n constructor(data?: IItemCauhinhthongbaoApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemCauhinhthongbao(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemCauhinhthongbao.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemCauhinhthongbaoApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemCauhinhthongbaoApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemCauhinhthongbaoApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemCauhinhthongbaoApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemCauhinhthongbaoApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemCauhinhthongbao;\r\n}\r\n\r\nexport class ItemCauhinhthongbaoIEnumerablePageModelView implements IItemCauhinhthongbaoIEnumerablePageModelView {\r\n data?: ItemCauhinhthongbao[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IItemCauhinhthongbaoIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ItemCauhinhthongbao(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ItemCauhinhthongbao.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemCauhinhthongbaoIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemCauhinhthongbaoIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): ItemCauhinhthongbaoIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new ItemCauhinhthongbaoIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemCauhinhthongbaoIEnumerablePageModelView {\r\n data?: IItemCauhinhthongbao[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class ItemCauhinhthongbaoIEnumerablePageModelViewApiResponse implements IItemCauhinhthongbaoIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemCauhinhthongbaoIEnumerablePageModelView;\r\n\r\n constructor(data?: IItemCauhinhthongbaoIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemCauhinhthongbaoIEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemCauhinhthongbaoIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemCauhinhthongbaoIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemCauhinhthongbaoIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemCauhinhthongbaoIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemCauhinhthongbaoIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemCauhinhthongbaoIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemCauhinhthongbaoIEnumerablePageModelView;\r\n}\r\n\r\nexport class ItemCauhinhthongbaoListApiResponse implements IItemCauhinhthongbaoListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemCauhinhthongbao[] | undefined;\r\n\r\n constructor(data?: IItemCauhinhthongbaoListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ItemCauhinhthongbao(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ItemCauhinhthongbao.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemCauhinhthongbaoListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemCauhinhthongbaoListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ItemCauhinhthongbaoListApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemCauhinhthongbaoListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemCauhinhthongbaoListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemCauhinhthongbao[] | undefined;\r\n}\r\n\r\nexport class ItemDanhgia implements IItemDanhgia {\r\n id?: number;\r\n idnhatro?: number;\r\n diem?: number;\r\n nhanxet?: string | undefined;\r\n idnguoidanhgia?: number;\r\n ngaydanhgia?: Date;\r\n avatar?: string | undefined;\r\n doituongdanhgia?: number | undefined;\r\n noidungvipham?: string | undefined;\r\n\r\n constructor(data?: IItemDanhgia) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.idnhatro = _data[\"idnhatro\"];\r\n this.diem = _data[\"diem\"];\r\n this.nhanxet = _data[\"nhanxet\"];\r\n this.idnguoidanhgia = _data[\"idnguoidanhgia\"];\r\n this.ngaydanhgia = _data[\"ngaydanhgia\"] ? new Date(_data[\"ngaydanhgia\"].toString()) : undefined;\r\n this.avatar = _data[\"avatar\"];\r\n this.doituongdanhgia = _data[\"doituongdanhgia\"];\r\n this.noidungvipham = _data[\"noidungvipham\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemDanhgia {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemDanhgia();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"idnhatro\"] = this.idnhatro;\r\n data[\"diem\"] = this.diem;\r\n data[\"nhanxet\"] = this.nhanxet;\r\n data[\"idnguoidanhgia\"] = this.idnguoidanhgia;\r\n data[\"ngaydanhgia\"] = this.ngaydanhgia ? this.ngaydanhgia.toISOString() : undefined;\r\n data[\"avatar\"] = this.avatar;\r\n data[\"doituongdanhgia\"] = this.doituongdanhgia;\r\n data[\"noidungvipham\"] = this.noidungvipham;\r\n return data;\r\n }\r\n\r\n clone(): ItemDanhgia {\r\n const json = this.toJSON();\r\n let result = new ItemDanhgia();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemDanhgia {\r\n id?: number;\r\n idnhatro?: number;\r\n diem?: number;\r\n nhanxet?: string | undefined;\r\n idnguoidanhgia?: number;\r\n ngaydanhgia?: Date;\r\n avatar?: string | undefined;\r\n doituongdanhgia?: number | undefined;\r\n noidungvipham?: string | undefined;\r\n}\r\n\r\nexport class ItemDanhgiaApiResponse implements IItemDanhgiaApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemDanhgia;\r\n\r\n constructor(data?: IItemDanhgiaApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemDanhgia(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemDanhgia.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemDanhgiaApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemDanhgiaApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemDanhgiaApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemDanhgiaApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemDanhgiaApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemDanhgia;\r\n}\r\n\r\nexport class ItemDanhgiaIEnumerablePageModelView implements IItemDanhgiaIEnumerablePageModelView {\r\n data?: ItemDanhgia[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IItemDanhgiaIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ItemDanhgia(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ItemDanhgia.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemDanhgiaIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemDanhgiaIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): ItemDanhgiaIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new ItemDanhgiaIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemDanhgiaIEnumerablePageModelView {\r\n data?: IItemDanhgia[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class ItemDanhgiaIEnumerablePageModelViewApiResponse implements IItemDanhgiaIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemDanhgiaIEnumerablePageModelView;\r\n\r\n constructor(data?: IItemDanhgiaIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemDanhgiaIEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemDanhgiaIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemDanhgiaIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemDanhgiaIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemDanhgiaIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemDanhgiaIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemDanhgiaIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemDanhgiaIEnumerablePageModelView;\r\n}\r\n\r\nexport class ItemDanhgiaListApiResponse implements IItemDanhgiaListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemDanhgia[] | undefined;\r\n\r\n constructor(data?: IItemDanhgiaListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ItemDanhgia(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ItemDanhgia.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemDanhgiaListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemDanhgiaListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ItemDanhgiaListApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemDanhgiaListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemDanhgiaListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemDanhgia[] | undefined;\r\n}\r\n\r\nexport class ItemDiaban implements IItemDiaban {\r\n makey?: string | undefined;\r\n ten?: string | undefined;\r\n ma?: string | undefined;\r\n level?: number;\r\n maCha?: string | undefined;\r\n islocal?: boolean;\r\n trangthai?: number;\r\n\r\n constructor(data?: IItemDiaban) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.makey = _data[\"makey\"];\r\n this.ten = _data[\"ten\"];\r\n this.ma = _data[\"ma\"];\r\n this.level = _data[\"level\"];\r\n this.maCha = _data[\"maCha\"];\r\n this.islocal = _data[\"islocal\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemDiaban {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemDiaban();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"makey\"] = this.makey;\r\n data[\"ten\"] = this.ten;\r\n data[\"ma\"] = this.ma;\r\n data[\"level\"] = this.level;\r\n data[\"maCha\"] = this.maCha;\r\n data[\"islocal\"] = this.islocal;\r\n data[\"trangthai\"] = this.trangthai;\r\n return data;\r\n }\r\n\r\n clone(): ItemDiaban {\r\n const json = this.toJSON();\r\n let result = new ItemDiaban();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemDiaban {\r\n makey?: string | undefined;\r\n ten?: string | undefined;\r\n ma?: string | undefined;\r\n level?: number;\r\n maCha?: string | undefined;\r\n islocal?: boolean;\r\n trangthai?: number;\r\n}\r\n\r\nexport class ItemDiabanApiResponse implements IItemDiabanApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemDiaban;\r\n\r\n constructor(data?: IItemDiabanApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemDiaban(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemDiaban.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemDiabanApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemDiabanApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemDiabanApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemDiabanApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemDiabanApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemDiaban;\r\n}\r\n\r\nexport class ItemDiabanIEnumerablePageModelView implements IItemDiabanIEnumerablePageModelView {\r\n data?: ItemDiaban[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IItemDiabanIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ItemDiaban(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ItemDiaban.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemDiabanIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemDiabanIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): ItemDiabanIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new ItemDiabanIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemDiabanIEnumerablePageModelView {\r\n data?: IItemDiaban[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class ItemDiabanIEnumerablePageModelViewApiResponse implements IItemDiabanIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemDiabanIEnumerablePageModelView;\r\n\r\n constructor(data?: IItemDiabanIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemDiabanIEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemDiabanIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemDiabanIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemDiabanIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemDiabanIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemDiabanIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemDiabanIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemDiabanIEnumerablePageModelView;\r\n}\r\n\r\nexport class ItemDiabanListApiResponse implements IItemDiabanListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemDiaban[] | undefined;\r\n\r\n constructor(data?: IItemDiabanListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ItemDiaban(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ItemDiaban.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemDiabanListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemDiabanListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ItemDiabanListApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemDiabanListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemDiabanListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemDiaban[] | undefined;\r\n}\r\n\r\nexport class ItemDichvu implements IItemDichvu {\r\n id?: number;\r\n tendichvu?: string | undefined;\r\n mota?: string | undefined;\r\n idnhatro?: number;\r\n quytactinhtien?: number;\r\n donvitinh?: string | undefined;\r\n giadichvu?: number;\r\n hoatdong?: boolean;\r\n loai?: number;\r\n\r\n constructor(data?: IItemDichvu) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tendichvu = _data[\"tendichvu\"];\r\n this.mota = _data[\"mota\"];\r\n this.idnhatro = _data[\"idnhatro\"];\r\n this.quytactinhtien = _data[\"quytactinhtien\"];\r\n this.donvitinh = _data[\"donvitinh\"];\r\n this.giadichvu = _data[\"giadichvu\"];\r\n this.hoatdong = _data[\"hoatdong\"];\r\n this.loai = _data[\"loai\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemDichvu {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemDichvu();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tendichvu\"] = this.tendichvu;\r\n data[\"mota\"] = this.mota;\r\n data[\"idnhatro\"] = this.idnhatro;\r\n data[\"quytactinhtien\"] = this.quytactinhtien;\r\n data[\"donvitinh\"] = this.donvitinh;\r\n data[\"giadichvu\"] = this.giadichvu;\r\n data[\"hoatdong\"] = this.hoatdong;\r\n data[\"loai\"] = this.loai;\r\n return data;\r\n }\r\n\r\n clone(): ItemDichvu {\r\n const json = this.toJSON();\r\n let result = new ItemDichvu();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemDichvu {\r\n id?: number;\r\n tendichvu?: string | undefined;\r\n mota?: string | undefined;\r\n idnhatro?: number;\r\n quytactinhtien?: number;\r\n donvitinh?: string | undefined;\r\n giadichvu?: number;\r\n hoatdong?: boolean;\r\n loai?: number;\r\n}\r\n\r\nexport class ItemDichvuApiResponse implements IItemDichvuApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemDichvu;\r\n\r\n constructor(data?: IItemDichvuApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemDichvu(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemDichvu.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemDichvuApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemDichvuApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemDichvuApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemDichvuApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemDichvuApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemDichvu;\r\n}\r\n\r\nexport class ItemDichvuListApiResponse implements IItemDichvuListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemDichvu[] | undefined;\r\n\r\n constructor(data?: IItemDichvuListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ItemDichvu(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ItemDichvu.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemDichvuListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemDichvuListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ItemDichvuListApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemDichvuListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemDichvuListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemDichvu[] | undefined;\r\n}\r\n\r\nexport class ItemDmcongty implements IItemDmcongty {\r\n id?: number;\r\n masothue?: string | undefined;\r\n ten?: string | undefined;\r\n diachi?: string | undefined;\r\n sodienthoai?: string | undefined;\r\n nguoidaidien?: string | undefined;\r\n trangthai?: number | undefined;\r\n\r\n constructor(data?: IItemDmcongty) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.masothue = _data[\"masothue\"];\r\n this.ten = _data[\"ten\"];\r\n this.diachi = _data[\"diachi\"];\r\n this.sodienthoai = _data[\"sodienthoai\"];\r\n this.nguoidaidien = _data[\"nguoidaidien\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemDmcongty {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemDmcongty();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"masothue\"] = this.masothue;\r\n data[\"ten\"] = this.ten;\r\n data[\"diachi\"] = this.diachi;\r\n data[\"sodienthoai\"] = this.sodienthoai;\r\n data[\"nguoidaidien\"] = this.nguoidaidien;\r\n data[\"trangthai\"] = this.trangthai;\r\n return data;\r\n }\r\n\r\n clone(): ItemDmcongty {\r\n const json = this.toJSON();\r\n let result = new ItemDmcongty();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemDmcongty {\r\n id?: number;\r\n masothue?: string | undefined;\r\n ten?: string | undefined;\r\n diachi?: string | undefined;\r\n sodienthoai?: string | undefined;\r\n nguoidaidien?: string | undefined;\r\n trangthai?: number | undefined;\r\n}\r\n\r\nexport class ItemDmcongty2 implements IItemDmcongty2 {\r\n id?: number;\r\n ten?: string | undefined;\r\n\r\n constructor(data?: IItemDmcongty2) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.ten = _data[\"ten\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemDmcongty2 {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemDmcongty2();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"ten\"] = this.ten;\r\n return data;\r\n }\r\n\r\n clone(): ItemDmcongty2 {\r\n const json = this.toJSON();\r\n let result = new ItemDmcongty2();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemDmcongty2 {\r\n id?: number;\r\n ten?: string | undefined;\r\n}\r\n\r\nexport class ItemDmcongty2ListApiResponse implements IItemDmcongty2ListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemDmcongty2[] | undefined;\r\n\r\n constructor(data?: IItemDmcongty2ListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ItemDmcongty2(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ItemDmcongty2.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemDmcongty2ListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemDmcongty2ListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ItemDmcongty2ListApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemDmcongty2ListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemDmcongty2ListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemDmcongty2[] | undefined;\r\n}\r\n\r\nexport class ItemDmcongtyApiResponse implements IItemDmcongtyApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemDmcongty;\r\n\r\n constructor(data?: IItemDmcongtyApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemDmcongty(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemDmcongty.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemDmcongtyApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemDmcongtyApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemDmcongtyApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemDmcongtyApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemDmcongtyApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemDmcongty;\r\n}\r\n\r\nexport class ItemDmcongtyIEnumerablePageModelView implements IItemDmcongtyIEnumerablePageModelView {\r\n data?: ItemDmcongty[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IItemDmcongtyIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ItemDmcongty(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ItemDmcongty.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemDmcongtyIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemDmcongtyIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): ItemDmcongtyIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new ItemDmcongtyIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemDmcongtyIEnumerablePageModelView {\r\n data?: IItemDmcongty[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class ItemDmcongtyIEnumerablePageModelViewApiResponse implements IItemDmcongtyIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemDmcongtyIEnumerablePageModelView;\r\n\r\n constructor(data?: IItemDmcongtyIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemDmcongtyIEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemDmcongtyIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemDmcongtyIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemDmcongtyIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemDmcongtyIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemDmcongtyIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemDmcongtyIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemDmcongtyIEnumerablePageModelView;\r\n}\r\n\r\nexport class ItemDmcongtyListApiResponse implements IItemDmcongtyListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemDmcongty[] | undefined;\r\n\r\n constructor(data?: IItemDmcongtyListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ItemDmcongty(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ItemDmcongty.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemDmcongtyListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemDmcongtyListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ItemDmcongtyListApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemDmcongtyListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemDmcongtyListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemDmcongty[] | undefined;\r\n}\r\n\r\nexport class ItemDmdantoc implements IItemDmdantoc {\r\n id?: number;\r\n madantoc?: string | undefined;\r\n tendantoc?: string | undefined;\r\n qdbanhanhqdsuadoi?: string | undefined;\r\n ngaybanhanhqd?: string | undefined;\r\n coquanbanhanhqd?: string | undefined;\r\n dateupdate?: Date;\r\n\r\n constructor(data?: IItemDmdantoc) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.madantoc = _data[\"madantoc\"];\r\n this.tendantoc = _data[\"tendantoc\"];\r\n this.qdbanhanhqdsuadoi = _data[\"qdbanhanhqdsuadoi\"];\r\n this.ngaybanhanhqd = _data[\"ngaybanhanhqd\"];\r\n this.coquanbanhanhqd = _data[\"coquanbanhanhqd\"];\r\n this.dateupdate = _data[\"dateupdate\"] ? new Date(_data[\"dateupdate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemDmdantoc {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemDmdantoc();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"madantoc\"] = this.madantoc;\r\n data[\"tendantoc\"] = this.tendantoc;\r\n data[\"qdbanhanhqdsuadoi\"] = this.qdbanhanhqdsuadoi;\r\n data[\"ngaybanhanhqd\"] = this.ngaybanhanhqd;\r\n data[\"coquanbanhanhqd\"] = this.coquanbanhanhqd;\r\n data[\"dateupdate\"] = this.dateupdate ? this.dateupdate.toISOString() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemDmdantoc {\r\n const json = this.toJSON();\r\n let result = new ItemDmdantoc();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemDmdantoc {\r\n id?: number;\r\n madantoc?: string | undefined;\r\n tendantoc?: string | undefined;\r\n qdbanhanhqdsuadoi?: string | undefined;\r\n ngaybanhanhqd?: string | undefined;\r\n coquanbanhanhqd?: string | undefined;\r\n dateupdate?: Date;\r\n}\r\n\r\nexport class ItemDmdantocApiResponse implements IItemDmdantocApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemDmdantoc;\r\n\r\n constructor(data?: IItemDmdantocApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemDmdantoc(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemDmdantoc.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemDmdantocApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemDmdantocApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemDmdantocApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemDmdantocApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemDmdantocApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemDmdantoc;\r\n}\r\n\r\nexport class ItemDmdantocIEnumerablePageModelView implements IItemDmdantocIEnumerablePageModelView {\r\n data?: ItemDmdantoc[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IItemDmdantocIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ItemDmdantoc(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ItemDmdantoc.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemDmdantocIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemDmdantocIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): ItemDmdantocIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new ItemDmdantocIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemDmdantocIEnumerablePageModelView {\r\n data?: IItemDmdantoc[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class ItemDmdantocIEnumerablePageModelViewApiResponse implements IItemDmdantocIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemDmdantocIEnumerablePageModelView;\r\n\r\n constructor(data?: IItemDmdantocIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemDmdantocIEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemDmdantocIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemDmdantocIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemDmdantocIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemDmdantocIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemDmdantocIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemDmdantocIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemDmdantocIEnumerablePageModelView;\r\n}\r\n\r\nexport class ItemDoiTuong implements IItemDoiTuong {\r\n name?: string | undefined;\r\n value?: number;\r\n\r\n constructor(data?: IItemDoiTuong) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemDoiTuong {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemDoiTuong();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n\r\n clone(): ItemDoiTuong {\r\n const json = this.toJSON();\r\n let result = new ItemDoiTuong();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemDoiTuong {\r\n name?: string | undefined;\r\n value?: number;\r\n}\r\n\r\nexport class ItemDoiTuongListApiResponse implements IItemDoiTuongListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemDoiTuong[] | undefined;\r\n\r\n constructor(data?: IItemDoiTuongListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ItemDoiTuong(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ItemDoiTuong.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemDoiTuongListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemDoiTuongListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ItemDoiTuongListApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemDoiTuongListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemDoiTuongListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemDoiTuong[] | undefined;\r\n}\r\n\r\nexport class ItemHuongdan implements IItemHuongdan {\r\n id?: number;\r\n loai?: string | undefined;\r\n video?: string | undefined;\r\n doc?: string | undefined;\r\n tieude?: string | undefined;\r\n\r\n constructor(data?: IItemHuongdan) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.loai = _data[\"loai\"];\r\n this.video = _data[\"video\"];\r\n this.doc = _data[\"doc\"];\r\n this.tieude = _data[\"tieude\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemHuongdan {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemHuongdan();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"loai\"] = this.loai;\r\n data[\"video\"] = this.video;\r\n data[\"doc\"] = this.doc;\r\n data[\"tieude\"] = this.tieude;\r\n return data;\r\n }\r\n\r\n clone(): ItemHuongdan {\r\n const json = this.toJSON();\r\n let result = new ItemHuongdan();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemHuongdan {\r\n id?: number;\r\n loai?: string | undefined;\r\n video?: string | undefined;\r\n doc?: string | undefined;\r\n tieude?: string | undefined;\r\n}\r\n\r\nexport class ItemHuongdanApiResponse implements IItemHuongdanApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemHuongdan;\r\n\r\n constructor(data?: IItemHuongdanApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemHuongdan(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemHuongdan.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemHuongdanApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemHuongdanApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemHuongdanApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemHuongdanApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemHuongdanApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemHuongdan;\r\n}\r\n\r\nexport class ItemHuongdanIEnumerablePageModelView implements IItemHuongdanIEnumerablePageModelView {\r\n data?: ItemHuongdan[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IItemHuongdanIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ItemHuongdan(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ItemHuongdan.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemHuongdanIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemHuongdanIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): ItemHuongdanIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new ItemHuongdanIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemHuongdanIEnumerablePageModelView {\r\n data?: IItemHuongdan[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class ItemHuongdanIEnumerablePageModelViewApiResponse implements IItemHuongdanIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemHuongdanIEnumerablePageModelView;\r\n\r\n constructor(data?: IItemHuongdanIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemHuongdanIEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemHuongdanIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemHuongdanIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemHuongdanIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemHuongdanIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemHuongdanIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemHuongdanIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemHuongdanIEnumerablePageModelView;\r\n}\r\n\r\nexport class ItemHuongdanListApiResponse implements IItemHuongdanListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemHuongdan[] | undefined;\r\n\r\n constructor(data?: IItemHuongdanListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ItemHuongdan(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ItemHuongdan.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemHuongdanListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemHuongdanListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ItemHuongdanListApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemHuongdanListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemHuongdanListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemHuongdan[] | undefined;\r\n}\r\n\r\nexport class Itemloainha implements IItemloainha {\r\n name?: string | undefined;\r\n value?: number;\r\n isphong?: boolean;\r\n\r\n constructor(data?: IItemloainha) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.value = _data[\"value\"];\r\n this.isphong = _data[\"isphong\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Itemloainha {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Itemloainha();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"value\"] = this.value;\r\n data[\"isphong\"] = this.isphong;\r\n return data;\r\n }\r\n\r\n clone(): Itemloainha {\r\n const json = this.toJSON();\r\n let result = new Itemloainha();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemloainha {\r\n name?: string | undefined;\r\n value?: number;\r\n isphong?: boolean;\r\n}\r\n\r\nexport class ItemloainhaListApiResponse implements IItemloainhaListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: Itemloainha[] | undefined;\r\n\r\n constructor(data?: IItemloainhaListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new Itemloainha(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(Itemloainha.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemloainhaListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemloainhaListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ItemloainhaListApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemloainhaListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemloainhaListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemloainha[] | undefined;\r\n}\r\n\r\nexport class ItemNguoithue2 implements IItemNguoithue2 {\r\n id?: number;\r\n hoten?: string | undefined;\r\n diachi?: string | undefined;\r\n cccd?: string | undefined;\r\n dienthoai?: string | undefined;\r\n ngaysinh?: Date;\r\n gioitinh?: number;\r\n dantoc?: string | undefined;\r\n tongiao?: string | undefined;\r\n quoctich?: string | undefined;\r\n dangkytamtrutamvang?: boolean;\r\n thongtinthemtttv?: string | undefined;\r\n hinhanh?: string | undefined;\r\n email?: string | undefined;\r\n cccdNoicap?: string | undefined;\r\n nghenghiep?: number;\r\n noicongtac?: string | undefined;\r\n lydotamtru?: string | undefined;\r\n tengnuoithan?: string | undefined;\r\n dienthoainguoithan?: string | undefined;\r\n cccdMattruoc?: string | undefined;\r\n cccdMatsau?: string | undefined;\r\n anhchandung?: string | undefined;\r\n trangthai?: number;\r\n idnhatro?: number;\r\n cccdNgaycap?: Date;\r\n tamtruden?: Date;\r\n tamtrutu?: Date;\r\n nghenghiepkhac?: string | undefined;\r\n matinh?: string | undefined;\r\n mahuyen?: string | undefined;\r\n maxa?: string | undefined;\r\n ngaynhanphongGannhat?: Date;\r\n maphongGannhat?: number;\r\n tenphongGannhat?: string | undefined;\r\n madiabankey?: string | undefined;\r\n thon?: string | undefined;\r\n iddantoc?: number;\r\n thoigianthue?: number;\r\n ngaybatdauthue?: Date;\r\n ngaydangkytamtruGannhat?: Date;\r\n password?: string | undefined;\r\n congtyid?: number;\r\n\r\n constructor(data?: IItemNguoithue2) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.hoten = _data[\"hoten\"];\r\n this.diachi = _data[\"diachi\"];\r\n this.cccd = _data[\"cccd\"];\r\n this.dienthoai = _data[\"dienthoai\"];\r\n this.ngaysinh = _data[\"ngaysinh\"] ? new Date(_data[\"ngaysinh\"].toString()) : undefined;\r\n this.gioitinh = _data[\"gioitinh\"];\r\n this.dantoc = _data[\"dantoc\"];\r\n this.tongiao = _data[\"tongiao\"];\r\n this.quoctich = _data[\"quoctich\"];\r\n this.dangkytamtrutamvang = _data[\"dangkytamtrutamvang\"];\r\n this.thongtinthemtttv = _data[\"thongtinthemtttv\"];\r\n this.hinhanh = _data[\"hinhanh\"];\r\n this.email = _data[\"email\"];\r\n this.cccdNoicap = _data[\"cccdNoicap\"];\r\n this.nghenghiep = _data[\"nghenghiep\"];\r\n this.noicongtac = _data[\"noicongtac\"];\r\n this.lydotamtru = _data[\"lydotamtru\"];\r\n this.tengnuoithan = _data[\"tengnuoithan\"];\r\n this.dienthoainguoithan = _data[\"dienthoainguoithan\"];\r\n this.cccdMattruoc = _data[\"cccdMattruoc\"];\r\n this.cccdMatsau = _data[\"cccdMatsau\"];\r\n this.anhchandung = _data[\"anhchandung\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.idnhatro = _data[\"idnhatro\"];\r\n this.cccdNgaycap = _data[\"cccdNgaycap\"] ? new Date(_data[\"cccdNgaycap\"].toString()) : undefined;\r\n this.tamtruden = _data[\"tamtruden\"] ? new Date(_data[\"tamtruden\"].toString()) : undefined;\r\n this.tamtrutu = _data[\"tamtrutu\"] ? new Date(_data[\"tamtrutu\"].toString()) : undefined;\r\n this.nghenghiepkhac = _data[\"nghenghiepkhac\"];\r\n this.matinh = _data[\"matinh\"];\r\n this.mahuyen = _data[\"mahuyen\"];\r\n this.maxa = _data[\"maxa\"];\r\n this.ngaynhanphongGannhat = _data[\"ngaynhanphongGannhat\"] ? new Date(_data[\"ngaynhanphongGannhat\"].toString()) : undefined;\r\n this.maphongGannhat = _data[\"maphongGannhat\"];\r\n this.tenphongGannhat = _data[\"tenphongGannhat\"];\r\n this.madiabankey = _data[\"madiabankey\"];\r\n this.thon = _data[\"thon\"];\r\n this.iddantoc = _data[\"iddantoc\"];\r\n this.thoigianthue = _data[\"thoigianthue\"];\r\n this.ngaybatdauthue = _data[\"ngaybatdauthue\"] ? new Date(_data[\"ngaybatdauthue\"].toString()) : undefined;\r\n this.ngaydangkytamtruGannhat = _data[\"ngaydangkytamtruGannhat\"] ? new Date(_data[\"ngaydangkytamtruGannhat\"].toString()) : undefined;\r\n this.password = _data[\"password\"];\r\n this.congtyid = _data[\"congtyid\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemNguoithue2 {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemNguoithue2();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"hoten\"] = this.hoten;\r\n data[\"diachi\"] = this.diachi;\r\n data[\"cccd\"] = this.cccd;\r\n data[\"dienthoai\"] = this.dienthoai;\r\n data[\"ngaysinh\"] = this.ngaysinh ? this.ngaysinh.toISOString() : undefined;\r\n data[\"gioitinh\"] = this.gioitinh;\r\n data[\"dantoc\"] = this.dantoc;\r\n data[\"tongiao\"] = this.tongiao;\r\n data[\"quoctich\"] = this.quoctich;\r\n data[\"dangkytamtrutamvang\"] = this.dangkytamtrutamvang;\r\n data[\"thongtinthemtttv\"] = this.thongtinthemtttv;\r\n data[\"hinhanh\"] = this.hinhanh;\r\n data[\"email\"] = this.email;\r\n data[\"cccdNoicap\"] = this.cccdNoicap;\r\n data[\"nghenghiep\"] = this.nghenghiep;\r\n data[\"noicongtac\"] = this.noicongtac;\r\n data[\"lydotamtru\"] = this.lydotamtru;\r\n data[\"tengnuoithan\"] = this.tengnuoithan;\r\n data[\"dienthoainguoithan\"] = this.dienthoainguoithan;\r\n data[\"cccdMattruoc\"] = this.cccdMattruoc;\r\n data[\"cccdMatsau\"] = this.cccdMatsau;\r\n data[\"anhchandung\"] = this.anhchandung;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"idnhatro\"] = this.idnhatro;\r\n data[\"cccdNgaycap\"] = this.cccdNgaycap ? this.cccdNgaycap.toISOString() : undefined;\r\n data[\"tamtruden\"] = this.tamtruden ? this.tamtruden.toISOString() : undefined;\r\n data[\"tamtrutu\"] = this.tamtrutu ? this.tamtrutu.toISOString() : undefined;\r\n data[\"nghenghiepkhac\"] = this.nghenghiepkhac;\r\n data[\"matinh\"] = this.matinh;\r\n data[\"mahuyen\"] = this.mahuyen;\r\n data[\"maxa\"] = this.maxa;\r\n data[\"ngaynhanphongGannhat\"] = this.ngaynhanphongGannhat ? this.ngaynhanphongGannhat.toISOString() : undefined;\r\n data[\"maphongGannhat\"] = this.maphongGannhat;\r\n data[\"tenphongGannhat\"] = this.tenphongGannhat;\r\n data[\"madiabankey\"] = this.madiabankey;\r\n data[\"thon\"] = this.thon;\r\n data[\"iddantoc\"] = this.iddantoc;\r\n data[\"thoigianthue\"] = this.thoigianthue;\r\n data[\"ngaybatdauthue\"] = this.ngaybatdauthue ? this.ngaybatdauthue.toISOString() : undefined;\r\n data[\"ngaydangkytamtruGannhat\"] = this.ngaydangkytamtruGannhat ? this.ngaydangkytamtruGannhat.toISOString() : undefined;\r\n data[\"password\"] = this.password;\r\n data[\"congtyid\"] = this.congtyid;\r\n return data;\r\n }\r\n\r\n clone(): ItemNguoithue2 {\r\n const json = this.toJSON();\r\n let result = new ItemNguoithue2();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemNguoithue2 {\r\n id?: number;\r\n hoten?: string | undefined;\r\n diachi?: string | undefined;\r\n cccd?: string | undefined;\r\n dienthoai?: string | undefined;\r\n ngaysinh?: Date;\r\n gioitinh?: number;\r\n dantoc?: string | undefined;\r\n tongiao?: string | undefined;\r\n quoctich?: string | undefined;\r\n dangkytamtrutamvang?: boolean;\r\n thongtinthemtttv?: string | undefined;\r\n hinhanh?: string | undefined;\r\n email?: string | undefined;\r\n cccdNoicap?: string | undefined;\r\n nghenghiep?: number;\r\n noicongtac?: string | undefined;\r\n lydotamtru?: string | undefined;\r\n tengnuoithan?: string | undefined;\r\n dienthoainguoithan?: string | undefined;\r\n cccdMattruoc?: string | undefined;\r\n cccdMatsau?: string | undefined;\r\n anhchandung?: string | undefined;\r\n trangthai?: number;\r\n idnhatro?: number;\r\n cccdNgaycap?: Date;\r\n tamtruden?: Date;\r\n tamtrutu?: Date;\r\n nghenghiepkhac?: string | undefined;\r\n matinh?: string | undefined;\r\n mahuyen?: string | undefined;\r\n maxa?: string | undefined;\r\n ngaynhanphongGannhat?: Date;\r\n maphongGannhat?: number;\r\n tenphongGannhat?: string | undefined;\r\n madiabankey?: string | undefined;\r\n thon?: string | undefined;\r\n iddantoc?: number;\r\n thoigianthue?: number;\r\n ngaybatdauthue?: Date;\r\n ngaydangkytamtruGannhat?: Date;\r\n password?: string | undefined;\r\n congtyid?: number;\r\n}\r\n\r\nexport class ItemNguoithue2ApiResponse implements IItemNguoithue2ApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemNguoithue2;\r\n\r\n constructor(data?: IItemNguoithue2ApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemNguoithue2(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemNguoithue2.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemNguoithue2ApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemNguoithue2ApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemNguoithue2ApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemNguoithue2ApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemNguoithue2ApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemNguoithue2;\r\n}\r\n\r\nexport class ItemNguoithue2IEnumerablePageModelView implements IItemNguoithue2IEnumerablePageModelView {\r\n data?: ItemNguoithue2[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IItemNguoithue2IEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ItemNguoithue2(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ItemNguoithue2.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemNguoithue2IEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemNguoithue2IEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): ItemNguoithue2IEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new ItemNguoithue2IEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemNguoithue2IEnumerablePageModelView {\r\n data?: IItemNguoithue2[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class ItemNguoithue2IEnumerablePageModelViewApiResponse implements IItemNguoithue2IEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemNguoithue2IEnumerablePageModelView;\r\n\r\n constructor(data?: IItemNguoithue2IEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemNguoithue2IEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemNguoithue2IEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemNguoithue2IEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemNguoithue2IEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemNguoithue2IEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemNguoithue2IEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemNguoithue2IEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemNguoithue2IEnumerablePageModelView;\r\n}\r\n\r\nexport class ItemNguoithue2ListApiResponse implements IItemNguoithue2ListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemNguoithue2[] | undefined;\r\n\r\n constructor(data?: IItemNguoithue2ListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ItemNguoithue2(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ItemNguoithue2.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemNguoithue2ListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemNguoithue2ListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ItemNguoithue2ListApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemNguoithue2ListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemNguoithue2ListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemNguoithue2[] | undefined;\r\n}\r\n\r\nexport class ItemNhatkyDoituongTheodoi implements IItemNhatkyDoituongTheodoi {\r\n id?: number;\r\n noidung?: string | undefined;\r\n ngaytao?: Date;\r\n iddoituong?: number;\r\n\r\n constructor(data?: IItemNhatkyDoituongTheodoi) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.noidung = _data[\"noidung\"];\r\n this.ngaytao = _data[\"ngaytao\"] ? new Date(_data[\"ngaytao\"].toString()) : undefined;\r\n this.iddoituong = _data[\"iddoituong\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemNhatkyDoituongTheodoi {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemNhatkyDoituongTheodoi();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"noidung\"] = this.noidung;\r\n data[\"ngaytao\"] = this.ngaytao ? this.ngaytao.toISOString() : undefined;\r\n data[\"iddoituong\"] = this.iddoituong;\r\n return data;\r\n }\r\n\r\n clone(): ItemNhatkyDoituongTheodoi {\r\n const json = this.toJSON();\r\n let result = new ItemNhatkyDoituongTheodoi();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemNhatkyDoituongTheodoi {\r\n id?: number;\r\n noidung?: string | undefined;\r\n ngaytao?: Date;\r\n iddoituong?: number;\r\n}\r\n\r\nexport class ItemNhatkyDoituongTheodoiApiResponse implements IItemNhatkyDoituongTheodoiApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemNhatkyDoituongTheodoi;\r\n\r\n constructor(data?: IItemNhatkyDoituongTheodoiApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemNhatkyDoituongTheodoi(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemNhatkyDoituongTheodoi.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemNhatkyDoituongTheodoiApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemNhatkyDoituongTheodoiApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemNhatkyDoituongTheodoiApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemNhatkyDoituongTheodoiApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemNhatkyDoituongTheodoiApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemNhatkyDoituongTheodoi;\r\n}\r\n\r\nexport class ItemNhatkyDoituongTheodoiIEnumerablePageModelView implements IItemNhatkyDoituongTheodoiIEnumerablePageModelView {\r\n data?: ItemNhatkyDoituongTheodoi[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IItemNhatkyDoituongTheodoiIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ItemNhatkyDoituongTheodoi(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ItemNhatkyDoituongTheodoi.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemNhatkyDoituongTheodoiIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemNhatkyDoituongTheodoiIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): ItemNhatkyDoituongTheodoiIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new ItemNhatkyDoituongTheodoiIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemNhatkyDoituongTheodoiIEnumerablePageModelView {\r\n data?: IItemNhatkyDoituongTheodoi[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class ItemNhatkyDoituongTheodoiIEnumerablePageModelViewApiResponse implements IItemNhatkyDoituongTheodoiIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemNhatkyDoituongTheodoiIEnumerablePageModelView;\r\n\r\n constructor(data?: IItemNhatkyDoituongTheodoiIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemNhatkyDoituongTheodoiIEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemNhatkyDoituongTheodoiIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemNhatkyDoituongTheodoiIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemNhatkyDoituongTheodoiIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemNhatkyDoituongTheodoiIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemNhatkyDoituongTheodoiIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemNhatkyDoituongTheodoiIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemNhatkyDoituongTheodoiIEnumerablePageModelView;\r\n}\r\n\r\nexport class ItemNhatro implements IItemNhatro {\r\n id?: number;\r\n tennhatro?: string | undefined;\r\n diachicuthe?: string | undefined;\r\n trangthai?: number | undefined;\r\n tenchunhatro?: string | undefined;\r\n dienthoai?: string | undefined;\r\n idnguoitao?: number;\r\n cccdchutro?: string | undefined;\r\n loainhatro?: number;\r\n tinh?: string | undefined;\r\n huyen?: string | undefined;\r\n xa?: string | undefined;\r\n ngaytao?: Date | undefined;\r\n madiabankey?: string | undefined;\r\n mota?: string | undefined;\r\n motachitiet?: string | undefined;\r\n anhdaidien?: string | undefined;\r\n anh1?: string | undefined;\r\n anh2?: string | undefined;\r\n anh3?: string | undefined;\r\n sophong?: number | undefined;\r\n sotang?: number | undefined;\r\n anhdkkd?: string | undefined;\r\n sodkkd?: string | undefined;\r\n\r\n constructor(data?: IItemNhatro) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tennhatro = _data[\"tennhatro\"];\r\n this.diachicuthe = _data[\"diachicuthe\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.tenchunhatro = _data[\"tenchunhatro\"];\r\n this.dienthoai = _data[\"dienthoai\"];\r\n this.idnguoitao = _data[\"idnguoitao\"];\r\n this.cccdchutro = _data[\"cccdchutro\"];\r\n this.loainhatro = _data[\"loainhatro\"];\r\n this.tinh = _data[\"tinh\"];\r\n this.huyen = _data[\"huyen\"];\r\n this.xa = _data[\"xa\"];\r\n this.ngaytao = _data[\"ngaytao\"] ? new Date(_data[\"ngaytao\"].toString()) : undefined;\r\n this.madiabankey = _data[\"madiabankey\"];\r\n this.mota = _data[\"mota\"];\r\n this.motachitiet = _data[\"motachitiet\"];\r\n this.anhdaidien = _data[\"anhdaidien\"];\r\n this.anh1 = _data[\"anh1\"];\r\n this.anh2 = _data[\"anh2\"];\r\n this.anh3 = _data[\"anh3\"];\r\n this.sophong = _data[\"sophong\"];\r\n this.sotang = _data[\"sotang\"];\r\n this.anhdkkd = _data[\"anhdkkd\"];\r\n this.sodkkd = _data[\"sodkkd\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemNhatro {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemNhatro();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tennhatro\"] = this.tennhatro;\r\n data[\"diachicuthe\"] = this.diachicuthe;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"tenchunhatro\"] = this.tenchunhatro;\r\n data[\"dienthoai\"] = this.dienthoai;\r\n data[\"idnguoitao\"] = this.idnguoitao;\r\n data[\"cccdchutro\"] = this.cccdchutro;\r\n data[\"loainhatro\"] = this.loainhatro;\r\n data[\"tinh\"] = this.tinh;\r\n data[\"huyen\"] = this.huyen;\r\n data[\"xa\"] = this.xa;\r\n data[\"ngaytao\"] = this.ngaytao ? this.ngaytao.toISOString() : undefined;\r\n data[\"madiabankey\"] = this.madiabankey;\r\n data[\"mota\"] = this.mota;\r\n data[\"motachitiet\"] = this.motachitiet;\r\n data[\"anhdaidien\"] = this.anhdaidien;\r\n data[\"anh1\"] = this.anh1;\r\n data[\"anh2\"] = this.anh2;\r\n data[\"anh3\"] = this.anh3;\r\n data[\"sophong\"] = this.sophong;\r\n data[\"sotang\"] = this.sotang;\r\n data[\"anhdkkd\"] = this.anhdkkd;\r\n data[\"sodkkd\"] = this.sodkkd;\r\n return data;\r\n }\r\n\r\n clone(): ItemNhatro {\r\n const json = this.toJSON();\r\n let result = new ItemNhatro();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemNhatro {\r\n id?: number;\r\n tennhatro?: string | undefined;\r\n diachicuthe?: string | undefined;\r\n trangthai?: number | undefined;\r\n tenchunhatro?: string | undefined;\r\n dienthoai?: string | undefined;\r\n idnguoitao?: number;\r\n cccdchutro?: string | undefined;\r\n loainhatro?: number;\r\n tinh?: string | undefined;\r\n huyen?: string | undefined;\r\n xa?: string | undefined;\r\n ngaytao?: Date | undefined;\r\n madiabankey?: string | undefined;\r\n mota?: string | undefined;\r\n motachitiet?: string | undefined;\r\n anhdaidien?: string | undefined;\r\n anh1?: string | undefined;\r\n anh2?: string | undefined;\r\n anh3?: string | undefined;\r\n sophong?: number | undefined;\r\n sotang?: number | undefined;\r\n anhdkkd?: string | undefined;\r\n sodkkd?: string | undefined;\r\n}\r\n\r\nexport class ItemNhatro2 implements IItemNhatro2 {\r\n id?: number;\r\n tennhatro?: string | undefined;\r\n diachicuthe?: string | undefined;\r\n trangthai?: number;\r\n tenchunhatro?: string | undefined;\r\n dienthoai?: string | undefined;\r\n idnguoitao?: number;\r\n cccdchutro?: string | undefined;\r\n loainhatro?: number;\r\n tinh?: string | undefined;\r\n huyen?: string | undefined;\r\n xa?: string | undefined;\r\n ngaytao?: Date;\r\n madiabankey?: string | undefined;\r\n mota?: string | undefined;\r\n motachitiet?: string | undefined;\r\n anhdaidien?: string | undefined;\r\n anh1?: string | undefined;\r\n anh2?: string | undefined;\r\n anh3?: string | undefined;\r\n sophong?: number;\r\n sotang?: number;\r\n anhdkkd?: string | undefined;\r\n sodkkd?: string | undefined;\r\n lat?: string | undefined;\r\n lng?: string | undefined;\r\n\r\n constructor(data?: IItemNhatro2) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tennhatro = _data[\"tennhatro\"];\r\n this.diachicuthe = _data[\"diachicuthe\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.tenchunhatro = _data[\"tenchunhatro\"];\r\n this.dienthoai = _data[\"dienthoai\"];\r\n this.idnguoitao = _data[\"idnguoitao\"];\r\n this.cccdchutro = _data[\"cccdchutro\"];\r\n this.loainhatro = _data[\"loainhatro\"];\r\n this.tinh = _data[\"tinh\"];\r\n this.huyen = _data[\"huyen\"];\r\n this.xa = _data[\"xa\"];\r\n this.ngaytao = _data[\"ngaytao\"] ? new Date(_data[\"ngaytao\"].toString()) : undefined;\r\n this.madiabankey = _data[\"madiabankey\"];\r\n this.mota = _data[\"mota\"];\r\n this.motachitiet = _data[\"motachitiet\"];\r\n this.anhdaidien = _data[\"anhdaidien\"];\r\n this.anh1 = _data[\"anh1\"];\r\n this.anh2 = _data[\"anh2\"];\r\n this.anh3 = _data[\"anh3\"];\r\n this.sophong = _data[\"sophong\"];\r\n this.sotang = _data[\"sotang\"];\r\n this.anhdkkd = _data[\"anhdkkd\"];\r\n this.sodkkd = _data[\"sodkkd\"];\r\n this.lat = _data[\"lat\"];\r\n this.lng = _data[\"lng\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemNhatro2 {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemNhatro2();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tennhatro\"] = this.tennhatro;\r\n data[\"diachicuthe\"] = this.diachicuthe;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"tenchunhatro\"] = this.tenchunhatro;\r\n data[\"dienthoai\"] = this.dienthoai;\r\n data[\"idnguoitao\"] = this.idnguoitao;\r\n data[\"cccdchutro\"] = this.cccdchutro;\r\n data[\"loainhatro\"] = this.loainhatro;\r\n data[\"tinh\"] = this.tinh;\r\n data[\"huyen\"] = this.huyen;\r\n data[\"xa\"] = this.xa;\r\n data[\"ngaytao\"] = this.ngaytao ? this.ngaytao.toISOString() : undefined;\r\n data[\"madiabankey\"] = this.madiabankey;\r\n data[\"mota\"] = this.mota;\r\n data[\"motachitiet\"] = this.motachitiet;\r\n data[\"anhdaidien\"] = this.anhdaidien;\r\n data[\"anh1\"] = this.anh1;\r\n data[\"anh2\"] = this.anh2;\r\n data[\"anh3\"] = this.anh3;\r\n data[\"sophong\"] = this.sophong;\r\n data[\"sotang\"] = this.sotang;\r\n data[\"anhdkkd\"] = this.anhdkkd;\r\n data[\"sodkkd\"] = this.sodkkd;\r\n data[\"lat\"] = this.lat;\r\n data[\"lng\"] = this.lng;\r\n return data;\r\n }\r\n\r\n clone(): ItemNhatro2 {\r\n const json = this.toJSON();\r\n let result = new ItemNhatro2();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemNhatro2 {\r\n id?: number;\r\n tennhatro?: string | undefined;\r\n diachicuthe?: string | undefined;\r\n trangthai?: number;\r\n tenchunhatro?: string | undefined;\r\n dienthoai?: string | undefined;\r\n idnguoitao?: number;\r\n cccdchutro?: string | undefined;\r\n loainhatro?: number;\r\n tinh?: string | undefined;\r\n huyen?: string | undefined;\r\n xa?: string | undefined;\r\n ngaytao?: Date;\r\n madiabankey?: string | undefined;\r\n mota?: string | undefined;\r\n motachitiet?: string | undefined;\r\n anhdaidien?: string | undefined;\r\n anh1?: string | undefined;\r\n anh2?: string | undefined;\r\n anh3?: string | undefined;\r\n sophong?: number;\r\n sotang?: number;\r\n anhdkkd?: string | undefined;\r\n sodkkd?: string | undefined;\r\n lat?: string | undefined;\r\n lng?: string | undefined;\r\n}\r\n\r\nexport class ItemNhatro2ApiResponse implements IItemNhatro2ApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemNhatro2;\r\n\r\n constructor(data?: IItemNhatro2ApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemNhatro2(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemNhatro2.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemNhatro2ApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemNhatro2ApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemNhatro2ApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemNhatro2ApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemNhatro2ApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemNhatro2;\r\n}\r\n\r\nexport class ItemNhatro2IEnumerablePageModelView implements IItemNhatro2IEnumerablePageModelView {\r\n data?: ItemNhatro2[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IItemNhatro2IEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ItemNhatro2(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ItemNhatro2.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemNhatro2IEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemNhatro2IEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): ItemNhatro2IEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new ItemNhatro2IEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemNhatro2IEnumerablePageModelView {\r\n data?: IItemNhatro2[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class ItemNhatro2IEnumerablePageModelViewApiResponse implements IItemNhatro2IEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemNhatro2IEnumerablePageModelView;\r\n\r\n constructor(data?: IItemNhatro2IEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemNhatro2IEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemNhatro2IEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemNhatro2IEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemNhatro2IEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemNhatro2IEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemNhatro2IEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemNhatro2IEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemNhatro2IEnumerablePageModelView;\r\n}\r\n\r\nexport class ItemNhatro2ListApiResponse implements IItemNhatro2ListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemNhatro2[] | undefined;\r\n\r\n constructor(data?: IItemNhatro2ListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ItemNhatro2(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ItemNhatro2.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemNhatro2ListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemNhatro2ListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ItemNhatro2ListApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemNhatro2ListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemNhatro2ListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemNhatro2[] | undefined;\r\n}\r\n\r\nexport class ItemNhatroApiResponse implements IItemNhatroApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemNhatro;\r\n\r\n constructor(data?: IItemNhatroApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemNhatro(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemNhatro.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemNhatroApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemNhatroApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemNhatroApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemNhatroApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemNhatroApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemNhatro;\r\n}\r\n\r\nexport class ItemNhatroListApiResponse implements IItemNhatroListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemNhatro[] | undefined;\r\n\r\n constructor(data?: IItemNhatroListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ItemNhatro(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ItemNhatro.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemNhatroListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemNhatroListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ItemNhatroListApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemNhatroListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemNhatroListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemNhatro[] | undefined;\r\n}\r\n\r\nexport class ItemPhanhoi implements IItemPhanhoi {\r\n id?: number;\r\n iddanhgia?: number | undefined;\r\n noidungphanhoi?: string | undefined;\r\n thoigianphanhoi?: Date | undefined;\r\n idnguoiphanhoi?: number | undefined;\r\n\r\n constructor(data?: IItemPhanhoi) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.iddanhgia = _data[\"iddanhgia\"];\r\n this.noidungphanhoi = _data[\"noidungphanhoi\"];\r\n this.thoigianphanhoi = _data[\"thoigianphanhoi\"] ? new Date(_data[\"thoigianphanhoi\"].toString()) : undefined;\r\n this.idnguoiphanhoi = _data[\"idnguoiphanhoi\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemPhanhoi {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemPhanhoi();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"iddanhgia\"] = this.iddanhgia;\r\n data[\"noidungphanhoi\"] = this.noidungphanhoi;\r\n data[\"thoigianphanhoi\"] = this.thoigianphanhoi ? this.thoigianphanhoi.toISOString() : undefined;\r\n data[\"idnguoiphanhoi\"] = this.idnguoiphanhoi;\r\n return data;\r\n }\r\n\r\n clone(): ItemPhanhoi {\r\n const json = this.toJSON();\r\n let result = new ItemPhanhoi();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemPhanhoi {\r\n id?: number;\r\n iddanhgia?: number | undefined;\r\n noidungphanhoi?: string | undefined;\r\n thoigianphanhoi?: Date | undefined;\r\n idnguoiphanhoi?: number | undefined;\r\n}\r\n\r\nexport class ItemPhanhoiApiResponse implements IItemPhanhoiApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemPhanhoi;\r\n\r\n constructor(data?: IItemPhanhoiApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemPhanhoi(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemPhanhoi.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemPhanhoiApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemPhanhoiApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemPhanhoiApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemPhanhoiApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemPhanhoiApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemPhanhoi;\r\n}\r\n\r\nexport class ItemPhanhoiIEnumerablePageModelView implements IItemPhanhoiIEnumerablePageModelView {\r\n data?: ItemPhanhoi[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IItemPhanhoiIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ItemPhanhoi(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ItemPhanhoi.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemPhanhoiIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemPhanhoiIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): ItemPhanhoiIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new ItemPhanhoiIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemPhanhoiIEnumerablePageModelView {\r\n data?: IItemPhanhoi[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class ItemPhanhoiIEnumerablePageModelViewApiResponse implements IItemPhanhoiIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemPhanhoiIEnumerablePageModelView;\r\n\r\n constructor(data?: IItemPhanhoiIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemPhanhoiIEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemPhanhoiIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemPhanhoiIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemPhanhoiIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemPhanhoiIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemPhanhoiIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemPhanhoiIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemPhanhoiIEnumerablePageModelView;\r\n}\r\n\r\nexport class ItemPhanhoiListApiResponse implements IItemPhanhoiListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemPhanhoi[] | undefined;\r\n\r\n constructor(data?: IItemPhanhoiListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ItemPhanhoi(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ItemPhanhoi.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemPhanhoiListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemPhanhoiListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ItemPhanhoiListApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemPhanhoiListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemPhanhoiListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemPhanhoi[] | undefined;\r\n}\r\n\r\nexport class ItemPhongtro implements IItemPhongtro {\r\n id?: number;\r\n idnhatro?: number;\r\n trangthai?: number | undefined;\r\n tenphong?: string | undefined;\r\n mota?: string | undefined;\r\n songuoitoida?: number | undefined;\r\n dientich?: number | undefined;\r\n dongia?: number | undefined;\r\n hoatdong?: boolean | undefined;\r\n maphong?: string | undefined;\r\n tang?: number | undefined;\r\n ngaytao?: Date | undefined;\r\n anh1?: string | undefined;\r\n anh2?: string | undefined;\r\n anh3?: string | undefined;\r\n\r\n constructor(data?: IItemPhongtro) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.idnhatro = _data[\"idnhatro\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.tenphong = _data[\"tenphong\"];\r\n this.mota = _data[\"mota\"];\r\n this.songuoitoida = _data[\"songuoitoida\"];\r\n this.dientich = _data[\"dientich\"];\r\n this.dongia = _data[\"dongia\"];\r\n this.hoatdong = _data[\"hoatdong\"];\r\n this.maphong = _data[\"maphong\"];\r\n this.tang = _data[\"tang\"];\r\n this.ngaytao = _data[\"ngaytao\"] ? new Date(_data[\"ngaytao\"].toString()) : undefined;\r\n this.anh1 = _data[\"anh1\"];\r\n this.anh2 = _data[\"anh2\"];\r\n this.anh3 = _data[\"anh3\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemPhongtro {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemPhongtro();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"idnhatro\"] = this.idnhatro;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"tenphong\"] = this.tenphong;\r\n data[\"mota\"] = this.mota;\r\n data[\"songuoitoida\"] = this.songuoitoida;\r\n data[\"dientich\"] = this.dientich;\r\n data[\"dongia\"] = this.dongia;\r\n data[\"hoatdong\"] = this.hoatdong;\r\n data[\"maphong\"] = this.maphong;\r\n data[\"tang\"] = this.tang;\r\n data[\"ngaytao\"] = this.ngaytao ? this.ngaytao.toISOString() : undefined;\r\n data[\"anh1\"] = this.anh1;\r\n data[\"anh2\"] = this.anh2;\r\n data[\"anh3\"] = this.anh3;\r\n return data;\r\n }\r\n\r\n clone(): ItemPhongtro {\r\n const json = this.toJSON();\r\n let result = new ItemPhongtro();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemPhongtro {\r\n id?: number;\r\n idnhatro?: number;\r\n trangthai?: number | undefined;\r\n tenphong?: string | undefined;\r\n mota?: string | undefined;\r\n songuoitoida?: number | undefined;\r\n dientich?: number | undefined;\r\n dongia?: number | undefined;\r\n hoatdong?: boolean | undefined;\r\n maphong?: string | undefined;\r\n tang?: number | undefined;\r\n ngaytao?: Date | undefined;\r\n anh1?: string | undefined;\r\n anh2?: string | undefined;\r\n anh3?: string | undefined;\r\n}\r\n\r\nexport class ItemTinlaodong implements IItemTinlaodong {\r\n id?: number;\r\n tieude?: string | undefined;\r\n hinhanh?: string | undefined;\r\n ngaydang?: Date | undefined;\r\n noidung?: string | undefined;\r\n link?: string | undefined;\r\n loaitin?: number | undefined;\r\n chitietbaiviet?: string | undefined;\r\n trangthai?: number | undefined;\r\n\r\n constructor(data?: IItemTinlaodong) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tieude = _data[\"tieude\"];\r\n this.hinhanh = _data[\"hinhanh\"];\r\n this.ngaydang = _data[\"ngaydang\"] ? new Date(_data[\"ngaydang\"].toString()) : undefined;\r\n this.noidung = _data[\"noidung\"];\r\n this.link = _data[\"link\"];\r\n this.loaitin = _data[\"loaitin\"];\r\n this.chitietbaiviet = _data[\"chitietbaiviet\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemTinlaodong {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemTinlaodong();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tieude\"] = this.tieude;\r\n data[\"hinhanh\"] = this.hinhanh;\r\n data[\"ngaydang\"] = this.ngaydang ? this.ngaydang.toISOString() : undefined;\r\n data[\"noidung\"] = this.noidung;\r\n data[\"link\"] = this.link;\r\n data[\"loaitin\"] = this.loaitin;\r\n data[\"chitietbaiviet\"] = this.chitietbaiviet;\r\n data[\"trangthai\"] = this.trangthai;\r\n return data;\r\n }\r\n\r\n clone(): ItemTinlaodong {\r\n const json = this.toJSON();\r\n let result = new ItemTinlaodong();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemTinlaodong {\r\n id?: number;\r\n tieude?: string | undefined;\r\n hinhanh?: string | undefined;\r\n ngaydang?: Date | undefined;\r\n noidung?: string | undefined;\r\n link?: string | undefined;\r\n loaitin?: number | undefined;\r\n chitietbaiviet?: string | undefined;\r\n trangthai?: number | undefined;\r\n}\r\n\r\nexport class ItemTinlaodongApiResponse implements IItemTinlaodongApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemTinlaodong;\r\n\r\n constructor(data?: IItemTinlaodongApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemTinlaodong(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemTinlaodong.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemTinlaodongApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemTinlaodongApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemTinlaodongApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemTinlaodongApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemTinlaodongApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemTinlaodong;\r\n}\r\n\r\nexport class ItemTinlaodongIEnumerablePageModelView implements IItemTinlaodongIEnumerablePageModelView {\r\n data?: ItemTinlaodong[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IItemTinlaodongIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ItemTinlaodong(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ItemTinlaodong.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemTinlaodongIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemTinlaodongIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): ItemTinlaodongIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new ItemTinlaodongIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemTinlaodongIEnumerablePageModelView {\r\n data?: IItemTinlaodong[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class ItemTinlaodongIEnumerablePageModelViewApiResponse implements IItemTinlaodongIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemTinlaodongIEnumerablePageModelView;\r\n\r\n constructor(data?: IItemTinlaodongIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemTinlaodongIEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemTinlaodongIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemTinlaodongIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemTinlaodongIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemTinlaodongIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemTinlaodongIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemTinlaodongIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemTinlaodongIEnumerablePageModelView;\r\n}\r\n\r\nexport class ItemZalo implements IItemZalo {\r\n id?: number;\r\n idzalo?: string | undefined;\r\n ten?: string | undefined;\r\n\r\n constructor(data?: IItemZalo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.idzalo = _data[\"idzalo\"];\r\n this.ten = _data[\"ten\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemZalo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemZalo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"idzalo\"] = this.idzalo;\r\n data[\"ten\"] = this.ten;\r\n return data;\r\n }\r\n\r\n clone(): ItemZalo {\r\n const json = this.toJSON();\r\n let result = new ItemZalo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemZalo {\r\n id?: number;\r\n idzalo?: string | undefined;\r\n ten?: string | undefined;\r\n}\r\n\r\nexport class ItemZaloApiResponse implements IItemZaloApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemZalo;\r\n\r\n constructor(data?: IItemZaloApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemZalo(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemZalo.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemZaloApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemZaloApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemZaloApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemZaloApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemZaloApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemZalo;\r\n}\r\n\r\nexport class ItemZaloDoituong implements IItemZaloDoituong {\r\n id?: number;\r\n idzalo?: string | undefined;\r\n iddt?: number;\r\n\r\n constructor(data?: IItemZaloDoituong) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.idzalo = _data[\"idzalo\"];\r\n this.iddt = _data[\"iddt\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemZaloDoituong {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemZaloDoituong();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"idzalo\"] = this.idzalo;\r\n data[\"iddt\"] = this.iddt;\r\n return data;\r\n }\r\n\r\n clone(): ItemZaloDoituong {\r\n const json = this.toJSON();\r\n let result = new ItemZaloDoituong();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemZaloDoituong {\r\n id?: number;\r\n idzalo?: string | undefined;\r\n iddt?: number;\r\n}\r\n\r\nexport class ItemZaloDoituongApiResponse implements IItemZaloDoituongApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemZaloDoituong;\r\n\r\n constructor(data?: IItemZaloDoituongApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemZaloDoituong(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemZaloDoituong.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemZaloDoituongApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemZaloDoituongApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemZaloDoituongApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemZaloDoituongApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemZaloDoituongApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemZaloDoituong;\r\n}\r\n\r\nexport class ItemZaloDoituongIEnumerablePageModelView implements IItemZaloDoituongIEnumerablePageModelView {\r\n data?: ItemZaloDoituong[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IItemZaloDoituongIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ItemZaloDoituong(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ItemZaloDoituong.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemZaloDoituongIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemZaloDoituongIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): ItemZaloDoituongIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new ItemZaloDoituongIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemZaloDoituongIEnumerablePageModelView {\r\n data?: IItemZaloDoituong[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class ItemZaloDoituongIEnumerablePageModelViewApiResponse implements IItemZaloDoituongIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemZaloDoituongIEnumerablePageModelView;\r\n\r\n constructor(data?: IItemZaloDoituongIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemZaloDoituongIEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemZaloDoituongIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemZaloDoituongIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemZaloDoituongIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemZaloDoituongIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemZaloDoituongIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemZaloDoituongIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemZaloDoituongIEnumerablePageModelView;\r\n}\r\n\r\nexport class ItemZaloDoituongListApiResponse implements IItemZaloDoituongListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemZaloDoituong[] | undefined;\r\n\r\n constructor(data?: IItemZaloDoituongListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ItemZaloDoituong(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ItemZaloDoituong.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemZaloDoituongListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemZaloDoituongListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ItemZaloDoituongListApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemZaloDoituongListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemZaloDoituongListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemZaloDoituong[] | undefined;\r\n}\r\n\r\nexport class ItemZaloIEnumerablePageModelView implements IItemZaloIEnumerablePageModelView {\r\n data?: ItemZalo[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IItemZaloIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ItemZalo(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ItemZalo.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemZaloIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemZaloIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): ItemZaloIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new ItemZaloIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemZaloIEnumerablePageModelView {\r\n data?: IItemZalo[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class ItemZaloIEnumerablePageModelViewApiResponse implements IItemZaloIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemZaloIEnumerablePageModelView;\r\n\r\n constructor(data?: IItemZaloIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemZaloIEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemZaloIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemZaloIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemZaloIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemZaloIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemZaloIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemZaloIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemZaloIEnumerablePageModelView;\r\n}\r\n\r\nexport class IValidator implements IIValidator {\r\n\r\n constructor(data?: IIValidator) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): IValidator {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IValidator();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data;\r\n }\r\n\r\n clone(): IValidator {\r\n const json = this.toJSON();\r\n let result = new IValidator();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIValidator {\r\n}\r\n\r\nexport class KiemTraNguoiThueVaNhaTroModel implements IKiemTraNguoiThueVaNhaTroModel {\r\n id?: number;\r\n idPhongTro?: number;\r\n trangThai?: number;\r\n ngayThue?: Date;\r\n tenNhaTro?: string | undefined;\r\n tenPhong?: string | undefined;\r\n\r\n constructor(data?: IKiemTraNguoiThueVaNhaTroModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.idPhongTro = _data[\"idPhongTro\"];\r\n this.trangThai = _data[\"trangThai\"];\r\n this.ngayThue = _data[\"ngayThue\"] ? new Date(_data[\"ngayThue\"].toString()) : undefined;\r\n this.tenNhaTro = _data[\"tenNhaTro\"];\r\n this.tenPhong = _data[\"tenPhong\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): KiemTraNguoiThueVaNhaTroModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new KiemTraNguoiThueVaNhaTroModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"idPhongTro\"] = this.idPhongTro;\r\n data[\"trangThai\"] = this.trangThai;\r\n data[\"ngayThue\"] = this.ngayThue ? this.ngayThue.toISOString() : undefined;\r\n data[\"tenNhaTro\"] = this.tenNhaTro;\r\n data[\"tenPhong\"] = this.tenPhong;\r\n return data;\r\n }\r\n\r\n clone(): KiemTraNguoiThueVaNhaTroModel {\r\n const json = this.toJSON();\r\n let result = new KiemTraNguoiThueVaNhaTroModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IKiemTraNguoiThueVaNhaTroModel {\r\n id?: number;\r\n idPhongTro?: number;\r\n trangThai?: number;\r\n ngayThue?: Date;\r\n tenNhaTro?: string | undefined;\r\n tenPhong?: string | undefined;\r\n}\r\n\r\nexport class KiemTraNguoiThueVaNhaTroModelListApiResponse implements IKiemTraNguoiThueVaNhaTroModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: KiemTraNguoiThueVaNhaTroModel[] | undefined;\r\n\r\n constructor(data?: IKiemTraNguoiThueVaNhaTroModelListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new KiemTraNguoiThueVaNhaTroModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(KiemTraNguoiThueVaNhaTroModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): KiemTraNguoiThueVaNhaTroModelListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new KiemTraNguoiThueVaNhaTroModelListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): KiemTraNguoiThueVaNhaTroModelListApiResponse {\r\n const json = this.toJSON();\r\n let result = new KiemTraNguoiThueVaNhaTroModelListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IKiemTraNguoiThueVaNhaTroModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IKiemTraNguoiThueVaNhaTroModel[] | undefined;\r\n}\r\n\r\nexport enum LayoutKind {\r\n _0 = 0,\r\n _2 = 2,\r\n _3 = 3,\r\n}\r\n\r\nexport class LichSuThanhToanModel implements ILichSuThanhToanModel {\r\n id?: number;\r\n idnhatro?: number;\r\n tennhatro?: string | undefined;\r\n tenphongtro?: string | undefined;\r\n tungay?: Date | undefined;\r\n denngay?: Date | undefined;\r\n tienphong?: number | undefined;\r\n tiendichvu?: number | undefined;\r\n giamgia?: number | undefined;\r\n lsthddv?: HoaDonDichVuModel[] | undefined;\r\n\r\n constructor(data?: ILichSuThanhToanModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lsthddv) {\r\n this.lsthddv = [];\r\n for (let i = 0; i < data.lsthddv.length; i++) {\r\n let item = data.lsthddv[i];\r\n this.lsthddv[i] = item && !(item).toJSON ? new HoaDonDichVuModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.idnhatro = _data[\"idnhatro\"];\r\n this.tennhatro = _data[\"tennhatro\"];\r\n this.tenphongtro = _data[\"tenphongtro\"];\r\n this.tungay = _data[\"tungay\"] ? new Date(_data[\"tungay\"].toString()) : undefined;\r\n this.denngay = _data[\"denngay\"] ? new Date(_data[\"denngay\"].toString()) : undefined;\r\n this.tienphong = _data[\"tienphong\"];\r\n this.tiendichvu = _data[\"tiendichvu\"];\r\n this.giamgia = _data[\"giamgia\"];\r\n if (Array.isArray(_data[\"lsthddv\"])) {\r\n this.lsthddv = [] as any;\r\n for (let item of _data[\"lsthddv\"])\r\n this.lsthddv!.push(HoaDonDichVuModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LichSuThanhToanModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LichSuThanhToanModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"idnhatro\"] = this.idnhatro;\r\n data[\"tennhatro\"] = this.tennhatro;\r\n data[\"tenphongtro\"] = this.tenphongtro;\r\n data[\"tungay\"] = this.tungay ? this.tungay.toISOString() : undefined;\r\n data[\"denngay\"] = this.denngay ? this.denngay.toISOString() : undefined;\r\n data[\"tienphong\"] = this.tienphong;\r\n data[\"tiendichvu\"] = this.tiendichvu;\r\n data[\"giamgia\"] = this.giamgia;\r\n if (Array.isArray(this.lsthddv)) {\r\n data[\"lsthddv\"] = [];\r\n for (let item of this.lsthddv)\r\n data[\"lsthddv\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): LichSuThanhToanModel {\r\n const json = this.toJSON();\r\n let result = new LichSuThanhToanModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILichSuThanhToanModel {\r\n id?: number;\r\n idnhatro?: number;\r\n tennhatro?: string | undefined;\r\n tenphongtro?: string | undefined;\r\n tungay?: Date | undefined;\r\n denngay?: Date | undefined;\r\n tienphong?: number | undefined;\r\n tiendichvu?: number | undefined;\r\n giamgia?: number | undefined;\r\n lsthddv?: IHoaDonDichVuModel[] | undefined;\r\n}\r\n\r\nexport class LichSuThanhToanModelIEnumerablePageModelView implements ILichSuThanhToanModelIEnumerablePageModelView {\r\n data?: LichSuThanhToanModel[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: ILichSuThanhToanModelIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new LichSuThanhToanModel(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(LichSuThanhToanModel.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LichSuThanhToanModelIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LichSuThanhToanModelIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): LichSuThanhToanModelIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new LichSuThanhToanModelIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILichSuThanhToanModelIEnumerablePageModelView {\r\n data?: ILichSuThanhToanModel[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class LichSuThanhToanModelIEnumerablePageModelViewApiResponse implements ILichSuThanhToanModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: LichSuThanhToanModelIEnumerablePageModelView;\r\n\r\n constructor(data?: ILichSuThanhToanModelIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new LichSuThanhToanModelIEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? LichSuThanhToanModelIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): LichSuThanhToanModelIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LichSuThanhToanModelIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): LichSuThanhToanModelIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new LichSuThanhToanModelIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILichSuThanhToanModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ILichSuThanhToanModelIEnumerablePageModelView;\r\n}\r\n\r\nexport class LichSuThanhToanSearchModel implements ILichSuThanhToanSearchModel {\r\n idtaikhoan?: number;\r\n tungay?: Date | undefined;\r\n denngay?: Date | undefined;\r\n idnhatro?: number | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n\r\n constructor(data?: ILichSuThanhToanSearchModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.idtaikhoan = _data[\"idtaikhoan\"];\r\n this.tungay = _data[\"tungay\"] ? new Date(_data[\"tungay\"].toString()) : undefined;\r\n this.denngay = _data[\"denngay\"] ? new Date(_data[\"denngay\"].toString()) : undefined;\r\n this.idnhatro = _data[\"idnhatro\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LichSuThanhToanSearchModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LichSuThanhToanSearchModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"idtaikhoan\"] = this.idtaikhoan;\r\n data[\"tungay\"] = this.tungay ? this.tungay.toISOString() : undefined;\r\n data[\"denngay\"] = this.denngay ? this.denngay.toISOString() : undefined;\r\n data[\"idnhatro\"] = this.idnhatro;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n return data;\r\n }\r\n\r\n clone(): LichSuThanhToanSearchModel {\r\n const json = this.toJSON();\r\n let result = new LichSuThanhToanSearchModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILichSuThanhToanSearchModel {\r\n idtaikhoan?: number;\r\n tungay?: Date | undefined;\r\n denngay?: Date | undefined;\r\n idnhatro?: number | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n}\r\n\r\nexport class LichSuThueModel implements ILichSuThueModel {\r\n id?: number;\r\n tenNhaTro?: string | undefined;\r\n tenPhong?: string | undefined;\r\n tinhTrang?: string | undefined;\r\n ngayThue?: Date | undefined;\r\n ngayTra?: Date | undefined;\r\n diaChiNT?: string | undefined;\r\n\r\n constructor(data?: ILichSuThueModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tenNhaTro = _data[\"tenNhaTro\"];\r\n this.tenPhong = _data[\"tenPhong\"];\r\n this.tinhTrang = _data[\"tinhTrang\"];\r\n this.ngayThue = _data[\"ngayThue\"] ? new Date(_data[\"ngayThue\"].toString()) : undefined;\r\n this.ngayTra = _data[\"ngayTra\"] ? new Date(_data[\"ngayTra\"].toString()) : undefined;\r\n this.diaChiNT = _data[\"diaChiNT\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LichSuThueModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LichSuThueModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tenNhaTro\"] = this.tenNhaTro;\r\n data[\"tenPhong\"] = this.tenPhong;\r\n data[\"tinhTrang\"] = this.tinhTrang;\r\n data[\"ngayThue\"] = this.ngayThue ? this.ngayThue.toISOString() : undefined;\r\n data[\"ngayTra\"] = this.ngayTra ? this.ngayTra.toISOString() : undefined;\r\n data[\"diaChiNT\"] = this.diaChiNT;\r\n return data;\r\n }\r\n\r\n clone(): LichSuThueModel {\r\n const json = this.toJSON();\r\n let result = new LichSuThueModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILichSuThueModel {\r\n id?: number;\r\n tenNhaTro?: string | undefined;\r\n tenPhong?: string | undefined;\r\n tinhTrang?: string | undefined;\r\n ngayThue?: Date | undefined;\r\n ngayTra?: Date | undefined;\r\n diaChiNT?: string | undefined;\r\n}\r\n\r\nexport class LichSuThueModelIEnumerableApiResponse implements ILichSuThueModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: LichSuThueModel[] | undefined;\r\n\r\n constructor(data?: ILichSuThueModelIEnumerableApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new LichSuThueModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(LichSuThueModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LichSuThueModelIEnumerableApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LichSuThueModelIEnumerableApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): LichSuThueModelIEnumerableApiResponse {\r\n const json = this.toJSON();\r\n let result = new LichSuThueModelIEnumerableApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILichSuThueModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ILichSuThueModel[] | undefined;\r\n}\r\n\r\nexport class Lichsuthuetro implements ILichsuthuetro {\r\n idphong?: number | undefined;\r\n tenphong?: string | undefined;\r\n idnhatro?: number | undefined;\r\n tenchunhatro?: string | undefined;\r\n dienthoai?: string | undefined;\r\n tennhatro?: string | undefined;\r\n trangthai?: number | undefined;\r\n diachi?: string | undefined;\r\n ngayBatDauThue?: Date | undefined;\r\n ngaytra?: Date | undefined;\r\n tamtru?: string | undefined;\r\n dangkytamtrutamvang?: boolean | undefined;\r\n\r\n constructor(data?: ILichsuthuetro) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.idphong = _data[\"idphong\"];\r\n this.tenphong = _data[\"tenphong\"];\r\n this.idnhatro = _data[\"idnhatro\"];\r\n this.tenchunhatro = _data[\"tenchunhatro\"];\r\n this.dienthoai = _data[\"dienthoai\"];\r\n this.tennhatro = _data[\"tennhatro\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.diachi = _data[\"diachi\"];\r\n this.ngayBatDauThue = _data[\"ngayBatDauThue\"] ? new Date(_data[\"ngayBatDauThue\"].toString()) : undefined;\r\n this.ngaytra = _data[\"ngaytra\"] ? new Date(_data[\"ngaytra\"].toString()) : undefined;\r\n this.tamtru = _data[\"tamtru\"];\r\n this.dangkytamtrutamvang = _data[\"dangkytamtrutamvang\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Lichsuthuetro {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Lichsuthuetro();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"idphong\"] = this.idphong;\r\n data[\"tenphong\"] = this.tenphong;\r\n data[\"idnhatro\"] = this.idnhatro;\r\n data[\"tenchunhatro\"] = this.tenchunhatro;\r\n data[\"dienthoai\"] = this.dienthoai;\r\n data[\"tennhatro\"] = this.tennhatro;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"diachi\"] = this.diachi;\r\n data[\"ngayBatDauThue\"] = this.ngayBatDauThue ? this.ngayBatDauThue.toISOString() : undefined;\r\n data[\"ngaytra\"] = this.ngaytra ? this.ngaytra.toISOString() : undefined;\r\n data[\"tamtru\"] = this.tamtru;\r\n data[\"dangkytamtrutamvang\"] = this.dangkytamtrutamvang;\r\n return data;\r\n }\r\n\r\n clone(): Lichsuthuetro {\r\n const json = this.toJSON();\r\n let result = new Lichsuthuetro();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILichsuthuetro {\r\n idphong?: number | undefined;\r\n tenphong?: string | undefined;\r\n idnhatro?: number | undefined;\r\n tenchunhatro?: string | undefined;\r\n dienthoai?: string | undefined;\r\n tennhatro?: string | undefined;\r\n trangthai?: number | undefined;\r\n diachi?: string | undefined;\r\n ngayBatDauThue?: Date | undefined;\r\n ngaytra?: Date | undefined;\r\n tamtru?: string | undefined;\r\n dangkytamtrutamvang?: boolean | undefined;\r\n}\r\n\r\nexport class LoginModel implements ILoginModel {\r\n userName!: string;\r\n password!: string;\r\n\r\n constructor(data?: ILoginModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userName = _data[\"userName\"];\r\n this.password = _data[\"password\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoginModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoginModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userName\"] = this.userName;\r\n data[\"password\"] = this.password;\r\n return data;\r\n }\r\n\r\n clone(): LoginModel {\r\n const json = this.toJSON();\r\n let result = new LoginModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILoginModel {\r\n userName: string;\r\n password: string;\r\n}\r\n\r\nexport enum MappingType {\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n}\r\n\r\nexport class MemberInfo implements IMemberInfo {\r\n memberType?: MemberTypes;\r\n readonly name?: string | undefined;\r\n declaringType?: Type;\r\n reflectedType?: Type;\r\n module?: Module;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n\r\n constructor(data?: IMemberInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType;\r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType;\r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module;\r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberType = _data[\"memberType\"];\r\n (this).name = _data[\"name\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MemberInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MemberInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberType\"] = this.memberType;\r\n data[\"name\"] = this.name;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n return data;\r\n }\r\n\r\n clone(): MemberInfo {\r\n const json = this.toJSON();\r\n let result = new MemberInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IMemberInfo {\r\n memberType?: MemberTypes;\r\n name?: string | undefined;\r\n declaringType?: IType;\r\n reflectedType?: IType;\r\n module?: IModule;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n}\r\n\r\nexport enum MemberTypes {\r\n _1 = 1,\r\n _2 = 2,\r\n _4 = 4,\r\n _8 = 8,\r\n _16 = 16,\r\n _32 = 32,\r\n _64 = 64,\r\n _128 = 128,\r\n _191 = 191,\r\n}\r\n\r\nexport enum MethodAttributes {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n _6 = 6,\r\n _7 = 7,\r\n _8 = 8,\r\n _16 = 16,\r\n _32 = 32,\r\n _64 = 64,\r\n _128 = 128,\r\n _256 = 256,\r\n _512 = 512,\r\n _1024 = 1024,\r\n _2048 = 2048,\r\n _4096 = 4096,\r\n _8192 = 8192,\r\n _16384 = 16384,\r\n _32768 = 32768,\r\n _53248 = 53248,\r\n}\r\n\r\nexport class MethodBase implements IMethodBase {\r\n memberType?: MemberTypes;\r\n readonly name?: string | undefined;\r\n declaringType?: Type;\r\n reflectedType?: Type;\r\n module?: Module;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n attributes?: MethodAttributes;\r\n methodImplementationFlags?: MethodImplAttributes;\r\n callingConvention?: CallingConventions;\r\n readonly isAbstract?: boolean;\r\n readonly isConstructor?: boolean;\r\n readonly isFinal?: boolean;\r\n readonly isHideBySig?: boolean;\r\n readonly isSpecialName?: boolean;\r\n readonly isStatic?: boolean;\r\n readonly isVirtual?: boolean;\r\n readonly isAssembly?: boolean;\r\n readonly isFamily?: boolean;\r\n readonly isFamilyAndAssembly?: boolean;\r\n readonly isFamilyOrAssembly?: boolean;\r\n readonly isPrivate?: boolean;\r\n readonly isPublic?: boolean;\r\n readonly isConstructedGenericMethod?: boolean;\r\n readonly isGenericMethod?: boolean;\r\n readonly isGenericMethodDefinition?: boolean;\r\n readonly containsGenericParameters?: boolean;\r\n methodHandle?: RuntimeMethodHandle;\r\n readonly isSecurityCritical?: boolean;\r\n readonly isSecuritySafeCritical?: boolean;\r\n readonly isSecurityTransparent?: boolean;\r\n\r\n constructor(data?: IMethodBase) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType;\r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType;\r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module;\r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.methodHandle = data.methodHandle && !(data.methodHandle).toJSON ? new RuntimeMethodHandle(data.methodHandle) : this.methodHandle;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberType = _data[\"memberType\"];\r\n (this).name = _data[\"name\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n this.attributes = _data[\"attributes\"];\r\n this.methodImplementationFlags = _data[\"methodImplementationFlags\"];\r\n this.callingConvention = _data[\"callingConvention\"];\r\n (this).isAbstract = _data[\"isAbstract\"];\r\n (this).isConstructor = _data[\"isConstructor\"];\r\n (this).isFinal = _data[\"isFinal\"];\r\n (this).isHideBySig = _data[\"isHideBySig\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n (this).isStatic = _data[\"isStatic\"];\r\n (this).isVirtual = _data[\"isVirtual\"];\r\n (this).isAssembly = _data[\"isAssembly\"];\r\n (this).isFamily = _data[\"isFamily\"];\r\n (this).isFamilyAndAssembly = _data[\"isFamilyAndAssembly\"];\r\n (this).isFamilyOrAssembly = _data[\"isFamilyOrAssembly\"];\r\n (this).isPrivate = _data[\"isPrivate\"];\r\n (this).isPublic = _data[\"isPublic\"];\r\n (this).isConstructedGenericMethod = _data[\"isConstructedGenericMethod\"];\r\n (this).isGenericMethod = _data[\"isGenericMethod\"];\r\n (this).isGenericMethodDefinition = _data[\"isGenericMethodDefinition\"];\r\n (this).containsGenericParameters = _data[\"containsGenericParameters\"];\r\n this.methodHandle = _data[\"methodHandle\"] ? RuntimeMethodHandle.fromJS(_data[\"methodHandle\"]) : undefined;\r\n (this).isSecurityCritical = _data[\"isSecurityCritical\"];\r\n (this).isSecuritySafeCritical = _data[\"isSecuritySafeCritical\"];\r\n (this).isSecurityTransparent = _data[\"isSecurityTransparent\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MethodBase {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MethodBase();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberType\"] = this.memberType;\r\n data[\"name\"] = this.name;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"methodImplementationFlags\"] = this.methodImplementationFlags;\r\n data[\"callingConvention\"] = this.callingConvention;\r\n data[\"isAbstract\"] = this.isAbstract;\r\n data[\"isConstructor\"] = this.isConstructor;\r\n data[\"isFinal\"] = this.isFinal;\r\n data[\"isHideBySig\"] = this.isHideBySig;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"isStatic\"] = this.isStatic;\r\n data[\"isVirtual\"] = this.isVirtual;\r\n data[\"isAssembly\"] = this.isAssembly;\r\n data[\"isFamily\"] = this.isFamily;\r\n data[\"isFamilyAndAssembly\"] = this.isFamilyAndAssembly;\r\n data[\"isFamilyOrAssembly\"] = this.isFamilyOrAssembly;\r\n data[\"isPrivate\"] = this.isPrivate;\r\n data[\"isPublic\"] = this.isPublic;\r\n data[\"isConstructedGenericMethod\"] = this.isConstructedGenericMethod;\r\n data[\"isGenericMethod\"] = this.isGenericMethod;\r\n data[\"isGenericMethodDefinition\"] = this.isGenericMethodDefinition;\r\n data[\"containsGenericParameters\"] = this.containsGenericParameters;\r\n data[\"methodHandle\"] = this.methodHandle ? this.methodHandle.toJSON() : undefined;\r\n data[\"isSecurityCritical\"] = this.isSecurityCritical;\r\n data[\"isSecuritySafeCritical\"] = this.isSecuritySafeCritical;\r\n data[\"isSecurityTransparent\"] = this.isSecurityTransparent;\r\n return data;\r\n }\r\n\r\n clone(): MethodBase {\r\n const json = this.toJSON();\r\n let result = new MethodBase();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IMethodBase {\r\n memberType?: MemberTypes;\r\n name?: string | undefined;\r\n declaringType?: IType;\r\n reflectedType?: IType;\r\n module?: IModule;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n attributes?: MethodAttributes;\r\n methodImplementationFlags?: MethodImplAttributes;\r\n callingConvention?: CallingConventions;\r\n isAbstract?: boolean;\r\n isConstructor?: boolean;\r\n isFinal?: boolean;\r\n isHideBySig?: boolean;\r\n isSpecialName?: boolean;\r\n isStatic?: boolean;\r\n isVirtual?: boolean;\r\n isAssembly?: boolean;\r\n isFamily?: boolean;\r\n isFamilyAndAssembly?: boolean;\r\n isFamilyOrAssembly?: boolean;\r\n isPrivate?: boolean;\r\n isPublic?: boolean;\r\n isConstructedGenericMethod?: boolean;\r\n isGenericMethod?: boolean;\r\n isGenericMethodDefinition?: boolean;\r\n containsGenericParameters?: boolean;\r\n methodHandle?: IRuntimeMethodHandle;\r\n isSecurityCritical?: boolean;\r\n isSecuritySafeCritical?: boolean;\r\n isSecurityTransparent?: boolean;\r\n}\r\n\r\nexport enum MethodImplAttributes {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _8 = 8,\r\n _16 = 16,\r\n _32 = 32,\r\n _64 = 64,\r\n _128 = 128,\r\n _256 = 256,\r\n _512 = 512,\r\n _4096 = 4096,\r\n _65535 = 65535,\r\n}\r\n\r\nexport class MethodInfo implements IMethodInfo {\r\n readonly name?: string | undefined;\r\n declaringType?: Type;\r\n reflectedType?: Type;\r\n module?: Module;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n attributes?: MethodAttributes;\r\n methodImplementationFlags?: MethodImplAttributes;\r\n callingConvention?: CallingConventions;\r\n readonly isAbstract?: boolean;\r\n readonly isConstructor?: boolean;\r\n readonly isFinal?: boolean;\r\n readonly isHideBySig?: boolean;\r\n readonly isSpecialName?: boolean;\r\n readonly isStatic?: boolean;\r\n readonly isVirtual?: boolean;\r\n readonly isAssembly?: boolean;\r\n readonly isFamily?: boolean;\r\n readonly isFamilyAndAssembly?: boolean;\r\n readonly isFamilyOrAssembly?: boolean;\r\n readonly isPrivate?: boolean;\r\n readonly isPublic?: boolean;\r\n readonly isConstructedGenericMethod?: boolean;\r\n readonly isGenericMethod?: boolean;\r\n readonly isGenericMethodDefinition?: boolean;\r\n readonly containsGenericParameters?: boolean;\r\n methodHandle?: RuntimeMethodHandle;\r\n readonly isSecurityCritical?: boolean;\r\n readonly isSecuritySafeCritical?: boolean;\r\n readonly isSecurityTransparent?: boolean;\r\n memberType?: MemberTypes;\r\n returnParameter?: ParameterInfo;\r\n returnType?: Type;\r\n returnTypeCustomAttributes?: ICustomAttributeProvider;\r\n\r\n constructor(data?: IMethodInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType;\r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType;\r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module;\r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.methodHandle = data.methodHandle && !(data.methodHandle).toJSON ? new RuntimeMethodHandle(data.methodHandle) : this.methodHandle;\r\n this.returnParameter = data.returnParameter && !(data.returnParameter).toJSON ? new ParameterInfo(data.returnParameter) : this.returnParameter;\r\n this.returnType = data.returnType && !(data.returnType).toJSON ? new Type(data.returnType) : this.returnType;\r\n this.returnTypeCustomAttributes = data.returnTypeCustomAttributes && !(data.returnTypeCustomAttributes).toJSON ? new ICustomAttributeProvider(data.returnTypeCustomAttributes) : this.returnTypeCustomAttributes;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n this.attributes = _data[\"attributes\"];\r\n this.methodImplementationFlags = _data[\"methodImplementationFlags\"];\r\n this.callingConvention = _data[\"callingConvention\"];\r\n (this).isAbstract = _data[\"isAbstract\"];\r\n (this).isConstructor = _data[\"isConstructor\"];\r\n (this).isFinal = _data[\"isFinal\"];\r\n (this).isHideBySig = _data[\"isHideBySig\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n (this).isStatic = _data[\"isStatic\"];\r\n (this).isVirtual = _data[\"isVirtual\"];\r\n (this).isAssembly = _data[\"isAssembly\"];\r\n (this).isFamily = _data[\"isFamily\"];\r\n (this).isFamilyAndAssembly = _data[\"isFamilyAndAssembly\"];\r\n (this).isFamilyOrAssembly = _data[\"isFamilyOrAssembly\"];\r\n (this).isPrivate = _data[\"isPrivate\"];\r\n (this).isPublic = _data[\"isPublic\"];\r\n (this).isConstructedGenericMethod = _data[\"isConstructedGenericMethod\"];\r\n (this).isGenericMethod = _data[\"isGenericMethod\"];\r\n (this).isGenericMethodDefinition = _data[\"isGenericMethodDefinition\"];\r\n (this).containsGenericParameters = _data[\"containsGenericParameters\"];\r\n this.methodHandle = _data[\"methodHandle\"] ? RuntimeMethodHandle.fromJS(_data[\"methodHandle\"]) : undefined;\r\n (this).isSecurityCritical = _data[\"isSecurityCritical\"];\r\n (this).isSecuritySafeCritical = _data[\"isSecuritySafeCritical\"];\r\n (this).isSecurityTransparent = _data[\"isSecurityTransparent\"];\r\n this.memberType = _data[\"memberType\"];\r\n this.returnParameter = _data[\"returnParameter\"] ? ParameterInfo.fromJS(_data[\"returnParameter\"]) : undefined;\r\n this.returnType = _data[\"returnType\"] ? Type.fromJS(_data[\"returnType\"]) : undefined;\r\n this.returnTypeCustomAttributes = _data[\"returnTypeCustomAttributes\"] ? ICustomAttributeProvider.fromJS(_data[\"returnTypeCustomAttributes\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): MethodInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MethodInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"methodImplementationFlags\"] = this.methodImplementationFlags;\r\n data[\"callingConvention\"] = this.callingConvention;\r\n data[\"isAbstract\"] = this.isAbstract;\r\n data[\"isConstructor\"] = this.isConstructor;\r\n data[\"isFinal\"] = this.isFinal;\r\n data[\"isHideBySig\"] = this.isHideBySig;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"isStatic\"] = this.isStatic;\r\n data[\"isVirtual\"] = this.isVirtual;\r\n data[\"isAssembly\"] = this.isAssembly;\r\n data[\"isFamily\"] = this.isFamily;\r\n data[\"isFamilyAndAssembly\"] = this.isFamilyAndAssembly;\r\n data[\"isFamilyOrAssembly\"] = this.isFamilyOrAssembly;\r\n data[\"isPrivate\"] = this.isPrivate;\r\n data[\"isPublic\"] = this.isPublic;\r\n data[\"isConstructedGenericMethod\"] = this.isConstructedGenericMethod;\r\n data[\"isGenericMethod\"] = this.isGenericMethod;\r\n data[\"isGenericMethodDefinition\"] = this.isGenericMethodDefinition;\r\n data[\"containsGenericParameters\"] = this.containsGenericParameters;\r\n data[\"methodHandle\"] = this.methodHandle ? this.methodHandle.toJSON() : undefined;\r\n data[\"isSecurityCritical\"] = this.isSecurityCritical;\r\n data[\"isSecuritySafeCritical\"] = this.isSecuritySafeCritical;\r\n data[\"isSecurityTransparent\"] = this.isSecurityTransparent;\r\n data[\"memberType\"] = this.memberType;\r\n data[\"returnParameter\"] = this.returnParameter ? this.returnParameter.toJSON() : undefined;\r\n data[\"returnType\"] = this.returnType ? this.returnType.toJSON() : undefined;\r\n data[\"returnTypeCustomAttributes\"] = this.returnTypeCustomAttributes ? this.returnTypeCustomAttributes.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): MethodInfo {\r\n const json = this.toJSON();\r\n let result = new MethodInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IMethodInfo {\r\n name?: string | undefined;\r\n declaringType?: IType;\r\n reflectedType?: IType;\r\n module?: IModule;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n attributes?: MethodAttributes;\r\n methodImplementationFlags?: MethodImplAttributes;\r\n callingConvention?: CallingConventions;\r\n isAbstract?: boolean;\r\n isConstructor?: boolean;\r\n isFinal?: boolean;\r\n isHideBySig?: boolean;\r\n isSpecialName?: boolean;\r\n isStatic?: boolean;\r\n isVirtual?: boolean;\r\n isAssembly?: boolean;\r\n isFamily?: boolean;\r\n isFamilyAndAssembly?: boolean;\r\n isFamilyOrAssembly?: boolean;\r\n isPrivate?: boolean;\r\n isPublic?: boolean;\r\n isConstructedGenericMethod?: boolean;\r\n isGenericMethod?: boolean;\r\n isGenericMethodDefinition?: boolean;\r\n containsGenericParameters?: boolean;\r\n methodHandle?: IRuntimeMethodHandle;\r\n isSecurityCritical?: boolean;\r\n isSecuritySafeCritical?: boolean;\r\n isSecurityTransparent?: boolean;\r\n memberType?: MemberTypes;\r\n returnParameter?: IParameterInfo;\r\n returnType?: IType;\r\n returnTypeCustomAttributes?: IICustomAttributeProvider;\r\n}\r\n\r\nexport class Module implements IModule {\r\n assembly?: Assembly;\r\n readonly fullyQualifiedName?: string | undefined;\r\n readonly name?: string | undefined;\r\n readonly mdStreamVersion?: number;\r\n readonly moduleVersionId?: string;\r\n readonly scopeName?: string | undefined;\r\n moduleHandle?: ModuleHandle;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly metadataToken?: number;\r\n\r\n constructor(data?: IModule) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.assembly = data.assembly && !(data.assembly).toJSON ? new Assembly(data.assembly) : this.assembly;\r\n this.moduleHandle = data.moduleHandle && !(data.moduleHandle).toJSON ? new ModuleHandle(data.moduleHandle) : this.moduleHandle;\r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.assembly = _data[\"assembly\"] ? Assembly.fromJS(_data[\"assembly\"]) : undefined;\r\n (this).fullyQualifiedName = _data[\"fullyQualifiedName\"];\r\n (this).name = _data[\"name\"];\r\n (this).mdStreamVersion = _data[\"mdStreamVersion\"];\r\n (this).moduleVersionId = _data[\"moduleVersionId\"];\r\n (this).scopeName = _data[\"scopeName\"];\r\n this.moduleHandle = _data[\"moduleHandle\"] ? ModuleHandle.fromJS(_data[\"moduleHandle\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Module {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Module();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"assembly\"] = this.assembly ? this.assembly.toJSON() : undefined;\r\n data[\"fullyQualifiedName\"] = this.fullyQualifiedName;\r\n data[\"name\"] = this.name;\r\n data[\"mdStreamVersion\"] = this.mdStreamVersion;\r\n data[\"moduleVersionId\"] = this.moduleVersionId;\r\n data[\"scopeName\"] = this.scopeName;\r\n data[\"moduleHandle\"] = this.moduleHandle ? this.moduleHandle.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"metadataToken\"] = this.metadataToken;\r\n return data;\r\n }\r\n\r\n clone(): Module {\r\n const json = this.toJSON();\r\n let result = new Module();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IModule {\r\n assembly?: IAssembly;\r\n fullyQualifiedName?: string | undefined;\r\n name?: string | undefined;\r\n mdStreamVersion?: number;\r\n moduleVersionId?: string;\r\n scopeName?: string | undefined;\r\n moduleHandle?: IModuleHandle;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n metadataToken?: number;\r\n}\r\n\r\nexport class ModuleHandle implements IModuleHandle {\r\n readonly mdStreamVersion?: number;\r\n\r\n constructor(data?: IModuleHandle) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).mdStreamVersion = _data[\"mdStreamVersion\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ModuleHandle {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ModuleHandle();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"mdStreamVersion\"] = this.mdStreamVersion;\r\n return data;\r\n }\r\n\r\n clone(): ModuleHandle {\r\n const json = this.toJSON();\r\n let result = new ModuleHandle();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IModuleHandle {\r\n mdStreamVersion?: number;\r\n}\r\n\r\nexport class MotelRoomMobileModel implements IMotelRoomMobileModel {\r\n id?: number | undefined;\r\n motelId?: number | undefined;\r\n roomName?: string | undefined;\r\n amount?: number | undefined;\r\n floor?: number | undefined;\r\n area?: number | undefined;\r\n price?: number | undefined;\r\n status?: number | undefined;\r\n statusName?: string | undefined;\r\n activity?: boolean | undefined;\r\n activityName?: string | undefined;\r\n img1?: string | undefined;\r\n img2?: string | undefined;\r\n img3?: string | undefined;\r\n startDate?: Date | undefined;\r\n maxAmount?: number | undefined;\r\n leftAmount?: number | undefined;\r\n moTa?: string | undefined;\r\n\r\n constructor(data?: IMotelRoomMobileModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.motelId = _data[\"motelId\"];\r\n this.roomName = _data[\"roomName\"];\r\n this.amount = _data[\"amount\"];\r\n this.floor = _data[\"floor\"];\r\n this.area = _data[\"area\"];\r\n this.price = _data[\"price\"];\r\n this.status = _data[\"status\"];\r\n this.statusName = _data[\"statusName\"];\r\n this.activity = _data[\"activity\"];\r\n this.activityName = _data[\"activityName\"];\r\n this.img1 = _data[\"img1\"];\r\n this.img2 = _data[\"img2\"];\r\n this.img3 = _data[\"img3\"];\r\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\r\n this.maxAmount = _data[\"maxAmount\"];\r\n this.leftAmount = _data[\"leftAmount\"];\r\n this.moTa = _data[\"moTa\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MotelRoomMobileModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MotelRoomMobileModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"motelId\"] = this.motelId;\r\n data[\"roomName\"] = this.roomName;\r\n data[\"amount\"] = this.amount;\r\n data[\"floor\"] = this.floor;\r\n data[\"area\"] = this.area;\r\n data[\"price\"] = this.price;\r\n data[\"status\"] = this.status;\r\n data[\"statusName\"] = this.statusName;\r\n data[\"activity\"] = this.activity;\r\n data[\"activityName\"] = this.activityName;\r\n data[\"img1\"] = this.img1;\r\n data[\"img2\"] = this.img2;\r\n data[\"img3\"] = this.img3;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"maxAmount\"] = this.maxAmount;\r\n data[\"leftAmount\"] = this.leftAmount;\r\n data[\"moTa\"] = this.moTa;\r\n return data;\r\n }\r\n\r\n clone(): MotelRoomMobileModel {\r\n const json = this.toJSON();\r\n let result = new MotelRoomMobileModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IMotelRoomMobileModel {\r\n id?: number | undefined;\r\n motelId?: number | undefined;\r\n roomName?: string | undefined;\r\n amount?: number | undefined;\r\n floor?: number | undefined;\r\n area?: number | undefined;\r\n price?: number | undefined;\r\n status?: number | undefined;\r\n statusName?: string | undefined;\r\n activity?: boolean | undefined;\r\n activityName?: string | undefined;\r\n img1?: string | undefined;\r\n img2?: string | undefined;\r\n img3?: string | undefined;\r\n startDate?: Date | undefined;\r\n maxAmount?: number | undefined;\r\n leftAmount?: number | undefined;\r\n moTa?: string | undefined;\r\n}\r\n\r\nexport class MotelRoomMobileModelIEnumerableApiResponse implements IMotelRoomMobileModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: MotelRoomMobileModel[] | undefined;\r\n\r\n constructor(data?: IMotelRoomMobileModelIEnumerableApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new MotelRoomMobileModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(MotelRoomMobileModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): MotelRoomMobileModelIEnumerableApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MotelRoomMobileModelIEnumerableApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): MotelRoomMobileModelIEnumerableApiResponse {\r\n const json = this.toJSON();\r\n let result = new MotelRoomMobileModelIEnumerableApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IMotelRoomMobileModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IMotelRoomMobileModel[] | undefined;\r\n}\r\n\r\nexport class MotelRoomMobileModelIEnumerablePageModelView implements IMotelRoomMobileModelIEnumerablePageModelView {\r\n data?: MotelRoomMobileModel[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IMotelRoomMobileModelIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new MotelRoomMobileModel(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(MotelRoomMobileModel.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MotelRoomMobileModelIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MotelRoomMobileModelIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): MotelRoomMobileModelIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new MotelRoomMobileModelIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IMotelRoomMobileModelIEnumerablePageModelView {\r\n data?: IMotelRoomMobileModel[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class MotelRoomMobileModelIEnumerablePageModelViewApiResponse implements IMotelRoomMobileModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: MotelRoomMobileModelIEnumerablePageModelView;\r\n\r\n constructor(data?: IMotelRoomMobileModelIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new MotelRoomMobileModelIEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? MotelRoomMobileModelIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): MotelRoomMobileModelIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MotelRoomMobileModelIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): MotelRoomMobileModelIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new MotelRoomMobileModelIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IMotelRoomMobileModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IMotelRoomMobileModelIEnumerablePageModelView;\r\n}\r\n\r\nexport class NguoiThue_Dichvu_Model implements INguoiThue_Dichvu_Model {\r\n idPhong?: number;\r\n idHD?: number;\r\n idnhatro?: number;\r\n tiencoc?: number | undefined;\r\n kythanhtoan?: number | undefined;\r\n dgthuephong?: number | undefined;\r\n dgdien?: number | undefined;\r\n dgnuoc?: number | undefined;\r\n chotsodien?: number | undefined;\r\n chotsonuoc?: number | undefined;\r\n dmdvgia?: Dmdvgia[] | undefined;\r\n\r\n constructor(data?: INguoiThue_Dichvu_Model) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.dmdvgia) {\r\n this.dmdvgia = [];\r\n for (let i = 0; i < data.dmdvgia.length; i++) {\r\n let item = data.dmdvgia[i];\r\n this.dmdvgia[i] = item && !(item).toJSON ? new Dmdvgia(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.idPhong = _data[\"idPhong\"];\r\n this.idHD = _data[\"idHD\"];\r\n this.idnhatro = _data[\"idnhatro\"];\r\n this.tiencoc = _data[\"tiencoc\"];\r\n this.kythanhtoan = _data[\"kythanhtoan\"];\r\n this.dgthuephong = _data[\"dgthuephong\"];\r\n this.dgdien = _data[\"dgdien\"];\r\n this.dgnuoc = _data[\"dgnuoc\"];\r\n this.chotsodien = _data[\"chotsodien\"];\r\n this.chotsonuoc = _data[\"chotsonuoc\"];\r\n if (Array.isArray(_data[\"dmdvgia\"])) {\r\n this.dmdvgia = [] as any;\r\n for (let item of _data[\"dmdvgia\"])\r\n this.dmdvgia!.push(Dmdvgia.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): NguoiThue_Dichvu_Model {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NguoiThue_Dichvu_Model();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"idPhong\"] = this.idPhong;\r\n data[\"idHD\"] = this.idHD;\r\n data[\"idnhatro\"] = this.idnhatro;\r\n data[\"tiencoc\"] = this.tiencoc;\r\n data[\"kythanhtoan\"] = this.kythanhtoan;\r\n data[\"dgthuephong\"] = this.dgthuephong;\r\n data[\"dgdien\"] = this.dgdien;\r\n data[\"dgnuoc\"] = this.dgnuoc;\r\n data[\"chotsodien\"] = this.chotsodien;\r\n data[\"chotsonuoc\"] = this.chotsonuoc;\r\n if (Array.isArray(this.dmdvgia)) {\r\n data[\"dmdvgia\"] = [];\r\n for (let item of this.dmdvgia)\r\n data[\"dmdvgia\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): NguoiThue_Dichvu_Model {\r\n const json = this.toJSON();\r\n let result = new NguoiThue_Dichvu_Model();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INguoiThue_Dichvu_Model {\r\n idPhong?: number;\r\n idHD?: number;\r\n idnhatro?: number;\r\n tiencoc?: number | undefined;\r\n kythanhtoan?: number | undefined;\r\n dgthuephong?: number | undefined;\r\n dgdien?: number | undefined;\r\n dgnuoc?: number | undefined;\r\n chotsodien?: number | undefined;\r\n chotsonuoc?: number | undefined;\r\n dmdvgia?: IDmdvgia[] | undefined;\r\n}\r\n\r\nexport class NguoiThue_Dichvu_ModelApiResponse implements INguoiThue_Dichvu_ModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: NguoiThue_Dichvu_Model;\r\n\r\n constructor(data?: INguoiThue_Dichvu_ModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new NguoiThue_Dichvu_Model(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? NguoiThue_Dichvu_Model.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): NguoiThue_Dichvu_ModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NguoiThue_Dichvu_ModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): NguoiThue_Dichvu_ModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new NguoiThue_Dichvu_ModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INguoiThue_Dichvu_ModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: INguoiThue_Dichvu_Model;\r\n}\r\n\r\nexport class NguoiThue_ktcccd implements INguoiThue_ktcccd {\r\n id?: number;\r\n anhchandung?: string | undefined;\r\n cccdMattruoc?: string | undefined;\r\n cccdMatsau?: string | undefined;\r\n hoten?: string | undefined;\r\n ngaysinh?: Date | undefined;\r\n cccd?: string | undefined;\r\n nghenghiep?: number | undefined;\r\n noicongtac?: string | undefined;\r\n dienthoai?: string | undefined;\r\n gioitinh?: number | undefined;\r\n dantoc?: string | undefined;\r\n hktt?: string | undefined;\r\n tenLoai?: string | undefined;\r\n listlichsuthue?: Lichsuthuetro[] | undefined;\r\n\r\n constructor(data?: INguoiThue_ktcccd) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.listlichsuthue) {\r\n this.listlichsuthue = [];\r\n for (let i = 0; i < data.listlichsuthue.length; i++) {\r\n let item = data.listlichsuthue[i];\r\n this.listlichsuthue[i] = item && !(item).toJSON ? new Lichsuthuetro(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.anhchandung = _data[\"anhchandung\"];\r\n this.cccdMattruoc = _data[\"cccdMattruoc\"];\r\n this.cccdMatsau = _data[\"cccdMatsau\"];\r\n this.hoten = _data[\"hoten\"];\r\n this.ngaysinh = _data[\"ngaysinh\"] ? new Date(_data[\"ngaysinh\"].toString()) : undefined;\r\n this.cccd = _data[\"cccd\"];\r\n this.nghenghiep = _data[\"nghenghiep\"];\r\n this.noicongtac = _data[\"noicongtac\"];\r\n this.dienthoai = _data[\"dienthoai\"];\r\n this.gioitinh = _data[\"gioitinh\"];\r\n this.dantoc = _data[\"dantoc\"];\r\n this.hktt = _data[\"hktt\"];\r\n this.tenLoai = _data[\"tenLoai\"];\r\n if (Array.isArray(_data[\"listlichsuthue\"])) {\r\n this.listlichsuthue = [] as any;\r\n for (let item of _data[\"listlichsuthue\"])\r\n this.listlichsuthue!.push(Lichsuthuetro.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): NguoiThue_ktcccd {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NguoiThue_ktcccd();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"anhchandung\"] = this.anhchandung;\r\n data[\"cccdMattruoc\"] = this.cccdMattruoc;\r\n data[\"cccdMatsau\"] = this.cccdMatsau;\r\n data[\"hoten\"] = this.hoten;\r\n data[\"ngaysinh\"] = this.ngaysinh ? this.ngaysinh.toISOString() : undefined;\r\n data[\"cccd\"] = this.cccd;\r\n data[\"nghenghiep\"] = this.nghenghiep;\r\n data[\"noicongtac\"] = this.noicongtac;\r\n data[\"dienthoai\"] = this.dienthoai;\r\n data[\"gioitinh\"] = this.gioitinh;\r\n data[\"dantoc\"] = this.dantoc;\r\n data[\"hktt\"] = this.hktt;\r\n data[\"tenLoai\"] = this.tenLoai;\r\n if (Array.isArray(this.listlichsuthue)) {\r\n data[\"listlichsuthue\"] = [];\r\n for (let item of this.listlichsuthue)\r\n data[\"listlichsuthue\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): NguoiThue_ktcccd {\r\n const json = this.toJSON();\r\n let result = new NguoiThue_ktcccd();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INguoiThue_ktcccd {\r\n id?: number;\r\n anhchandung?: string | undefined;\r\n cccdMattruoc?: string | undefined;\r\n cccdMatsau?: string | undefined;\r\n hoten?: string | undefined;\r\n ngaysinh?: Date | undefined;\r\n cccd?: string | undefined;\r\n nghenghiep?: number | undefined;\r\n noicongtac?: string | undefined;\r\n dienthoai?: string | undefined;\r\n gioitinh?: number | undefined;\r\n dantoc?: string | undefined;\r\n hktt?: string | undefined;\r\n tenLoai?: string | undefined;\r\n listlichsuthue?: ILichsuthuetro[] | undefined;\r\n}\r\n\r\nexport class NguoiThue_ktcccdApiResponse implements INguoiThue_ktcccdApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: NguoiThue_ktcccd;\r\n\r\n constructor(data?: INguoiThue_ktcccdApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new NguoiThue_ktcccd(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? NguoiThue_ktcccd.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): NguoiThue_ktcccdApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NguoiThue_ktcccdApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): NguoiThue_ktcccdApiResponse {\r\n const json = this.toJSON();\r\n let result = new NguoiThue_ktcccdApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INguoiThue_ktcccdApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: INguoiThue_ktcccd;\r\n}\r\n\r\nexport class NguoiThue_phong_Model implements INguoiThue_phong_Model {\r\n id?: number;\r\n idnguoithue?: number;\r\n idphong?: number;\r\n trangthai?: number;\r\n ngayTao?: Date;\r\n thoiGianThue?: number;\r\n ngayDangKyTamTru?: Date;\r\n\r\n constructor(data?: INguoiThue_phong_Model) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.idnguoithue = _data[\"idnguoithue\"];\r\n this.idphong = _data[\"idphong\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.ngayTao = _data[\"ngayTao\"] ? new Date(_data[\"ngayTao\"].toString()) : undefined;\r\n this.thoiGianThue = _data[\"thoiGianThue\"];\r\n this.ngayDangKyTamTru = _data[\"ngayDangKyTamTru\"] ? new Date(_data[\"ngayDangKyTamTru\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): NguoiThue_phong_Model {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NguoiThue_phong_Model();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"idnguoithue\"] = this.idnguoithue;\r\n data[\"idphong\"] = this.idphong;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"ngayTao\"] = this.ngayTao ? this.ngayTao.toISOString() : undefined;\r\n data[\"thoiGianThue\"] = this.thoiGianThue;\r\n data[\"ngayDangKyTamTru\"] = this.ngayDangKyTamTru ? this.ngayDangKyTamTru.toISOString() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): NguoiThue_phong_Model {\r\n const json = this.toJSON();\r\n let result = new NguoiThue_phong_Model();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INguoiThue_phong_Model {\r\n id?: number;\r\n idnguoithue?: number;\r\n idphong?: number;\r\n trangthai?: number;\r\n ngayTao?: Date;\r\n thoiGianThue?: number;\r\n ngayDangKyTamTru?: Date;\r\n}\r\n\r\nexport class NguoithueEntity implements INguoithueEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n anhchandung?: string | undefined;\r\n cccd?: string | undefined;\r\n cccdMatsau?: string | undefined;\r\n cccdMattruoc?: string | undefined;\r\n cccdNgaycap?: Date | undefined;\r\n cccdNoicap?: string | undefined;\r\n congtyid?: number | undefined;\r\n dangkytamtrutamvang?: boolean | undefined;\r\n dantoc?: string | undefined;\r\n diachi?: string | undefined;\r\n dienthoai?: string | undefined;\r\n dienthoainguoithan?: string | undefined;\r\n email?: string | undefined;\r\n gioitinh?: number | undefined;\r\n hinhanh?: string | undefined;\r\n hoten?: string | undefined;\r\n id?: number;\r\n iddantoc?: number | undefined;\r\n idnhatro?: number | undefined;\r\n keysearch?: string | undefined;\r\n lydotamtru?: string | undefined;\r\n madiabankey?: string | undefined;\r\n mahuyen?: string | undefined;\r\n maphongGannhat?: number | undefined;\r\n matinh?: string | undefined;\r\n maxa?: string | undefined;\r\n ngaybatdauthue?: Date | undefined;\r\n ngaydangkytamtruGannhat?: Date | undefined;\r\n ngaynhanphongGannhat?: Date | undefined;\r\n ngaysinh?: Date | undefined;\r\n nghenghiep?: number | undefined;\r\n nghenghiepkhac?: string | undefined;\r\n noicongtac?: string | undefined;\r\n password?: string | undefined;\r\n quoctich?: string | undefined;\r\n registersstatus?: number | undefined;\r\n tamtruden?: Date | undefined;\r\n tamtrutu?: Date | undefined;\r\n tengnuoithan?: string | undefined;\r\n tenphongGannhat?: string | undefined;\r\n thoigianthue?: number | undefined;\r\n thon?: string | undefined;\r\n thongtinthemtttv?: string | undefined;\r\n tongiao?: string | undefined;\r\n trangthai?: number | undefined;\r\n\r\n constructor(data?: INguoithueEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.anhchandung = _data[\"anhchandung\"];\r\n this.cccd = _data[\"cccd\"];\r\n this.cccdMatsau = _data[\"cccdMatsau\"];\r\n this.cccdMattruoc = _data[\"cccdMattruoc\"];\r\n this.cccdNgaycap = _data[\"cccdNgaycap\"] ? new Date(_data[\"cccdNgaycap\"].toString()) : undefined;\r\n this.cccdNoicap = _data[\"cccdNoicap\"];\r\n this.congtyid = _data[\"congtyid\"];\r\n this.dangkytamtrutamvang = _data[\"dangkytamtrutamvang\"];\r\n this.dantoc = _data[\"dantoc\"];\r\n this.diachi = _data[\"diachi\"];\r\n this.dienthoai = _data[\"dienthoai\"];\r\n this.dienthoainguoithan = _data[\"dienthoainguoithan\"];\r\n this.email = _data[\"email\"];\r\n this.gioitinh = _data[\"gioitinh\"];\r\n this.hinhanh = _data[\"hinhanh\"];\r\n this.hoten = _data[\"hoten\"];\r\n this.id = _data[\"id\"];\r\n this.iddantoc = _data[\"iddantoc\"];\r\n this.idnhatro = _data[\"idnhatro\"];\r\n this.keysearch = _data[\"keysearch\"];\r\n this.lydotamtru = _data[\"lydotamtru\"];\r\n this.madiabankey = _data[\"madiabankey\"];\r\n this.mahuyen = _data[\"mahuyen\"];\r\n this.maphongGannhat = _data[\"maphongGannhat\"];\r\n this.matinh = _data[\"matinh\"];\r\n this.maxa = _data[\"maxa\"];\r\n this.ngaybatdauthue = _data[\"ngaybatdauthue\"] ? new Date(_data[\"ngaybatdauthue\"].toString()) : undefined;\r\n this.ngaydangkytamtruGannhat = _data[\"ngaydangkytamtruGannhat\"] ? new Date(_data[\"ngaydangkytamtruGannhat\"].toString()) : undefined;\r\n this.ngaynhanphongGannhat = _data[\"ngaynhanphongGannhat\"] ? new Date(_data[\"ngaynhanphongGannhat\"].toString()) : undefined;\r\n this.ngaysinh = _data[\"ngaysinh\"] ? new Date(_data[\"ngaysinh\"].toString()) : undefined;\r\n this.nghenghiep = _data[\"nghenghiep\"];\r\n this.nghenghiepkhac = _data[\"nghenghiepkhac\"];\r\n this.noicongtac = _data[\"noicongtac\"];\r\n this.password = _data[\"password\"];\r\n this.quoctich = _data[\"quoctich\"];\r\n this.registersstatus = _data[\"registersstatus\"];\r\n this.tamtruden = _data[\"tamtruden\"] ? new Date(_data[\"tamtruden\"].toString()) : undefined;\r\n this.tamtrutu = _data[\"tamtrutu\"] ? new Date(_data[\"tamtrutu\"].toString()) : undefined;\r\n this.tengnuoithan = _data[\"tengnuoithan\"];\r\n this.tenphongGannhat = _data[\"tenphongGannhat\"];\r\n this.thoigianthue = _data[\"thoigianthue\"];\r\n this.thon = _data[\"thon\"];\r\n this.thongtinthemtttv = _data[\"thongtinthemtttv\"];\r\n this.tongiao = _data[\"tongiao\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NguoithueEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NguoithueEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"anhchandung\"] = this.anhchandung;\r\n data[\"cccd\"] = this.cccd;\r\n data[\"cccdMatsau\"] = this.cccdMatsau;\r\n data[\"cccdMattruoc\"] = this.cccdMattruoc;\r\n data[\"cccdNgaycap\"] = this.cccdNgaycap ? this.cccdNgaycap.toISOString() : undefined;\r\n data[\"cccdNoicap\"] = this.cccdNoicap;\r\n data[\"congtyid\"] = this.congtyid;\r\n data[\"dangkytamtrutamvang\"] = this.dangkytamtrutamvang;\r\n data[\"dantoc\"] = this.dantoc;\r\n data[\"diachi\"] = this.diachi;\r\n data[\"dienthoai\"] = this.dienthoai;\r\n data[\"dienthoainguoithan\"] = this.dienthoainguoithan;\r\n data[\"email\"] = this.email;\r\n data[\"gioitinh\"] = this.gioitinh;\r\n data[\"hinhanh\"] = this.hinhanh;\r\n data[\"hoten\"] = this.hoten;\r\n data[\"id\"] = this.id;\r\n data[\"iddantoc\"] = this.iddantoc;\r\n data[\"idnhatro\"] = this.idnhatro;\r\n data[\"keysearch\"] = this.keysearch;\r\n data[\"lydotamtru\"] = this.lydotamtru;\r\n data[\"madiabankey\"] = this.madiabankey;\r\n data[\"mahuyen\"] = this.mahuyen;\r\n data[\"maphongGannhat\"] = this.maphongGannhat;\r\n data[\"matinh\"] = this.matinh;\r\n data[\"maxa\"] = this.maxa;\r\n data[\"ngaybatdauthue\"] = this.ngaybatdauthue ? this.ngaybatdauthue.toISOString() : undefined;\r\n data[\"ngaydangkytamtruGannhat\"] = this.ngaydangkytamtruGannhat ? this.ngaydangkytamtruGannhat.toISOString() : undefined;\r\n data[\"ngaynhanphongGannhat\"] = this.ngaynhanphongGannhat ? this.ngaynhanphongGannhat.toISOString() : undefined;\r\n data[\"ngaysinh\"] = this.ngaysinh ? this.ngaysinh.toISOString() : undefined;\r\n data[\"nghenghiep\"] = this.nghenghiep;\r\n data[\"nghenghiepkhac\"] = this.nghenghiepkhac;\r\n data[\"noicongtac\"] = this.noicongtac;\r\n data[\"password\"] = this.password;\r\n data[\"quoctich\"] = this.quoctich;\r\n data[\"registersstatus\"] = this.registersstatus;\r\n data[\"tamtruden\"] = this.tamtruden ? this.tamtruden.toISOString() : undefined;\r\n data[\"tamtrutu\"] = this.tamtrutu ? this.tamtrutu.toISOString() : undefined;\r\n data[\"tengnuoithan\"] = this.tengnuoithan;\r\n data[\"tenphongGannhat\"] = this.tenphongGannhat;\r\n data[\"thoigianthue\"] = this.thoigianthue;\r\n data[\"thon\"] = this.thon;\r\n data[\"thongtinthemtttv\"] = this.thongtinthemtttv;\r\n data[\"tongiao\"] = this.tongiao;\r\n data[\"trangthai\"] = this.trangthai;\r\n return data;\r\n }\r\n\r\n clone(): NguoithueEntity {\r\n const json = this.toJSON();\r\n let result = new NguoithueEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INguoithueEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n anhchandung?: string | undefined;\r\n cccd?: string | undefined;\r\n cccdMatsau?: string | undefined;\r\n cccdMattruoc?: string | undefined;\r\n cccdNgaycap?: Date | undefined;\r\n cccdNoicap?: string | undefined;\r\n congtyid?: number | undefined;\r\n dangkytamtrutamvang?: boolean | undefined;\r\n dantoc?: string | undefined;\r\n diachi?: string | undefined;\r\n dienthoai?: string | undefined;\r\n dienthoainguoithan?: string | undefined;\r\n email?: string | undefined;\r\n gioitinh?: number | undefined;\r\n hinhanh?: string | undefined;\r\n hoten?: string | undefined;\r\n id?: number;\r\n iddantoc?: number | undefined;\r\n idnhatro?: number | undefined;\r\n keysearch?: string | undefined;\r\n lydotamtru?: string | undefined;\r\n madiabankey?: string | undefined;\r\n mahuyen?: string | undefined;\r\n maphongGannhat?: number | undefined;\r\n matinh?: string | undefined;\r\n maxa?: string | undefined;\r\n ngaybatdauthue?: Date | undefined;\r\n ngaydangkytamtruGannhat?: Date | undefined;\r\n ngaynhanphongGannhat?: Date | undefined;\r\n ngaysinh?: Date | undefined;\r\n nghenghiep?: number | undefined;\r\n nghenghiepkhac?: string | undefined;\r\n noicongtac?: string | undefined;\r\n password?: string | undefined;\r\n quoctich?: string | undefined;\r\n registersstatus?: number | undefined;\r\n tamtruden?: Date | undefined;\r\n tamtrutu?: Date | undefined;\r\n tengnuoithan?: string | undefined;\r\n tenphongGannhat?: string | undefined;\r\n thoigianthue?: number | undefined;\r\n thon?: string | undefined;\r\n thongtinthemtttv?: string | undefined;\r\n tongiao?: string | undefined;\r\n trangthai?: number | undefined;\r\n}\r\n\r\nexport class NguoithueEntityApiResponse implements INguoithueEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: NguoithueEntity;\r\n\r\n constructor(data?: INguoithueEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new NguoithueEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? NguoithueEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): NguoithueEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NguoithueEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): NguoithueEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new NguoithueEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INguoithueEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: INguoithueEntity;\r\n}\r\n\r\nexport class NguoithueEntityListApiResponse implements INguoithueEntityListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: NguoithueEntity[] | undefined;\r\n\r\n constructor(data?: INguoithueEntityListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new NguoithueEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(NguoithueEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): NguoithueEntityListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NguoithueEntityListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): NguoithueEntityListApiResponse {\r\n const json = this.toJSON();\r\n let result = new NguoithueEntityListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INguoithueEntityListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: INguoithueEntity[] | undefined;\r\n}\r\n\r\nexport class NguoiThueLichSuModel implements INguoiThueLichSuModel {\r\n id?: number;\r\n idPhong?: number;\r\n anhNhaTro?: string | undefined;\r\n anhNhaTroByte?: string | undefined;\r\n tenNhaTro?: string | undefined;\r\n tenPhong?: string | undefined;\r\n diaChiNhaTro?: string | undefined;\r\n dienThoaiChuTro?: string | undefined;\r\n avgDanhGia?: number | undefined;\r\n countDanhGia?: number | undefined;\r\n ngayThue?: Date | undefined;\r\n ngayTraPhong?: Date | undefined;\r\n trangthai?: number | undefined;\r\n idHopDong_NguoiThue?: number | undefined;\r\n\r\n constructor(data?: INguoiThueLichSuModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.idPhong = _data[\"idPhong\"];\r\n this.anhNhaTro = _data[\"anhNhaTro\"];\r\n this.anhNhaTroByte = _data[\"anhNhaTroByte\"];\r\n this.tenNhaTro = _data[\"tenNhaTro\"];\r\n this.tenPhong = _data[\"tenPhong\"];\r\n this.diaChiNhaTro = _data[\"diaChiNhaTro\"];\r\n this.dienThoaiChuTro = _data[\"dienThoaiChuTro\"];\r\n this.avgDanhGia = _data[\"avgDanhGia\"];\r\n this.countDanhGia = _data[\"countDanhGia\"];\r\n this.ngayThue = _data[\"ngayThue\"] ? new Date(_data[\"ngayThue\"].toString()) : undefined;\r\n this.ngayTraPhong = _data[\"ngayTraPhong\"] ? new Date(_data[\"ngayTraPhong\"].toString()) : undefined;\r\n this.trangthai = _data[\"trangthai\"];\r\n this.idHopDong_NguoiThue = _data[\"idHopDong_NguoiThue\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NguoiThueLichSuModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NguoiThueLichSuModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"idPhong\"] = this.idPhong;\r\n data[\"anhNhaTro\"] = this.anhNhaTro;\r\n data[\"anhNhaTroByte\"] = this.anhNhaTroByte;\r\n data[\"tenNhaTro\"] = this.tenNhaTro;\r\n data[\"tenPhong\"] = this.tenPhong;\r\n data[\"diaChiNhaTro\"] = this.diaChiNhaTro;\r\n data[\"dienThoaiChuTro\"] = this.dienThoaiChuTro;\r\n data[\"avgDanhGia\"] = this.avgDanhGia;\r\n data[\"countDanhGia\"] = this.countDanhGia;\r\n data[\"ngayThue\"] = this.ngayThue ? this.ngayThue.toISOString() : undefined;\r\n data[\"ngayTraPhong\"] = this.ngayTraPhong ? this.ngayTraPhong.toISOString() : undefined;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"idHopDong_NguoiThue\"] = this.idHopDong_NguoiThue;\r\n return data;\r\n }\r\n\r\n clone(): NguoiThueLichSuModel {\r\n const json = this.toJSON();\r\n let result = new NguoiThueLichSuModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INguoiThueLichSuModel {\r\n id?: number;\r\n idPhong?: number;\r\n anhNhaTro?: string | undefined;\r\n anhNhaTroByte?: string | undefined;\r\n tenNhaTro?: string | undefined;\r\n tenPhong?: string | undefined;\r\n diaChiNhaTro?: string | undefined;\r\n dienThoaiChuTro?: string | undefined;\r\n avgDanhGia?: number | undefined;\r\n countDanhGia?: number | undefined;\r\n ngayThue?: Date | undefined;\r\n ngayTraPhong?: Date | undefined;\r\n trangthai?: number | undefined;\r\n idHopDong_NguoiThue?: number | undefined;\r\n}\r\n\r\nexport class NguoiThueLichSuModelIEnumerablePageModelView implements INguoiThueLichSuModelIEnumerablePageModelView {\r\n data?: NguoiThueLichSuModel[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: INguoiThueLichSuModelIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new NguoiThueLichSuModel(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(NguoiThueLichSuModel.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NguoiThueLichSuModelIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NguoiThueLichSuModelIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): NguoiThueLichSuModelIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new NguoiThueLichSuModelIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INguoiThueLichSuModelIEnumerablePageModelView {\r\n data?: INguoiThueLichSuModel[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class NguoiThueLichSuModelIEnumerablePageModelViewApiResponse implements INguoiThueLichSuModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: NguoiThueLichSuModelIEnumerablePageModelView;\r\n\r\n constructor(data?: INguoiThueLichSuModelIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new NguoiThueLichSuModelIEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? NguoiThueLichSuModelIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): NguoiThueLichSuModelIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NguoiThueLichSuModelIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): NguoiThueLichSuModelIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new NguoiThueLichSuModelIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INguoiThueLichSuModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: INguoiThueLichSuModelIEnumerablePageModelView;\r\n}\r\n\r\nexport class NguoiThueLichSuSearchModel implements INguoiThueLichSuSearchModel {\r\n id?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n\r\n constructor(data?: INguoiThueLichSuSearchModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NguoiThueLichSuSearchModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NguoiThueLichSuSearchModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n return data;\r\n }\r\n\r\n clone(): NguoiThueLichSuSearchModel {\r\n const json = this.toJSON();\r\n let result = new NguoiThueLichSuSearchModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INguoiThueLichSuSearchModel {\r\n id?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n}\r\n\r\nexport class NguoiThueModel implements INguoiThueModel {\r\n loainhatro?: number | undefined;\r\n tenLoai?: string | undefined;\r\n anhchandung?: string | undefined;\r\n cccd?: string | undefined;\r\n cccdMatsau?: string | undefined;\r\n cccdMattruoc?: string | undefined;\r\n cccdNgaycap?: Date | undefined;\r\n cccdNoicap?: string | undefined;\r\n dangkytamtrutamvang?: boolean | undefined;\r\n isPhong?: boolean | undefined;\r\n dantoc?: string | undefined;\r\n diachi?: string | undefined;\r\n dienthoai?: string | undefined;\r\n dienthoaiChutro?: string | undefined;\r\n dienthoainguoithan?: string | undefined;\r\n email?: string | undefined;\r\n gioitinh?: number | undefined;\r\n gioitinhString?: string | undefined;\r\n hinhanh?: string | undefined;\r\n hoten?: string | undefined;\r\n id?: number;\r\n idnhatro?: number;\r\n tennhatro?: string | undefined;\r\n lydotamtru?: string | undefined;\r\n ngaysinh?: Date | undefined;\r\n nghenghiep?: number | undefined;\r\n noicongtac?: string | undefined;\r\n quoctich?: string | undefined;\r\n tamtruden?: Date | undefined;\r\n tamtrutu?: Date | undefined;\r\n tengnuoithan?: string | undefined;\r\n thongtinthemtttv?: string | undefined;\r\n tongiao?: string | undefined;\r\n trangthai?: number | undefined;\r\n idPhong?: number;\r\n tenphong?: string | undefined;\r\n matinh?: string | undefined;\r\n mahuyen?: string | undefined;\r\n maxa?: string | undefined;\r\n ngaynhanphonggannhat?: Date | undefined;\r\n tamtru?: string | undefined;\r\n hktt?: string | undefined;\r\n madiabankey?: string | undefined;\r\n madiabankeyNhatro?: string | undefined;\r\n thon?: string | undefined;\r\n idDantoc?: number | undefined;\r\n type?: number;\r\n ngayBatDauThue?: Date | undefined;\r\n thoiGianThue?: number | undefined;\r\n ngayDangKyTamTru?: Date | undefined;\r\n ngayTraPhong?: Date | undefined;\r\n\r\n constructor(data?: INguoiThueModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loainhatro = _data[\"loainhatro\"];\r\n this.tenLoai = _data[\"tenLoai\"];\r\n this.anhchandung = _data[\"anhchandung\"];\r\n this.cccd = _data[\"cccd\"];\r\n this.cccdMatsau = _data[\"cccdMatsau\"];\r\n this.cccdMattruoc = _data[\"cccdMattruoc\"];\r\n this.cccdNgaycap = _data[\"cccdNgaycap\"] ? new Date(_data[\"cccdNgaycap\"].toString()) : undefined;\r\n this.cccdNoicap = _data[\"cccdNoicap\"];\r\n this.dangkytamtrutamvang = _data[\"dangkytamtrutamvang\"];\r\n this.isPhong = _data[\"isPhong\"];\r\n this.dantoc = _data[\"dantoc\"];\r\n this.diachi = _data[\"diachi\"];\r\n this.dienthoai = _data[\"dienthoai\"];\r\n this.dienthoaiChutro = _data[\"dienthoaiChutro\"];\r\n this.dienthoainguoithan = _data[\"dienthoainguoithan\"];\r\n this.email = _data[\"email\"];\r\n this.gioitinh = _data[\"gioitinh\"];\r\n this.gioitinhString = _data[\"gioitinhString\"];\r\n this.hinhanh = _data[\"hinhanh\"];\r\n this.hoten = _data[\"hoten\"];\r\n this.id = _data[\"id\"];\r\n this.idnhatro = _data[\"idnhatro\"];\r\n this.tennhatro = _data[\"tennhatro\"];\r\n this.lydotamtru = _data[\"lydotamtru\"];\r\n this.ngaysinh = _data[\"ngaysinh\"] ? new Date(_data[\"ngaysinh\"].toString()) : undefined;\r\n this.nghenghiep = _data[\"nghenghiep\"];\r\n this.noicongtac = _data[\"noicongtac\"];\r\n this.quoctich = _data[\"quoctich\"];\r\n this.tamtruden = _data[\"tamtruden\"] ? new Date(_data[\"tamtruden\"].toString()) : undefined;\r\n this.tamtrutu = _data[\"tamtrutu\"] ? new Date(_data[\"tamtrutu\"].toString()) : undefined;\r\n this.tengnuoithan = _data[\"tengnuoithan\"];\r\n this.thongtinthemtttv = _data[\"thongtinthemtttv\"];\r\n this.tongiao = _data[\"tongiao\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.idPhong = _data[\"idPhong\"];\r\n this.tenphong = _data[\"tenphong\"];\r\n this.matinh = _data[\"matinh\"];\r\n this.mahuyen = _data[\"mahuyen\"];\r\n this.maxa = _data[\"maxa\"];\r\n this.ngaynhanphonggannhat = _data[\"ngaynhanphonggannhat\"] ? new Date(_data[\"ngaynhanphonggannhat\"].toString()) : undefined;\r\n this.tamtru = _data[\"tamtru\"];\r\n this.hktt = _data[\"hktt\"];\r\n this.madiabankey = _data[\"madiabankey\"];\r\n this.madiabankeyNhatro = _data[\"madiabankeyNhatro\"];\r\n this.thon = _data[\"thon\"];\r\n this.idDantoc = _data[\"idDantoc\"];\r\n this.type = _data[\"type\"];\r\n this.ngayBatDauThue = _data[\"ngayBatDauThue\"] ? new Date(_data[\"ngayBatDauThue\"].toString()) : undefined;\r\n this.thoiGianThue = _data[\"thoiGianThue\"];\r\n this.ngayDangKyTamTru = _data[\"ngayDangKyTamTru\"] ? new Date(_data[\"ngayDangKyTamTru\"].toString()) : undefined;\r\n this.ngayTraPhong = _data[\"ngayTraPhong\"] ? new Date(_data[\"ngayTraPhong\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): NguoiThueModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NguoiThueModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loainhatro\"] = this.loainhatro;\r\n data[\"tenLoai\"] = this.tenLoai;\r\n data[\"anhchandung\"] = this.anhchandung;\r\n data[\"cccd\"] = this.cccd;\r\n data[\"cccdMatsau\"] = this.cccdMatsau;\r\n data[\"cccdMattruoc\"] = this.cccdMattruoc;\r\n data[\"cccdNgaycap\"] = this.cccdNgaycap ? this.cccdNgaycap.toISOString() : undefined;\r\n data[\"cccdNoicap\"] = this.cccdNoicap;\r\n data[\"dangkytamtrutamvang\"] = this.dangkytamtrutamvang;\r\n data[\"isPhong\"] = this.isPhong;\r\n data[\"dantoc\"] = this.dantoc;\r\n data[\"diachi\"] = this.diachi;\r\n data[\"dienthoai\"] = this.dienthoai;\r\n data[\"dienthoaiChutro\"] = this.dienthoaiChutro;\r\n data[\"dienthoainguoithan\"] = this.dienthoainguoithan;\r\n data[\"email\"] = this.email;\r\n data[\"gioitinh\"] = this.gioitinh;\r\n data[\"gioitinhString\"] = this.gioitinhString;\r\n data[\"hinhanh\"] = this.hinhanh;\r\n data[\"hoten\"] = this.hoten;\r\n data[\"id\"] = this.id;\r\n data[\"idnhatro\"] = this.idnhatro;\r\n data[\"tennhatro\"] = this.tennhatro;\r\n data[\"lydotamtru\"] = this.lydotamtru;\r\n data[\"ngaysinh\"] = this.ngaysinh ? this.ngaysinh.toISOString() : undefined;\r\n data[\"nghenghiep\"] = this.nghenghiep;\r\n data[\"noicongtac\"] = this.noicongtac;\r\n data[\"quoctich\"] = this.quoctich;\r\n data[\"tamtruden\"] = this.tamtruden ? this.tamtruden.toISOString() : undefined;\r\n data[\"tamtrutu\"] = this.tamtrutu ? this.tamtrutu.toISOString() : undefined;\r\n data[\"tengnuoithan\"] = this.tengnuoithan;\r\n data[\"thongtinthemtttv\"] = this.thongtinthemtttv;\r\n data[\"tongiao\"] = this.tongiao;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"idPhong\"] = this.idPhong;\r\n data[\"tenphong\"] = this.tenphong;\r\n data[\"matinh\"] = this.matinh;\r\n data[\"mahuyen\"] = this.mahuyen;\r\n data[\"maxa\"] = this.maxa;\r\n data[\"ngaynhanphonggannhat\"] = this.ngaynhanphonggannhat ? this.ngaynhanphonggannhat.toISOString() : undefined;\r\n data[\"tamtru\"] = this.tamtru;\r\n data[\"hktt\"] = this.hktt;\r\n data[\"madiabankey\"] = this.madiabankey;\r\n data[\"madiabankeyNhatro\"] = this.madiabankeyNhatro;\r\n data[\"thon\"] = this.thon;\r\n data[\"idDantoc\"] = this.idDantoc;\r\n data[\"type\"] = this.type;\r\n data[\"ngayBatDauThue\"] = this.ngayBatDauThue ? this.ngayBatDauThue.toISOString() : undefined;\r\n data[\"thoiGianThue\"] = this.thoiGianThue;\r\n data[\"ngayDangKyTamTru\"] = this.ngayDangKyTamTru ? this.ngayDangKyTamTru.toISOString() : undefined;\r\n data[\"ngayTraPhong\"] = this.ngayTraPhong ? this.ngayTraPhong.toISOString() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): NguoiThueModel {\r\n const json = this.toJSON();\r\n let result = new NguoiThueModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INguoiThueModel {\r\n loainhatro?: number | undefined;\r\n tenLoai?: string | undefined;\r\n anhchandung?: string | undefined;\r\n cccd?: string | undefined;\r\n cccdMatsau?: string | undefined;\r\n cccdMattruoc?: string | undefined;\r\n cccdNgaycap?: Date | undefined;\r\n cccdNoicap?: string | undefined;\r\n dangkytamtrutamvang?: boolean | undefined;\r\n isPhong?: boolean | undefined;\r\n dantoc?: string | undefined;\r\n diachi?: string | undefined;\r\n dienthoai?: string | undefined;\r\n dienthoaiChutro?: string | undefined;\r\n dienthoainguoithan?: string | undefined;\r\n email?: string | undefined;\r\n gioitinh?: number | undefined;\r\n gioitinhString?: string | undefined;\r\n hinhanh?: string | undefined;\r\n hoten?: string | undefined;\r\n id?: number;\r\n idnhatro?: number;\r\n tennhatro?: string | undefined;\r\n lydotamtru?: string | undefined;\r\n ngaysinh?: Date | undefined;\r\n nghenghiep?: number | undefined;\r\n noicongtac?: string | undefined;\r\n quoctich?: string | undefined;\r\n tamtruden?: Date | undefined;\r\n tamtrutu?: Date | undefined;\r\n tengnuoithan?: string | undefined;\r\n thongtinthemtttv?: string | undefined;\r\n tongiao?: string | undefined;\r\n trangthai?: number | undefined;\r\n idPhong?: number;\r\n tenphong?: string | undefined;\r\n matinh?: string | undefined;\r\n mahuyen?: string | undefined;\r\n maxa?: string | undefined;\r\n ngaynhanphonggannhat?: Date | undefined;\r\n tamtru?: string | undefined;\r\n hktt?: string | undefined;\r\n madiabankey?: string | undefined;\r\n madiabankeyNhatro?: string | undefined;\r\n thon?: string | undefined;\r\n idDantoc?: number | undefined;\r\n type?: number;\r\n ngayBatDauThue?: Date | undefined;\r\n thoiGianThue?: number | undefined;\r\n ngayDangKyTamTru?: Date | undefined;\r\n ngayTraPhong?: Date | undefined;\r\n}\r\n\r\nexport class NguoiThueModelIEnumerableApiResponse implements INguoiThueModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: NguoiThueModel[] | undefined;\r\n\r\n constructor(data?: INguoiThueModelIEnumerableApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new NguoiThueModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(NguoiThueModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): NguoiThueModelIEnumerableApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NguoiThueModelIEnumerableApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): NguoiThueModelIEnumerableApiResponse {\r\n const json = this.toJSON();\r\n let result = new NguoiThueModelIEnumerableApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INguoiThueModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: INguoiThueModel[] | undefined;\r\n}\r\n\r\nexport class NguoiThueModelIEnumerablePageModelView implements INguoiThueModelIEnumerablePageModelView {\r\n data?: NguoiThueModel[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: INguoiThueModelIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new NguoiThueModel(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(NguoiThueModel.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NguoiThueModelIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NguoiThueModelIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): NguoiThueModelIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new NguoiThueModelIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INguoiThueModelIEnumerablePageModelView {\r\n data?: INguoiThueModel[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class NguoiThueModelIEnumerablePageModelViewApiResponse implements INguoiThueModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: NguoiThueModelIEnumerablePageModelView;\r\n\r\n constructor(data?: INguoiThueModelIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new NguoiThueModelIEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? NguoiThueModelIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): NguoiThueModelIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NguoiThueModelIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): NguoiThueModelIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new NguoiThueModelIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INguoiThueModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: INguoiThueModelIEnumerablePageModelView;\r\n}\r\n\r\nexport class NguoiThueModelV2 implements INguoiThueModelV2 {\r\n matinh?: string | undefined;\r\n mahuyen?: string | undefined;\r\n maxa?: string | undefined;\r\n thon?: string | undefined;\r\n idPhong?: number | undefined;\r\n trangthai?: number | undefined;\r\n tenphong?: string | undefined;\r\n idDantoc?: number | undefined;\r\n idnhatro?: number | undefined;\r\n cccd?: string | undefined;\r\n cccdMattruoc?: string | undefined;\r\n cccdMatsau?: string | undefined;\r\n avatar?: string | undefined;\r\n dantoc?: string | undefined;\r\n diachi?: string | undefined;\r\n dienthoai?: string | undefined;\r\n dienthoainguoithan?: string | undefined;\r\n email?: string | undefined;\r\n gioitinh?: number | undefined;\r\n hoten?: string | undefined;\r\n ngaysinh?: Date | undefined;\r\n nghenghiep?: number | undefined;\r\n noicongtac?: string | undefined;\r\n quoctich?: string | undefined;\r\n tongiao?: string | undefined;\r\n ngaynhanphonggannhat?: Date | undefined;\r\n madiabankey?: string | undefined;\r\n password?: string | undefined;\r\n\r\n constructor(data?: INguoiThueModelV2) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.matinh = _data[\"matinh\"];\r\n this.mahuyen = _data[\"mahuyen\"];\r\n this.maxa = _data[\"maxa\"];\r\n this.thon = _data[\"thon\"];\r\n this.idPhong = _data[\"idPhong\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.tenphong = _data[\"tenphong\"];\r\n this.idDantoc = _data[\"idDantoc\"];\r\n this.idnhatro = _data[\"idnhatro\"];\r\n this.cccd = _data[\"cccd\"];\r\n this.cccdMattruoc = _data[\"cccdMattruoc\"];\r\n this.cccdMatsau = _data[\"cccdMatsau\"];\r\n this.avatar = _data[\"avatar\"];\r\n this.dantoc = _data[\"dantoc\"];\r\n this.diachi = _data[\"diachi\"];\r\n this.dienthoai = _data[\"dienthoai\"];\r\n this.dienthoainguoithan = _data[\"dienthoainguoithan\"];\r\n this.email = _data[\"email\"];\r\n this.gioitinh = _data[\"gioitinh\"];\r\n this.hoten = _data[\"hoten\"];\r\n this.ngaysinh = _data[\"ngaysinh\"] ? new Date(_data[\"ngaysinh\"].toString()) : undefined;\r\n this.nghenghiep = _data[\"nghenghiep\"];\r\n this.noicongtac = _data[\"noicongtac\"];\r\n this.quoctich = _data[\"quoctich\"];\r\n this.tongiao = _data[\"tongiao\"];\r\n this.ngaynhanphonggannhat = _data[\"ngaynhanphonggannhat\"] ? new Date(_data[\"ngaynhanphonggannhat\"].toString()) : undefined;\r\n this.madiabankey = _data[\"madiabankey\"];\r\n this.password = _data[\"password\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NguoiThueModelV2 {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NguoiThueModelV2();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"matinh\"] = this.matinh;\r\n data[\"mahuyen\"] = this.mahuyen;\r\n data[\"maxa\"] = this.maxa;\r\n data[\"thon\"] = this.thon;\r\n data[\"idPhong\"] = this.idPhong;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"tenphong\"] = this.tenphong;\r\n data[\"idDantoc\"] = this.idDantoc;\r\n data[\"idnhatro\"] = this.idnhatro;\r\n data[\"cccd\"] = this.cccd;\r\n data[\"cccdMattruoc\"] = this.cccdMattruoc;\r\n data[\"cccdMatsau\"] = this.cccdMatsau;\r\n data[\"avatar\"] = this.avatar;\r\n data[\"dantoc\"] = this.dantoc;\r\n data[\"diachi\"] = this.diachi;\r\n data[\"dienthoai\"] = this.dienthoai;\r\n data[\"dienthoainguoithan\"] = this.dienthoainguoithan;\r\n data[\"email\"] = this.email;\r\n data[\"gioitinh\"] = this.gioitinh;\r\n data[\"hoten\"] = this.hoten;\r\n data[\"ngaysinh\"] = this.ngaysinh ? this.ngaysinh.toISOString() : undefined;\r\n data[\"nghenghiep\"] = this.nghenghiep;\r\n data[\"noicongtac\"] = this.noicongtac;\r\n data[\"quoctich\"] = this.quoctich;\r\n data[\"tongiao\"] = this.tongiao;\r\n data[\"ngaynhanphonggannhat\"] = this.ngaynhanphonggannhat ? this.ngaynhanphonggannhat.toISOString() : undefined;\r\n data[\"madiabankey\"] = this.madiabankey;\r\n data[\"password\"] = this.password;\r\n return data;\r\n }\r\n\r\n clone(): NguoiThueModelV2 {\r\n const json = this.toJSON();\r\n let result = new NguoiThueModelV2();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INguoiThueModelV2 {\r\n matinh?: string | undefined;\r\n mahuyen?: string | undefined;\r\n maxa?: string | undefined;\r\n thon?: string | undefined;\r\n idPhong?: number | undefined;\r\n trangthai?: number | undefined;\r\n tenphong?: string | undefined;\r\n idDantoc?: number | undefined;\r\n idnhatro?: number | undefined;\r\n cccd?: string | undefined;\r\n cccdMattruoc?: string | undefined;\r\n cccdMatsau?: string | undefined;\r\n avatar?: string | undefined;\r\n dantoc?: string | undefined;\r\n diachi?: string | undefined;\r\n dienthoai?: string | undefined;\r\n dienthoainguoithan?: string | undefined;\r\n email?: string | undefined;\r\n gioitinh?: number | undefined;\r\n hoten?: string | undefined;\r\n ngaysinh?: Date | undefined;\r\n nghenghiep?: number | undefined;\r\n noicongtac?: string | undefined;\r\n quoctich?: string | undefined;\r\n tongiao?: string | undefined;\r\n ngaynhanphonggannhat?: Date | undefined;\r\n madiabankey?: string | undefined;\r\n password?: string | undefined;\r\n}\r\n\r\nexport class NguoiThueModelV2IEnumerableApiResponse implements INguoiThueModelV2IEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: NguoiThueModelV2[] | undefined;\r\n\r\n constructor(data?: INguoiThueModelV2IEnumerableApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new NguoiThueModelV2(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(NguoiThueModelV2.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): NguoiThueModelV2IEnumerableApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NguoiThueModelV2IEnumerableApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): NguoiThueModelV2IEnumerableApiResponse {\r\n const json = this.toJSON();\r\n let result = new NguoiThueModelV2IEnumerableApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INguoiThueModelV2IEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: INguoiThueModelV2[] | undefined;\r\n}\r\n\r\nexport class NguoiThueModelV3 implements INguoiThueModelV3 {\r\n anhchandung?: string | undefined;\r\n cccd?: string | undefined;\r\n dienthoai?: string | undefined;\r\n gioitinh?: number | undefined;\r\n hoten?: string | undefined;\r\n id?: number;\r\n ngaysinh?: Date | undefined;\r\n trangthai?: number | undefined;\r\n matinh?: string | undefined;\r\n mahuyen?: string | undefined;\r\n maxa?: string | undefined;\r\n madiabankey?: string | undefined;\r\n thon?: string | undefined;\r\n\r\n constructor(data?: INguoiThueModelV3) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.anhchandung = _data[\"anhchandung\"];\r\n this.cccd = _data[\"cccd\"];\r\n this.dienthoai = _data[\"dienthoai\"];\r\n this.gioitinh = _data[\"gioitinh\"];\r\n this.hoten = _data[\"hoten\"];\r\n this.id = _data[\"id\"];\r\n this.ngaysinh = _data[\"ngaysinh\"] ? new Date(_data[\"ngaysinh\"].toString()) : undefined;\r\n this.trangthai = _data[\"trangthai\"];\r\n this.matinh = _data[\"matinh\"];\r\n this.mahuyen = _data[\"mahuyen\"];\r\n this.maxa = _data[\"maxa\"];\r\n this.madiabankey = _data[\"madiabankey\"];\r\n this.thon = _data[\"thon\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NguoiThueModelV3 {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NguoiThueModelV3();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"anhchandung\"] = this.anhchandung;\r\n data[\"cccd\"] = this.cccd;\r\n data[\"dienthoai\"] = this.dienthoai;\r\n data[\"gioitinh\"] = this.gioitinh;\r\n data[\"hoten\"] = this.hoten;\r\n data[\"id\"] = this.id;\r\n data[\"ngaysinh\"] = this.ngaysinh ? this.ngaysinh.toISOString() : undefined;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"matinh\"] = this.matinh;\r\n data[\"mahuyen\"] = this.mahuyen;\r\n data[\"maxa\"] = this.maxa;\r\n data[\"madiabankey\"] = this.madiabankey;\r\n data[\"thon\"] = this.thon;\r\n return data;\r\n }\r\n\r\n clone(): NguoiThueModelV3 {\r\n const json = this.toJSON();\r\n let result = new NguoiThueModelV3();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INguoiThueModelV3 {\r\n anhchandung?: string | undefined;\r\n cccd?: string | undefined;\r\n dienthoai?: string | undefined;\r\n gioitinh?: number | undefined;\r\n hoten?: string | undefined;\r\n id?: number;\r\n ngaysinh?: Date | undefined;\r\n trangthai?: number | undefined;\r\n matinh?: string | undefined;\r\n mahuyen?: string | undefined;\r\n maxa?: string | undefined;\r\n madiabankey?: string | undefined;\r\n thon?: string | undefined;\r\n}\r\n\r\nexport class NguoiThueModelV3ApiResponse implements INguoiThueModelV3ApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: NguoiThueModelV3;\r\n\r\n constructor(data?: INguoiThueModelV3ApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new NguoiThueModelV3(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? NguoiThueModelV3.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): NguoiThueModelV3ApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NguoiThueModelV3ApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): NguoiThueModelV3ApiResponse {\r\n const json = this.toJSON();\r\n let result = new NguoiThueModelV3ApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INguoiThueModelV3ApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: INguoiThueModelV3;\r\n}\r\n\r\nexport class NguoiThueModelV3ListApiResponse implements INguoiThueModelV3ListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: NguoiThueModelV3[] | undefined;\r\n\r\n constructor(data?: INguoiThueModelV3ListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new NguoiThueModelV3(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(NguoiThueModelV3.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): NguoiThueModelV3ListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NguoiThueModelV3ListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): NguoiThueModelV3ListApiResponse {\r\n const json = this.toJSON();\r\n let result = new NguoiThueModelV3ListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INguoiThueModelV3ListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: INguoiThueModelV3[] | undefined;\r\n}\r\n\r\nexport class NguoithuePhongEntity implements INguoithuePhongEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n idnguoithue?: number;\r\n idnhatro?: number | undefined;\r\n idphong?: number | undefined;\r\n ngaydangkytamtru?: Date | undefined;\r\n ngaytao?: Date | undefined;\r\n ngaytraphong?: Date | undefined;\r\n registerstatus?: number | undefined;\r\n thoigianthue?: number | undefined;\r\n trangthai?: number | undefined;\r\n\r\n constructor(data?: INguoithuePhongEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.id = _data[\"id\"];\r\n this.idnguoithue = _data[\"idnguoithue\"];\r\n this.idnhatro = _data[\"idnhatro\"];\r\n this.idphong = _data[\"idphong\"];\r\n this.ngaydangkytamtru = _data[\"ngaydangkytamtru\"] ? new Date(_data[\"ngaydangkytamtru\"].toString()) : undefined;\r\n this.ngaytao = _data[\"ngaytao\"] ? new Date(_data[\"ngaytao\"].toString()) : undefined;\r\n this.ngaytraphong = _data[\"ngaytraphong\"] ? new Date(_data[\"ngaytraphong\"].toString()) : undefined;\r\n this.registerstatus = _data[\"registerstatus\"];\r\n this.thoigianthue = _data[\"thoigianthue\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NguoithuePhongEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NguoithuePhongEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"id\"] = this.id;\r\n data[\"idnguoithue\"] = this.idnguoithue;\r\n data[\"idnhatro\"] = this.idnhatro;\r\n data[\"idphong\"] = this.idphong;\r\n data[\"ngaydangkytamtru\"] = this.ngaydangkytamtru ? this.ngaydangkytamtru.toISOString() : undefined;\r\n data[\"ngaytao\"] = this.ngaytao ? this.ngaytao.toISOString() : undefined;\r\n data[\"ngaytraphong\"] = this.ngaytraphong ? this.ngaytraphong.toISOString() : undefined;\r\n data[\"registerstatus\"] = this.registerstatus;\r\n data[\"thoigianthue\"] = this.thoigianthue;\r\n data[\"trangthai\"] = this.trangthai;\r\n return data;\r\n }\r\n\r\n clone(): NguoithuePhongEntity {\r\n const json = this.toJSON();\r\n let result = new NguoithuePhongEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INguoithuePhongEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n idnguoithue?: number;\r\n idnhatro?: number | undefined;\r\n idphong?: number | undefined;\r\n ngaydangkytamtru?: Date | undefined;\r\n ngaytao?: Date | undefined;\r\n ngaytraphong?: Date | undefined;\r\n registerstatus?: number | undefined;\r\n thoigianthue?: number | undefined;\r\n trangthai?: number | undefined;\r\n}\r\n\r\nexport class NguoiThueQrCodeModel implements INguoiThueQrCodeModel {\r\n phongTro?: PhongTroViewModel;\r\n lstNguoiThue?: NguoiThueModel[] | undefined;\r\n\r\n constructor(data?: INguoiThueQrCodeModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.phongTro = data.phongTro && !(data.phongTro).toJSON ? new PhongTroViewModel(data.phongTro) : this.phongTro;\r\n if (data.lstNguoiThue) {\r\n this.lstNguoiThue = [];\r\n for (let i = 0; i < data.lstNguoiThue.length; i++) {\r\n let item = data.lstNguoiThue[i];\r\n this.lstNguoiThue[i] = item && !(item).toJSON ? new NguoiThueModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.phongTro = _data[\"phongTro\"] ? PhongTroViewModel.fromJS(_data[\"phongTro\"]) : undefined;\r\n if (Array.isArray(_data[\"lstNguoiThue\"])) {\r\n this.lstNguoiThue = [] as any;\r\n for (let item of _data[\"lstNguoiThue\"])\r\n this.lstNguoiThue!.push(NguoiThueModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): NguoiThueQrCodeModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NguoiThueQrCodeModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"phongTro\"] = this.phongTro ? this.phongTro.toJSON() : undefined;\r\n if (Array.isArray(this.lstNguoiThue)) {\r\n data[\"lstNguoiThue\"] = [];\r\n for (let item of this.lstNguoiThue)\r\n data[\"lstNguoiThue\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): NguoiThueQrCodeModel {\r\n const json = this.toJSON();\r\n let result = new NguoiThueQrCodeModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INguoiThueQrCodeModel {\r\n phongTro?: IPhongTroViewModel;\r\n lstNguoiThue?: INguoiThueModel[] | undefined;\r\n}\r\n\r\nexport class NguoiThueQrCodeModelIEnumerableApiResponse implements INguoiThueQrCodeModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: NguoiThueQrCodeModel[] | undefined;\r\n\r\n constructor(data?: INguoiThueQrCodeModelIEnumerableApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new NguoiThueQrCodeModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(NguoiThueQrCodeModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): NguoiThueQrCodeModelIEnumerableApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NguoiThueQrCodeModelIEnumerableApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): NguoiThueQrCodeModelIEnumerableApiResponse {\r\n const json = this.toJSON();\r\n let result = new NguoiThueQrCodeModelIEnumerableApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INguoiThueQrCodeModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: INguoiThueQrCodeModel[] | undefined;\r\n}\r\n\r\nexport class NhaTroByStatus implements INhaTroByStatus {\r\n lat?: string | undefined;\r\n lng?: string | undefined;\r\n\r\n constructor(data?: INhaTroByStatus) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.lat = _data[\"lat\"];\r\n this.lng = _data[\"lng\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NhaTroByStatus {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NhaTroByStatus();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"lat\"] = this.lat;\r\n data[\"lng\"] = this.lng;\r\n return data;\r\n }\r\n\r\n clone(): NhaTroByStatus {\r\n const json = this.toJSON();\r\n let result = new NhaTroByStatus();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INhaTroByStatus {\r\n lat?: string | undefined;\r\n lng?: string | undefined;\r\n}\r\n\r\nexport class NhaTroByStatusListApiResponse implements INhaTroByStatusListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: NhaTroByStatus[] | undefined;\r\n\r\n constructor(data?: INhaTroByStatusListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new NhaTroByStatus(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(NhaTroByStatus.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): NhaTroByStatusListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NhaTroByStatusListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): NhaTroByStatusListApiResponse {\r\n const json = this.toJSON();\r\n let result = new NhaTroByStatusListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INhaTroByStatusListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: INhaTroByStatus[] | undefined;\r\n}\r\n\r\nexport class NhatroEntity implements INhatroEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n anh1?: string | undefined;\r\n anh2?: string | undefined;\r\n anh3?: string | undefined;\r\n anhdaidien?: string | undefined;\r\n anhdkkd?: string | undefined;\r\n cccdchutro?: string | undefined;\r\n diachicuthe?: string | undefined;\r\n dienthoai?: string | undefined;\r\n gianiemyet?: number | undefined;\r\n huyen?: string | undefined;\r\n id?: number;\r\n idnguoitao?: number;\r\n keysearch?: string | undefined;\r\n lat?: string | undefined;\r\n lng?: string | undefined;\r\n loainhatro?: number;\r\n madiabankey?: string | undefined;\r\n mota?: string | undefined;\r\n motachitiet?: string | undefined;\r\n ngaytao?: Date | undefined;\r\n sodkkd?: string | undefined;\r\n sophong?: number | undefined;\r\n sotang?: number | undefined;\r\n tenchunhatro?: string | undefined;\r\n tennhatro?: string | undefined;\r\n tinh?: string | undefined;\r\n trangthai?: number | undefined;\r\n xa?: string | undefined;\r\n\r\n constructor(data?: INhatroEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.anh1 = _data[\"anh1\"];\r\n this.anh2 = _data[\"anh2\"];\r\n this.anh3 = _data[\"anh3\"];\r\n this.anhdaidien = _data[\"anhdaidien\"];\r\n this.anhdkkd = _data[\"anhdkkd\"];\r\n this.cccdchutro = _data[\"cccdchutro\"];\r\n this.diachicuthe = _data[\"diachicuthe\"];\r\n this.dienthoai = _data[\"dienthoai\"];\r\n this.gianiemyet = _data[\"gianiemyet\"];\r\n this.huyen = _data[\"huyen\"];\r\n this.id = _data[\"id\"];\r\n this.idnguoitao = _data[\"idnguoitao\"];\r\n this.keysearch = _data[\"keysearch\"];\r\n this.lat = _data[\"lat\"];\r\n this.lng = _data[\"lng\"];\r\n this.loainhatro = _data[\"loainhatro\"];\r\n this.madiabankey = _data[\"madiabankey\"];\r\n this.mota = _data[\"mota\"];\r\n this.motachitiet = _data[\"motachitiet\"];\r\n this.ngaytao = _data[\"ngaytao\"] ? new Date(_data[\"ngaytao\"].toString()) : undefined;\r\n this.sodkkd = _data[\"sodkkd\"];\r\n this.sophong = _data[\"sophong\"];\r\n this.sotang = _data[\"sotang\"];\r\n this.tenchunhatro = _data[\"tenchunhatro\"];\r\n this.tennhatro = _data[\"tennhatro\"];\r\n this.tinh = _data[\"tinh\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.xa = _data[\"xa\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NhatroEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NhatroEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"anh1\"] = this.anh1;\r\n data[\"anh2\"] = this.anh2;\r\n data[\"anh3\"] = this.anh3;\r\n data[\"anhdaidien\"] = this.anhdaidien;\r\n data[\"anhdkkd\"] = this.anhdkkd;\r\n data[\"cccdchutro\"] = this.cccdchutro;\r\n data[\"diachicuthe\"] = this.diachicuthe;\r\n data[\"dienthoai\"] = this.dienthoai;\r\n data[\"gianiemyet\"] = this.gianiemyet;\r\n data[\"huyen\"] = this.huyen;\r\n data[\"id\"] = this.id;\r\n data[\"idnguoitao\"] = this.idnguoitao;\r\n data[\"keysearch\"] = this.keysearch;\r\n data[\"lat\"] = this.lat;\r\n data[\"lng\"] = this.lng;\r\n data[\"loainhatro\"] = this.loainhatro;\r\n data[\"madiabankey\"] = this.madiabankey;\r\n data[\"mota\"] = this.mota;\r\n data[\"motachitiet\"] = this.motachitiet;\r\n data[\"ngaytao\"] = this.ngaytao ? this.ngaytao.toISOString() : undefined;\r\n data[\"sodkkd\"] = this.sodkkd;\r\n data[\"sophong\"] = this.sophong;\r\n data[\"sotang\"] = this.sotang;\r\n data[\"tenchunhatro\"] = this.tenchunhatro;\r\n data[\"tennhatro\"] = this.tennhatro;\r\n data[\"tinh\"] = this.tinh;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"xa\"] = this.xa;\r\n return data;\r\n }\r\n\r\n clone(): NhatroEntity {\r\n const json = this.toJSON();\r\n let result = new NhatroEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INhatroEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n anh1?: string | undefined;\r\n anh2?: string | undefined;\r\n anh3?: string | undefined;\r\n anhdaidien?: string | undefined;\r\n anhdkkd?: string | undefined;\r\n cccdchutro?: string | undefined;\r\n diachicuthe?: string | undefined;\r\n dienthoai?: string | undefined;\r\n gianiemyet?: number | undefined;\r\n huyen?: string | undefined;\r\n id?: number;\r\n idnguoitao?: number;\r\n keysearch?: string | undefined;\r\n lat?: string | undefined;\r\n lng?: string | undefined;\r\n loainhatro?: number;\r\n madiabankey?: string | undefined;\r\n mota?: string | undefined;\r\n motachitiet?: string | undefined;\r\n ngaytao?: Date | undefined;\r\n sodkkd?: string | undefined;\r\n sophong?: number | undefined;\r\n sotang?: number | undefined;\r\n tenchunhatro?: string | undefined;\r\n tennhatro?: string | undefined;\r\n tinh?: string | undefined;\r\n trangthai?: number | undefined;\r\n xa?: string | undefined;\r\n}\r\n\r\nexport class NhatroEntityApiResponse implements INhatroEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: NhatroEntity;\r\n\r\n constructor(data?: INhatroEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new NhatroEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? NhatroEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): NhatroEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NhatroEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): NhatroEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new NhatroEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INhatroEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: INhatroEntity;\r\n}\r\n\r\nexport class NhatroEntityIEnumerableApiResponse implements INhatroEntityIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: NhatroEntity[] | undefined;\r\n\r\n constructor(data?: INhatroEntityIEnumerableApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new NhatroEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(NhatroEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): NhatroEntityIEnumerableApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NhatroEntityIEnumerableApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): NhatroEntityIEnumerableApiResponse {\r\n const json = this.toJSON();\r\n let result = new NhatroEntityIEnumerableApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INhatroEntityIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: INhatroEntity[] | undefined;\r\n}\r\n\r\nexport class NhaTroIndexModel implements INhaTroIndexModel {\r\n id?: number;\r\n solanvipham?: number;\r\n luotdanhgia?: number;\r\n tennhatro?: string | undefined;\r\n tenchunhatro?: string | undefined;\r\n dienthoai?: string | undefined;\r\n diachi?: string | undefined;\r\n songuoithue?: number;\r\n sophong?: number;\r\n sophongTrong?: number;\r\n sophongthue?: number;\r\n image?: string | undefined;\r\n anh1?: string | undefined;\r\n anh2?: string | undefined;\r\n anh3?: string | undefined;\r\n avgDanhGia?: number;\r\n totalRateCount?: number;\r\n dichVu?: string | undefined;\r\n tuGia?: number | undefined;\r\n denGia?: number | undefined;\r\n loaiNhaTro?: number | undefined;\r\n huyen?: string | undefined;\r\n xa?: string | undefined;\r\n mota?: string | undefined;\r\n madiabankey?: string | undefined;\r\n ngayTao?: Date | undefined;\r\n\r\n constructor(data?: INhaTroIndexModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.solanvipham = _data[\"solanvipham\"];\r\n this.luotdanhgia = _data[\"luotdanhgia\"];\r\n this.tennhatro = _data[\"tennhatro\"];\r\n this.tenchunhatro = _data[\"tenchunhatro\"];\r\n this.dienthoai = _data[\"dienthoai\"];\r\n this.diachi = _data[\"diachi\"];\r\n this.songuoithue = _data[\"songuoithue\"];\r\n this.sophong = _data[\"sophong\"];\r\n this.sophongTrong = _data[\"sophongTrong\"];\r\n this.sophongthue = _data[\"sophongthue\"];\r\n this.image = _data[\"image\"];\r\n this.anh1 = _data[\"anh1\"];\r\n this.anh2 = _data[\"anh2\"];\r\n this.anh3 = _data[\"anh3\"];\r\n this.avgDanhGia = _data[\"avgDanhGia\"];\r\n this.totalRateCount = _data[\"totalRateCount\"];\r\n this.dichVu = _data[\"dichVu\"];\r\n this.tuGia = _data[\"tuGia\"];\r\n this.denGia = _data[\"denGia\"];\r\n this.loaiNhaTro = _data[\"loaiNhaTro\"];\r\n this.huyen = _data[\"huyen\"];\r\n this.xa = _data[\"xa\"];\r\n this.mota = _data[\"mota\"];\r\n this.madiabankey = _data[\"madiabankey\"];\r\n this.ngayTao = _data[\"ngayTao\"] ? new Date(_data[\"ngayTao\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): NhaTroIndexModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NhaTroIndexModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"solanvipham\"] = this.solanvipham;\r\n data[\"luotdanhgia\"] = this.luotdanhgia;\r\n data[\"tennhatro\"] = this.tennhatro;\r\n data[\"tenchunhatro\"] = this.tenchunhatro;\r\n data[\"dienthoai\"] = this.dienthoai;\r\n data[\"diachi\"] = this.diachi;\r\n data[\"songuoithue\"] = this.songuoithue;\r\n data[\"sophong\"] = this.sophong;\r\n data[\"sophongTrong\"] = this.sophongTrong;\r\n data[\"sophongthue\"] = this.sophongthue;\r\n data[\"image\"] = this.image;\r\n data[\"anh1\"] = this.anh1;\r\n data[\"anh2\"] = this.anh2;\r\n data[\"anh3\"] = this.anh3;\r\n data[\"avgDanhGia\"] = this.avgDanhGia;\r\n data[\"totalRateCount\"] = this.totalRateCount;\r\n data[\"dichVu\"] = this.dichVu;\r\n data[\"tuGia\"] = this.tuGia;\r\n data[\"denGia\"] = this.denGia;\r\n data[\"loaiNhaTro\"] = this.loaiNhaTro;\r\n data[\"huyen\"] = this.huyen;\r\n data[\"xa\"] = this.xa;\r\n data[\"mota\"] = this.mota;\r\n data[\"madiabankey\"] = this.madiabankey;\r\n data[\"ngayTao\"] = this.ngayTao ? this.ngayTao.toISOString() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): NhaTroIndexModel {\r\n const json = this.toJSON();\r\n let result = new NhaTroIndexModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INhaTroIndexModel {\r\n id?: number;\r\n solanvipham?: number;\r\n luotdanhgia?: number;\r\n tennhatro?: string | undefined;\r\n tenchunhatro?: string | undefined;\r\n dienthoai?: string | undefined;\r\n diachi?: string | undefined;\r\n songuoithue?: number;\r\n sophong?: number;\r\n sophongTrong?: number;\r\n sophongthue?: number;\r\n image?: string | undefined;\r\n anh1?: string | undefined;\r\n anh2?: string | undefined;\r\n anh3?: string | undefined;\r\n avgDanhGia?: number;\r\n totalRateCount?: number;\r\n dichVu?: string | undefined;\r\n tuGia?: number | undefined;\r\n denGia?: number | undefined;\r\n loaiNhaTro?: number | undefined;\r\n huyen?: string | undefined;\r\n xa?: string | undefined;\r\n mota?: string | undefined;\r\n madiabankey?: string | undefined;\r\n ngayTao?: Date | undefined;\r\n}\r\n\r\nexport class NhaTroIndexModelCombobox implements INhaTroIndexModelCombobox {\r\n id?: number;\r\n tennhatro?: string | undefined;\r\n\r\n constructor(data?: INhaTroIndexModelCombobox) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tennhatro = _data[\"tennhatro\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NhaTroIndexModelCombobox {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NhaTroIndexModelCombobox();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tennhatro\"] = this.tennhatro;\r\n return data;\r\n }\r\n\r\n clone(): NhaTroIndexModelCombobox {\r\n const json = this.toJSON();\r\n let result = new NhaTroIndexModelCombobox();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INhaTroIndexModelCombobox {\r\n id?: number;\r\n tennhatro?: string | undefined;\r\n}\r\n\r\nexport class NhaTroIndexModelComboboxListApiResponse implements INhaTroIndexModelComboboxListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: NhaTroIndexModelCombobox[] | undefined;\r\n\r\n constructor(data?: INhaTroIndexModelComboboxListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new NhaTroIndexModelCombobox(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(NhaTroIndexModelCombobox.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): NhaTroIndexModelComboboxListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NhaTroIndexModelComboboxListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): NhaTroIndexModelComboboxListApiResponse {\r\n const json = this.toJSON();\r\n let result = new NhaTroIndexModelComboboxListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INhaTroIndexModelComboboxListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: INhaTroIndexModelCombobox[] | undefined;\r\n}\r\n\r\nexport class NhaTroIndexModelIEnumerableApiResponse implements INhaTroIndexModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: NhaTroIndexModel[] | undefined;\r\n\r\n constructor(data?: INhaTroIndexModelIEnumerableApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new NhaTroIndexModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(NhaTroIndexModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): NhaTroIndexModelIEnumerableApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NhaTroIndexModelIEnumerableApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): NhaTroIndexModelIEnumerableApiResponse {\r\n const json = this.toJSON();\r\n let result = new NhaTroIndexModelIEnumerableApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INhaTroIndexModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: INhaTroIndexModel[] | undefined;\r\n}\r\n\r\nexport class NhaTroIndexModelIEnumerablePageModelView implements INhaTroIndexModelIEnumerablePageModelView {\r\n data?: NhaTroIndexModel[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: INhaTroIndexModelIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new NhaTroIndexModel(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(NhaTroIndexModel.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NhaTroIndexModelIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NhaTroIndexModelIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): NhaTroIndexModelIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new NhaTroIndexModelIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INhaTroIndexModelIEnumerablePageModelView {\r\n data?: INhaTroIndexModel[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class NhaTroIndexModelIEnumerablePageModelViewApiResponse implements INhaTroIndexModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: NhaTroIndexModelIEnumerablePageModelView;\r\n\r\n constructor(data?: INhaTroIndexModelIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new NhaTroIndexModelIEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? NhaTroIndexModelIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): NhaTroIndexModelIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NhaTroIndexModelIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): NhaTroIndexModelIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new NhaTroIndexModelIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INhaTroIndexModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: INhaTroIndexModelIEnumerablePageModelView;\r\n}\r\n\r\nexport class NhaTroLocationModel implements INhaTroLocationModel {\r\n x?: string | undefined;\r\n y?: string | undefined;\r\n idNhatro?: number;\r\n\r\n constructor(data?: INhaTroLocationModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.x = _data[\"x\"];\r\n this.y = _data[\"y\"];\r\n this.idNhatro = _data[\"idNhatro\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NhaTroLocationModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NhaTroLocationModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"x\"] = this.x;\r\n data[\"y\"] = this.y;\r\n data[\"idNhatro\"] = this.idNhatro;\r\n return data;\r\n }\r\n\r\n clone(): NhaTroLocationModel {\r\n const json = this.toJSON();\r\n let result = new NhaTroLocationModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INhaTroLocationModel {\r\n x?: string | undefined;\r\n y?: string | undefined;\r\n idNhatro?: number;\r\n}\r\n\r\nexport class NhatroPhongtroVM implements INhatroPhongtroVM {\r\n id?: number;\r\n tennhatro?: string | undefined;\r\n diachicuthe?: string | undefined;\r\n trangthai?: number | undefined;\r\n tenchunhatro?: string | undefined;\r\n dienthoai?: string | undefined;\r\n idnguoitao?: number;\r\n cccdchutro?: string | undefined;\r\n loainhatro?: number;\r\n tinh?: string | undefined;\r\n huyen?: string | undefined;\r\n xa?: string | undefined;\r\n ngaytao?: Date | undefined;\r\n madiabankey?: string | undefined;\r\n mota?: string | undefined;\r\n motachitiet?: string | undefined;\r\n anhdaidien?: string | undefined;\r\n anh1?: string | undefined;\r\n anh2?: string | undefined;\r\n anh3?: string | undefined;\r\n sophong?: number | undefined;\r\n sotang?: number | undefined;\r\n anhdkkd?: string | undefined;\r\n sodkkd?: string | undefined;\r\n _listItemPhongtro?: ItemPhongtro[] | undefined;\r\n\r\n constructor(data?: INhatroPhongtroVM) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data._listItemPhongtro) {\r\n this._listItemPhongtro = [];\r\n for (let i = 0; i < data._listItemPhongtro.length; i++) {\r\n let item = data._listItemPhongtro[i];\r\n this._listItemPhongtro[i] = item && !(item).toJSON ? new ItemPhongtro(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tennhatro = _data[\"tennhatro\"];\r\n this.diachicuthe = _data[\"diachicuthe\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.tenchunhatro = _data[\"tenchunhatro\"];\r\n this.dienthoai = _data[\"dienthoai\"];\r\n this.idnguoitao = _data[\"idnguoitao\"];\r\n this.cccdchutro = _data[\"cccdchutro\"];\r\n this.loainhatro = _data[\"loainhatro\"];\r\n this.tinh = _data[\"tinh\"];\r\n this.huyen = _data[\"huyen\"];\r\n this.xa = _data[\"xa\"];\r\n this.ngaytao = _data[\"ngaytao\"] ? new Date(_data[\"ngaytao\"].toString()) : undefined;\r\n this.madiabankey = _data[\"madiabankey\"];\r\n this.mota = _data[\"mota\"];\r\n this.motachitiet = _data[\"motachitiet\"];\r\n this.anhdaidien = _data[\"anhdaidien\"];\r\n this.anh1 = _data[\"anh1\"];\r\n this.anh2 = _data[\"anh2\"];\r\n this.anh3 = _data[\"anh3\"];\r\n this.sophong = _data[\"sophong\"];\r\n this.sotang = _data[\"sotang\"];\r\n this.anhdkkd = _data[\"anhdkkd\"];\r\n this.sodkkd = _data[\"sodkkd\"];\r\n if (Array.isArray(_data[\"_listItemPhongtro\"])) {\r\n this._listItemPhongtro = [] as any;\r\n for (let item of _data[\"_listItemPhongtro\"])\r\n this._listItemPhongtro!.push(ItemPhongtro.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): NhatroPhongtroVM {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NhatroPhongtroVM();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tennhatro\"] = this.tennhatro;\r\n data[\"diachicuthe\"] = this.diachicuthe;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"tenchunhatro\"] = this.tenchunhatro;\r\n data[\"dienthoai\"] = this.dienthoai;\r\n data[\"idnguoitao\"] = this.idnguoitao;\r\n data[\"cccdchutro\"] = this.cccdchutro;\r\n data[\"loainhatro\"] = this.loainhatro;\r\n data[\"tinh\"] = this.tinh;\r\n data[\"huyen\"] = this.huyen;\r\n data[\"xa\"] = this.xa;\r\n data[\"ngaytao\"] = this.ngaytao ? this.ngaytao.toISOString() : undefined;\r\n data[\"madiabankey\"] = this.madiabankey;\r\n data[\"mota\"] = this.mota;\r\n data[\"motachitiet\"] = this.motachitiet;\r\n data[\"anhdaidien\"] = this.anhdaidien;\r\n data[\"anh1\"] = this.anh1;\r\n data[\"anh2\"] = this.anh2;\r\n data[\"anh3\"] = this.anh3;\r\n data[\"sophong\"] = this.sophong;\r\n data[\"sotang\"] = this.sotang;\r\n data[\"anhdkkd\"] = this.anhdkkd;\r\n data[\"sodkkd\"] = this.sodkkd;\r\n if (Array.isArray(this._listItemPhongtro)) {\r\n data[\"_listItemPhongtro\"] = [];\r\n for (let item of this._listItemPhongtro)\r\n data[\"_listItemPhongtro\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): NhatroPhongtroVM {\r\n const json = this.toJSON();\r\n let result = new NhatroPhongtroVM();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INhatroPhongtroVM {\r\n id?: number;\r\n tennhatro?: string | undefined;\r\n diachicuthe?: string | undefined;\r\n trangthai?: number | undefined;\r\n tenchunhatro?: string | undefined;\r\n dienthoai?: string | undefined;\r\n idnguoitao?: number;\r\n cccdchutro?: string | undefined;\r\n loainhatro?: number;\r\n tinh?: string | undefined;\r\n huyen?: string | undefined;\r\n xa?: string | undefined;\r\n ngaytao?: Date | undefined;\r\n madiabankey?: string | undefined;\r\n mota?: string | undefined;\r\n motachitiet?: string | undefined;\r\n anhdaidien?: string | undefined;\r\n anh1?: string | undefined;\r\n anh2?: string | undefined;\r\n anh3?: string | undefined;\r\n sophong?: number | undefined;\r\n sotang?: number | undefined;\r\n anhdkkd?: string | undefined;\r\n sodkkd?: string | undefined;\r\n _listItemPhongtro?: IItemPhongtro[] | undefined;\r\n}\r\n\r\nexport class NhatroPhongtroVMApiResponse implements INhatroPhongtroVMApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: NhatroPhongtroVM;\r\n\r\n constructor(data?: INhatroPhongtroVMApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new NhatroPhongtroVM(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? NhatroPhongtroVM.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): NhatroPhongtroVMApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NhatroPhongtroVMApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): NhatroPhongtroVMApiResponse {\r\n const json = this.toJSON();\r\n let result = new NhatroPhongtroVMApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INhatroPhongtroVMApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: INhatroPhongtroVM;\r\n}\r\n\r\nexport class NotificationModel implements INotificationModel {\r\n deviceId?: string | undefined;\r\n title?: string | undefined;\r\n body?: string | undefined;\r\n isAndroid?: boolean;\r\n\r\n constructor(data?: INotificationModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.deviceId = _data[\"deviceId\"];\r\n this.title = _data[\"title\"];\r\n this.body = _data[\"body\"];\r\n this.isAndroid = _data[\"isAndroid\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NotificationModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NotificationModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"deviceId\"] = this.deviceId;\r\n data[\"title\"] = this.title;\r\n data[\"body\"] = this.body;\r\n data[\"isAndroid\"] = this.isAndroid;\r\n return data;\r\n }\r\n\r\n clone(): NotificationModel {\r\n const json = this.toJSON();\r\n let result = new NotificationModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INotificationModel {\r\n deviceId?: string | undefined;\r\n title?: string | undefined;\r\n body?: string | undefined;\r\n isAndroid?: boolean;\r\n}\r\n\r\nexport class NumberFormatInfo implements INumberFormatInfo {\r\n currencyDecimalDigits?: number;\r\n currencyDecimalSeparator?: string | undefined;\r\n readonly isReadOnly?: boolean;\r\n currencyGroupSizes?: number[] | undefined;\r\n numberGroupSizes?: number[] | undefined;\r\n percentGroupSizes?: number[] | undefined;\r\n currencyGroupSeparator?: string | undefined;\r\n currencySymbol?: string | undefined;\r\n naNSymbol?: string | undefined;\r\n currencyNegativePattern?: number;\r\n numberNegativePattern?: number;\r\n percentPositivePattern?: number;\r\n percentNegativePattern?: number;\r\n negativeInfinitySymbol?: string | undefined;\r\n negativeSign?: string | undefined;\r\n numberDecimalDigits?: number;\r\n numberDecimalSeparator?: string | undefined;\r\n numberGroupSeparator?: string | undefined;\r\n currencyPositivePattern?: number;\r\n positiveInfinitySymbol?: string | undefined;\r\n positiveSign?: string | undefined;\r\n percentDecimalDigits?: number;\r\n percentDecimalSeparator?: string | undefined;\r\n percentGroupSeparator?: string | undefined;\r\n percentSymbol?: string | undefined;\r\n perMilleSymbol?: string | undefined;\r\n nativeDigits?: string[] | undefined;\r\n digitSubstitution?: DigitShapes;\r\n\r\n constructor(data?: INumberFormatInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.currencyDecimalDigits = _data[\"currencyDecimalDigits\"];\r\n this.currencyDecimalSeparator = _data[\"currencyDecimalSeparator\"];\r\n (this).isReadOnly = _data[\"isReadOnly\"];\r\n if (Array.isArray(_data[\"currencyGroupSizes\"])) {\r\n this.currencyGroupSizes = [] as any;\r\n for (let item of _data[\"currencyGroupSizes\"])\r\n this.currencyGroupSizes!.push(item);\r\n }\r\n if (Array.isArray(_data[\"numberGroupSizes\"])) {\r\n this.numberGroupSizes = [] as any;\r\n for (let item of _data[\"numberGroupSizes\"])\r\n this.numberGroupSizes!.push(item);\r\n }\r\n if (Array.isArray(_data[\"percentGroupSizes\"])) {\r\n this.percentGroupSizes = [] as any;\r\n for (let item of _data[\"percentGroupSizes\"])\r\n this.percentGroupSizes!.push(item);\r\n }\r\n this.currencyGroupSeparator = _data[\"currencyGroupSeparator\"];\r\n this.currencySymbol = _data[\"currencySymbol\"];\r\n this.naNSymbol = _data[\"naNSymbol\"];\r\n this.currencyNegativePattern = _data[\"currencyNegativePattern\"];\r\n this.numberNegativePattern = _data[\"numberNegativePattern\"];\r\n this.percentPositivePattern = _data[\"percentPositivePattern\"];\r\n this.percentNegativePattern = _data[\"percentNegativePattern\"];\r\n this.negativeInfinitySymbol = _data[\"negativeInfinitySymbol\"];\r\n this.negativeSign = _data[\"negativeSign\"];\r\n this.numberDecimalDigits = _data[\"numberDecimalDigits\"];\r\n this.numberDecimalSeparator = _data[\"numberDecimalSeparator\"];\r\n this.numberGroupSeparator = _data[\"numberGroupSeparator\"];\r\n this.currencyPositivePattern = _data[\"currencyPositivePattern\"];\r\n this.positiveInfinitySymbol = _data[\"positiveInfinitySymbol\"];\r\n this.positiveSign = _data[\"positiveSign\"];\r\n this.percentDecimalDigits = _data[\"percentDecimalDigits\"];\r\n this.percentDecimalSeparator = _data[\"percentDecimalSeparator\"];\r\n this.percentGroupSeparator = _data[\"percentGroupSeparator\"];\r\n this.percentSymbol = _data[\"percentSymbol\"];\r\n this.perMilleSymbol = _data[\"perMilleSymbol\"];\r\n if (Array.isArray(_data[\"nativeDigits\"])) {\r\n this.nativeDigits = [] as any;\r\n for (let item of _data[\"nativeDigits\"])\r\n this.nativeDigits!.push(item);\r\n }\r\n this.digitSubstitution = _data[\"digitSubstitution\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NumberFormatInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NumberFormatInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"currencyDecimalDigits\"] = this.currencyDecimalDigits;\r\n data[\"currencyDecimalSeparator\"] = this.currencyDecimalSeparator;\r\n data[\"isReadOnly\"] = this.isReadOnly;\r\n if (Array.isArray(this.currencyGroupSizes)) {\r\n data[\"currencyGroupSizes\"] = [];\r\n for (let item of this.currencyGroupSizes)\r\n data[\"currencyGroupSizes\"].push(item);\r\n }\r\n if (Array.isArray(this.numberGroupSizes)) {\r\n data[\"numberGroupSizes\"] = [];\r\n for (let item of this.numberGroupSizes)\r\n data[\"numberGroupSizes\"].push(item);\r\n }\r\n if (Array.isArray(this.percentGroupSizes)) {\r\n data[\"percentGroupSizes\"] = [];\r\n for (let item of this.percentGroupSizes)\r\n data[\"percentGroupSizes\"].push(item);\r\n }\r\n data[\"currencyGroupSeparator\"] = this.currencyGroupSeparator;\r\n data[\"currencySymbol\"] = this.currencySymbol;\r\n data[\"naNSymbol\"] = this.naNSymbol;\r\n data[\"currencyNegativePattern\"] = this.currencyNegativePattern;\r\n data[\"numberNegativePattern\"] = this.numberNegativePattern;\r\n data[\"percentPositivePattern\"] = this.percentPositivePattern;\r\n data[\"percentNegativePattern\"] = this.percentNegativePattern;\r\n data[\"negativeInfinitySymbol\"] = this.negativeInfinitySymbol;\r\n data[\"negativeSign\"] = this.negativeSign;\r\n data[\"numberDecimalDigits\"] = this.numberDecimalDigits;\r\n data[\"numberDecimalSeparator\"] = this.numberDecimalSeparator;\r\n data[\"numberGroupSeparator\"] = this.numberGroupSeparator;\r\n data[\"currencyPositivePattern\"] = this.currencyPositivePattern;\r\n data[\"positiveInfinitySymbol\"] = this.positiveInfinitySymbol;\r\n data[\"positiveSign\"] = this.positiveSign;\r\n data[\"percentDecimalDigits\"] = this.percentDecimalDigits;\r\n data[\"percentDecimalSeparator\"] = this.percentDecimalSeparator;\r\n data[\"percentGroupSeparator\"] = this.percentGroupSeparator;\r\n data[\"percentSymbol\"] = this.percentSymbol;\r\n data[\"perMilleSymbol\"] = this.perMilleSymbol;\r\n if (Array.isArray(this.nativeDigits)) {\r\n data[\"nativeDigits\"] = [];\r\n for (let item of this.nativeDigits)\r\n data[\"nativeDigits\"].push(item);\r\n }\r\n data[\"digitSubstitution\"] = this.digitSubstitution;\r\n return data;\r\n }\r\n\r\n clone(): NumberFormatInfo {\r\n const json = this.toJSON();\r\n let result = new NumberFormatInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INumberFormatInfo {\r\n currencyDecimalDigits?: number;\r\n currencyDecimalSeparator?: string | undefined;\r\n isReadOnly?: boolean;\r\n currencyGroupSizes?: number[] | undefined;\r\n numberGroupSizes?: number[] | undefined;\r\n percentGroupSizes?: number[] | undefined;\r\n currencyGroupSeparator?: string | undefined;\r\n currencySymbol?: string | undefined;\r\n naNSymbol?: string | undefined;\r\n currencyNegativePattern?: number;\r\n numberNegativePattern?: number;\r\n percentPositivePattern?: number;\r\n percentNegativePattern?: number;\r\n negativeInfinitySymbol?: string | undefined;\r\n negativeSign?: string | undefined;\r\n numberDecimalDigits?: number;\r\n numberDecimalSeparator?: string | undefined;\r\n numberGroupSeparator?: string | undefined;\r\n currencyPositivePattern?: number;\r\n positiveInfinitySymbol?: string | undefined;\r\n positiveSign?: string | undefined;\r\n percentDecimalDigits?: number;\r\n percentDecimalSeparator?: string | undefined;\r\n percentGroupSeparator?: string | undefined;\r\n percentSymbol?: string | undefined;\r\n perMilleSymbol?: string | undefined;\r\n nativeDigits?: string[] | undefined;\r\n digitSubstitution?: DigitShapes;\r\n}\r\n\r\nexport class ObjectApiResponse implements IObjectApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: any | undefined;\r\n\r\n constructor(data?: IObjectApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ObjectApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ObjectApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data;\r\n return data;\r\n }\r\n\r\n clone(): ObjectApiResponse {\r\n const json = this.toJSON();\r\n let result = new ObjectApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IObjectApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: any | undefined;\r\n}\r\n\r\nexport class ObjectIEnumerableApiResponse implements IObjectIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: any[] | undefined;\r\n\r\n constructor(data?: IObjectIEnumerableApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ObjectIEnumerableApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ObjectIEnumerableApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item);\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ObjectIEnumerableApiResponse {\r\n const json = this.toJSON();\r\n let result = new ObjectIEnumerableApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IObjectIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: any[] | undefined;\r\n}\r\n\r\nexport class ObjectIEnumerablePageModelView implements IObjectIEnumerablePageModelView {\r\n data?: any[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IObjectIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(item);\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ObjectIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ObjectIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item);\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): ObjectIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new ObjectIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IObjectIEnumerablePageModelView {\r\n data?: any[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class ObjectIEnumerablePageModelViewApiResponse implements IObjectIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ObjectIEnumerablePageModelView;\r\n\r\n constructor(data?: IObjectIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ObjectIEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ObjectIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ObjectIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ObjectIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ObjectIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new ObjectIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IObjectIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IObjectIEnumerablePageModelView;\r\n}\r\n\r\nexport class PageCauhinhdongbo implements IPageCauhinhdongbo {\r\n currentPage?: number;\r\n pageSize?: number;\r\n strKey?: string | undefined;\r\n\r\n constructor(data?: IPageCauhinhdongbo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.strKey = _data[\"strKey\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PageCauhinhdongbo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PageCauhinhdongbo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"strKey\"] = this.strKey;\r\n return data;\r\n }\r\n\r\n clone(): PageCauhinhdongbo {\r\n const json = this.toJSON();\r\n let result = new PageCauhinhdongbo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPageCauhinhdongbo {\r\n currentPage?: number;\r\n pageSize?: number;\r\n strKey?: string | undefined;\r\n}\r\n\r\nexport class PageCauhinhthongbao implements IPageCauhinhthongbao {\r\n currentPage?: number;\r\n pageSize?: number;\r\n strKey?: string | undefined;\r\n\r\n constructor(data?: IPageCauhinhthongbao) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.strKey = _data[\"strKey\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PageCauhinhthongbao {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PageCauhinhthongbao();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"strKey\"] = this.strKey;\r\n return data;\r\n }\r\n\r\n clone(): PageCauhinhthongbao {\r\n const json = this.toJSON();\r\n let result = new PageCauhinhthongbao();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPageCauhinhthongbao {\r\n currentPage?: number;\r\n pageSize?: number;\r\n strKey?: string | undefined;\r\n}\r\n\r\nexport class PageDanhgia implements IPageDanhgia {\r\n\r\n constructor(data?: IPageDanhgia) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): PageDanhgia {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PageDanhgia();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data;\r\n }\r\n\r\n clone(): PageDanhgia {\r\n const json = this.toJSON();\r\n let result = new PageDanhgia();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPageDanhgia {\r\n}\r\n\r\nexport class PageDiaban implements IPageDiaban {\r\n currentPage?: number;\r\n pageSize?: number;\r\n strKey?: string | undefined;\r\n\r\n constructor(data?: IPageDiaban) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.strKey = _data[\"strKey\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PageDiaban {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PageDiaban();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"strKey\"] = this.strKey;\r\n return data;\r\n }\r\n\r\n clone(): PageDiaban {\r\n const json = this.toJSON();\r\n let result = new PageDiaban();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPageDiaban {\r\n currentPage?: number;\r\n pageSize?: number;\r\n strKey?: string | undefined;\r\n}\r\n\r\nexport class PageDmcongty implements IPageDmcongty {\r\n currentPage?: number;\r\n pageSize?: number;\r\n strKey?: string | undefined;\r\n\r\n constructor(data?: IPageDmcongty) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.strKey = _data[\"strKey\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PageDmcongty {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PageDmcongty();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"strKey\"] = this.strKey;\r\n return data;\r\n }\r\n\r\n clone(): PageDmcongty {\r\n const json = this.toJSON();\r\n let result = new PageDmcongty();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPageDmcongty {\r\n currentPage?: number;\r\n pageSize?: number;\r\n strKey?: string | undefined;\r\n}\r\n\r\nexport class PageDmdantoc implements IPageDmdantoc {\r\n currentPage?: number;\r\n pageSize?: number;\r\n strKey?: string | undefined;\r\n\r\n constructor(data?: IPageDmdantoc) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.strKey = _data[\"strKey\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PageDmdantoc {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PageDmdantoc();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"strKey\"] = this.strKey;\r\n return data;\r\n }\r\n\r\n clone(): PageDmdantoc {\r\n const json = this.toJSON();\r\n let result = new PageDmdantoc();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPageDmdantoc {\r\n currentPage?: number;\r\n pageSize?: number;\r\n strKey?: string | undefined;\r\n}\r\n\r\nexport class PageHuongdan implements IPageHuongdan {\r\n currentPage?: number;\r\n pageSize?: number;\r\n strKey?: string | undefined;\r\n\r\n constructor(data?: IPageHuongdan) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.strKey = _data[\"strKey\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PageHuongdan {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PageHuongdan();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"strKey\"] = this.strKey;\r\n return data;\r\n }\r\n\r\n clone(): PageHuongdan {\r\n const json = this.toJSON();\r\n let result = new PageHuongdan();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPageHuongdan {\r\n currentPage?: number;\r\n pageSize?: number;\r\n strKey?: string | undefined;\r\n}\r\n\r\nexport class PageModel implements IPageModel {\r\n search?: string | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n condition?: string | undefined;\r\n sortColumn?: string | undefined;\r\n sortExpression?: string | undefined;\r\n status?: string | undefined;\r\n columnName?: string | undefined;\r\n\r\n constructor(data?: IPageModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.search = _data[\"search\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.condition = _data[\"condition\"];\r\n this.sortColumn = _data[\"sortColumn\"];\r\n this.sortExpression = _data[\"sortExpression\"];\r\n this.status = _data[\"status\"];\r\n this.columnName = _data[\"columnName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PageModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PageModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"search\"] = this.search;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"condition\"] = this.condition;\r\n data[\"sortColumn\"] = this.sortColumn;\r\n data[\"sortExpression\"] = this.sortExpression;\r\n data[\"status\"] = this.status;\r\n data[\"columnName\"] = this.columnName;\r\n return data;\r\n }\r\n\r\n clone(): PageModel {\r\n const json = this.toJSON();\r\n let result = new PageModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPageModel {\r\n search?: string | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n condition?: string | undefined;\r\n sortColumn?: string | undefined;\r\n sortExpression?: string | undefined;\r\n status?: string | undefined;\r\n columnName?: string | undefined;\r\n}\r\n\r\nexport class PageNguoithue2 implements IPageNguoithue2 {\r\n currentPage?: number;\r\n pageSize?: number;\r\n strKey?: string | undefined;\r\n\r\n constructor(data?: IPageNguoithue2) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.strKey = _data[\"strKey\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PageNguoithue2 {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PageNguoithue2();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"strKey\"] = this.strKey;\r\n return data;\r\n }\r\n\r\n clone(): PageNguoithue2 {\r\n const json = this.toJSON();\r\n let result = new PageNguoithue2();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPageNguoithue2 {\r\n currentPage?: number;\r\n pageSize?: number;\r\n strKey?: string | undefined;\r\n}\r\n\r\nexport class PageNhatkyDoituongTheodoi implements IPageNhatkyDoituongTheodoi {\r\n currentPage?: number;\r\n pageSize?: number;\r\n strKey?: string | undefined;\r\n\r\n constructor(data?: IPageNhatkyDoituongTheodoi) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.strKey = _data[\"strKey\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PageNhatkyDoituongTheodoi {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PageNhatkyDoituongTheodoi();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"strKey\"] = this.strKey;\r\n return data;\r\n }\r\n\r\n clone(): PageNhatkyDoituongTheodoi {\r\n const json = this.toJSON();\r\n let result = new PageNhatkyDoituongTheodoi();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPageNhatkyDoituongTheodoi {\r\n currentPage?: number;\r\n pageSize?: number;\r\n strKey?: string | undefined;\r\n}\r\n\r\nexport class PageNhatro2 implements IPageNhatro2 {\r\n currentPage?: number;\r\n pageSize?: number;\r\n strKey?: string | undefined;\r\n\r\n constructor(data?: IPageNhatro2) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.strKey = _data[\"strKey\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PageNhatro2 {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PageNhatro2();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"strKey\"] = this.strKey;\r\n return data;\r\n }\r\n\r\n clone(): PageNhatro2 {\r\n const json = this.toJSON();\r\n let result = new PageNhatro2();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPageNhatro2 {\r\n currentPage?: number;\r\n pageSize?: number;\r\n strKey?: string | undefined;\r\n}\r\n\r\nexport class PagePhanhoi implements IPagePhanhoi {\r\n\r\n constructor(data?: IPagePhanhoi) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): PagePhanhoi {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PagePhanhoi();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data;\r\n }\r\n\r\n clone(): PagePhanhoi {\r\n const json = this.toJSON();\r\n let result = new PagePhanhoi();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPagePhanhoi {\r\n}\r\n\r\nexport class PageTinlaodong implements IPageTinlaodong {\r\n currentPage?: number;\r\n pageSize?: number;\r\n strKey?: string | undefined;\r\n\r\n constructor(data?: IPageTinlaodong) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.strKey = _data[\"strKey\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PageTinlaodong {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PageTinlaodong();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"strKey\"] = this.strKey;\r\n return data;\r\n }\r\n\r\n clone(): PageTinlaodong {\r\n const json = this.toJSON();\r\n let result = new PageTinlaodong();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPageTinlaodong {\r\n currentPage?: number;\r\n pageSize?: number;\r\n strKey?: string | undefined;\r\n}\r\n\r\nexport class PageZalo implements IPageZalo {\r\n currentPage?: number;\r\n pageSize?: number;\r\n strKey?: string | undefined;\r\n\r\n constructor(data?: IPageZalo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.strKey = _data[\"strKey\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PageZalo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PageZalo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"strKey\"] = this.strKey;\r\n return data;\r\n }\r\n\r\n clone(): PageZalo {\r\n const json = this.toJSON();\r\n let result = new PageZalo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPageZalo {\r\n currentPage?: number;\r\n pageSize?: number;\r\n strKey?: string | undefined;\r\n}\r\n\r\nexport class PageZaloDoituong implements IPageZaloDoituong {\r\n currentPage?: number;\r\n pageSize?: number;\r\n strKey?: string | undefined;\r\n\r\n constructor(data?: IPageZaloDoituong) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.strKey = _data[\"strKey\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PageZaloDoituong {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PageZaloDoituong();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"strKey\"] = this.strKey;\r\n return data;\r\n }\r\n\r\n clone(): PageZaloDoituong {\r\n const json = this.toJSON();\r\n let result = new PageZaloDoituong();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPageZaloDoituong {\r\n currentPage?: number;\r\n pageSize?: number;\r\n strKey?: string | undefined;\r\n}\r\n\r\nexport enum ParameterAttributes {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _4 = 4,\r\n _8 = 8,\r\n _16 = 16,\r\n _4096 = 4096,\r\n _8192 = 8192,\r\n _16384 = 16384,\r\n _32768 = 32768,\r\n _61440 = 61440,\r\n}\r\n\r\nexport enum ParameterDirection {\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _6 = 6,\r\n}\r\n\r\nexport class ParameterInfo implements IParameterInfo {\r\n attributes?: ParameterAttributes;\r\n member?: MemberInfo;\r\n readonly name?: string | undefined;\r\n parameterType?: Type;\r\n readonly position?: number;\r\n readonly isIn?: boolean;\r\n readonly isLcid?: boolean;\r\n readonly isOptional?: boolean;\r\n readonly isOut?: boolean;\r\n readonly isRetval?: boolean;\r\n readonly defaultValue?: any | undefined;\r\n readonly rawDefaultValue?: any | undefined;\r\n readonly hasDefaultValue?: boolean;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly metadataToken?: number;\r\n\r\n constructor(data?: IParameterInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.member = data.member && !(data.member).toJSON ? new MemberInfo(data.member) : this.member;\r\n this.parameterType = data.parameterType && !(data.parameterType).toJSON ? new Type(data.parameterType) : this.parameterType;\r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.attributes = _data[\"attributes\"];\r\n this.member = _data[\"member\"] ? MemberInfo.fromJS(_data[\"member\"]) : undefined;\r\n (this).name = _data[\"name\"];\r\n this.parameterType = _data[\"parameterType\"] ? Type.fromJS(_data[\"parameterType\"]) : undefined;\r\n (this).position = _data[\"position\"];\r\n (this).isIn = _data[\"isIn\"];\r\n (this).isLcid = _data[\"isLcid\"];\r\n (this).isOptional = _data[\"isOptional\"];\r\n (this).isOut = _data[\"isOut\"];\r\n (this).isRetval = _data[\"isRetval\"];\r\n (this).defaultValue = _data[\"defaultValue\"];\r\n (this).rawDefaultValue = _data[\"rawDefaultValue\"];\r\n (this).hasDefaultValue = _data[\"hasDefaultValue\"];\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ParameterInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ParameterInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"attributes\"] = this.attributes;\r\n data[\"member\"] = this.member ? this.member.toJSON() : undefined;\r\n data[\"name\"] = this.name;\r\n data[\"parameterType\"] = this.parameterType ? this.parameterType.toJSON() : undefined;\r\n data[\"position\"] = this.position;\r\n data[\"isIn\"] = this.isIn;\r\n data[\"isLcid\"] = this.isLcid;\r\n data[\"isOptional\"] = this.isOptional;\r\n data[\"isOut\"] = this.isOut;\r\n data[\"isRetval\"] = this.isRetval;\r\n data[\"defaultValue\"] = this.defaultValue;\r\n data[\"rawDefaultValue\"] = this.rawDefaultValue;\r\n data[\"hasDefaultValue\"] = this.hasDefaultValue;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"metadataToken\"] = this.metadataToken;\r\n return data;\r\n }\r\n\r\n clone(): ParameterInfo {\r\n const json = this.toJSON();\r\n let result = new ParameterInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IParameterInfo {\r\n attributes?: ParameterAttributes;\r\n member?: IMemberInfo;\r\n name?: string | undefined;\r\n parameterType?: IType;\r\n position?: number;\r\n isIn?: boolean;\r\n isLcid?: boolean;\r\n isOptional?: boolean;\r\n isOut?: boolean;\r\n isRetval?: boolean;\r\n defaultValue?: any | undefined;\r\n rawDefaultValue?: any | undefined;\r\n hasDefaultValue?: boolean;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n metadataToken?: number;\r\n}\r\n\r\nexport class ParamNguoiThue implements IParamNguoiThue {\r\n idnhatro?: number | undefined;\r\n idhopdong?: number | undefined;\r\n idphong?: number | undefined;\r\n\r\n constructor(data?: IParamNguoiThue) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.idnhatro = _data[\"idnhatro\"];\r\n this.idhopdong = _data[\"idhopdong\"];\r\n this.idphong = _data[\"idphong\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ParamNguoiThue {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ParamNguoiThue();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"idnhatro\"] = this.idnhatro;\r\n data[\"idhopdong\"] = this.idhopdong;\r\n data[\"idphong\"] = this.idphong;\r\n return data;\r\n }\r\n\r\n clone(): ParamNguoiThue {\r\n const json = this.toJSON();\r\n let result = new ParamNguoiThue();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IParamNguoiThue {\r\n idnhatro?: number | undefined;\r\n idhopdong?: number | undefined;\r\n idphong?: number | undefined;\r\n}\r\n\r\nexport class PhanAnhTrinhBaoSearchModel implements IPhanAnhTrinhBaoSearchModel {\r\n capDonVi?: number | undefined;\r\n unitcode?: string | undefined;\r\n\r\n constructor(data?: IPhanAnhTrinhBaoSearchModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.capDonVi = _data[\"capDonVi\"];\r\n this.unitcode = _data[\"unitcode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PhanAnhTrinhBaoSearchModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PhanAnhTrinhBaoSearchModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"capDonVi\"] = this.capDonVi;\r\n data[\"unitcode\"] = this.unitcode;\r\n return data;\r\n }\r\n\r\n clone(): PhanAnhTrinhBaoSearchModel {\r\n const json = this.toJSON();\r\n let result = new PhanAnhTrinhBaoSearchModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPhanAnhTrinhBaoSearchModel {\r\n capDonVi?: number | undefined;\r\n unitcode?: string | undefined;\r\n}\r\n\r\nexport class PhanHoiModel implements IPhanHoiModel {\r\n idDanhGia?: number;\r\n idNguoiPhanHoi?: number;\r\n noiDung?: string | undefined;\r\n thoiGianPhanHoi?: Date;\r\n nguoiPhanHoi?: string | undefined;\r\n avatar?: string | undefined;\r\n\r\n constructor(data?: IPhanHoiModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.idDanhGia = _data[\"idDanhGia\"];\r\n this.idNguoiPhanHoi = _data[\"idNguoiPhanHoi\"];\r\n this.noiDung = _data[\"noiDung\"];\r\n this.thoiGianPhanHoi = _data[\"thoiGianPhanHoi\"] ? new Date(_data[\"thoiGianPhanHoi\"].toString()) : undefined;\r\n this.nguoiPhanHoi = _data[\"nguoiPhanHoi\"];\r\n this.avatar = _data[\"avatar\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PhanHoiModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PhanHoiModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"idDanhGia\"] = this.idDanhGia;\r\n data[\"idNguoiPhanHoi\"] = this.idNguoiPhanHoi;\r\n data[\"noiDung\"] = this.noiDung;\r\n data[\"thoiGianPhanHoi\"] = this.thoiGianPhanHoi ? this.thoiGianPhanHoi.toISOString() : undefined;\r\n data[\"nguoiPhanHoi\"] = this.nguoiPhanHoi;\r\n data[\"avatar\"] = this.avatar;\r\n return data;\r\n }\r\n\r\n clone(): PhanHoiModel {\r\n const json = this.toJSON();\r\n let result = new PhanHoiModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPhanHoiModel {\r\n idDanhGia?: number;\r\n idNguoiPhanHoi?: number;\r\n noiDung?: string | undefined;\r\n thoiGianPhanHoi?: Date;\r\n nguoiPhanHoi?: string | undefined;\r\n avatar?: string | undefined;\r\n}\r\n\r\nexport class PhanHoiSelectModel implements IPhanHoiSelectModel {\r\n idPhanHoi?: number;\r\n idNguoiDanhGia?: number;\r\n avatarNguoiDanhGia?: string | undefined;\r\n tenNguoiDanhGia?: string | undefined;\r\n diem?: number | undefined;\r\n noiDungDanhGia?: string | undefined;\r\n noiDungPhanHoi?: string | undefined;\r\n thoiGianDanhGia?: Date | undefined;\r\n\r\n constructor(data?: IPhanHoiSelectModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.idPhanHoi = _data[\"idPhanHoi\"];\r\n this.idNguoiDanhGia = _data[\"idNguoiDanhGia\"];\r\n this.avatarNguoiDanhGia = _data[\"avatarNguoiDanhGia\"];\r\n this.tenNguoiDanhGia = _data[\"tenNguoiDanhGia\"];\r\n this.diem = _data[\"diem\"];\r\n this.noiDungDanhGia = _data[\"noiDungDanhGia\"];\r\n this.noiDungPhanHoi = _data[\"noiDungPhanHoi\"];\r\n this.thoiGianDanhGia = _data[\"thoiGianDanhGia\"] ? new Date(_data[\"thoiGianDanhGia\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PhanHoiSelectModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PhanHoiSelectModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"idPhanHoi\"] = this.idPhanHoi;\r\n data[\"idNguoiDanhGia\"] = this.idNguoiDanhGia;\r\n data[\"avatarNguoiDanhGia\"] = this.avatarNguoiDanhGia;\r\n data[\"tenNguoiDanhGia\"] = this.tenNguoiDanhGia;\r\n data[\"diem\"] = this.diem;\r\n data[\"noiDungDanhGia\"] = this.noiDungDanhGia;\r\n data[\"noiDungPhanHoi\"] = this.noiDungPhanHoi;\r\n data[\"thoiGianDanhGia\"] = this.thoiGianDanhGia ? this.thoiGianDanhGia.toISOString() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): PhanHoiSelectModel {\r\n const json = this.toJSON();\r\n let result = new PhanHoiSelectModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPhanHoiSelectModel {\r\n idPhanHoi?: number;\r\n idNguoiDanhGia?: number;\r\n avatarNguoiDanhGia?: string | undefined;\r\n tenNguoiDanhGia?: string | undefined;\r\n diem?: number | undefined;\r\n noiDungDanhGia?: string | undefined;\r\n noiDungPhanHoi?: string | undefined;\r\n thoiGianDanhGia?: Date | undefined;\r\n}\r\n\r\nexport class PhanHoiSelectModelApiResponse implements IPhanHoiSelectModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: PhanHoiSelectModel;\r\n\r\n constructor(data?: IPhanHoiSelectModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new PhanHoiSelectModel(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? PhanHoiSelectModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PhanHoiSelectModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PhanHoiSelectModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): PhanHoiSelectModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new PhanHoiSelectModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPhanHoiSelectModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IPhanHoiSelectModel;\r\n}\r\n\r\nexport class PhanHoiUpdateModel implements IPhanHoiUpdateModel {\r\n id?: number;\r\n idDanhGia?: number | undefined;\r\n idNguoiPhanHoi?: number | undefined;\r\n noiDungPhanHoi?: string | undefined;\r\n thoiGianPhanHoi?: Date | undefined;\r\n\r\n constructor(data?: IPhanHoiUpdateModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.idDanhGia = _data[\"idDanhGia\"];\r\n this.idNguoiPhanHoi = _data[\"idNguoiPhanHoi\"];\r\n this.noiDungPhanHoi = _data[\"noiDungPhanHoi\"];\r\n this.thoiGianPhanHoi = _data[\"thoiGianPhanHoi\"] ? new Date(_data[\"thoiGianPhanHoi\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PhanHoiUpdateModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PhanHoiUpdateModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"idDanhGia\"] = this.idDanhGia;\r\n data[\"idNguoiPhanHoi\"] = this.idNguoiPhanHoi;\r\n data[\"noiDungPhanHoi\"] = this.noiDungPhanHoi;\r\n data[\"thoiGianPhanHoi\"] = this.thoiGianPhanHoi ? this.thoiGianPhanHoi.toISOString() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): PhanHoiUpdateModel {\r\n const json = this.toJSON();\r\n let result = new PhanHoiUpdateModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPhanHoiUpdateModel {\r\n id?: number;\r\n idDanhGia?: number | undefined;\r\n idNguoiPhanHoi?: number | undefined;\r\n noiDungPhanHoi?: string | undefined;\r\n thoiGianPhanHoi?: Date | undefined;\r\n}\r\n\r\nexport class PhongtroEntity implements IPhongtroEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n anh1?: string | undefined;\r\n anh2?: string | undefined;\r\n anh3?: string | undefined;\r\n dientich?: number | undefined;\r\n dongia?: number | undefined;\r\n hoatdong?: boolean | undefined;\r\n id?: number;\r\n idnhatro?: number;\r\n maphong?: string | undefined;\r\n mota?: string | undefined;\r\n ngaytao?: Date | undefined;\r\n songuoitoida?: number | undefined;\r\n tang?: number | undefined;\r\n tenphong?: string | undefined;\r\n trangthai?: number | undefined;\r\n\r\n constructor(data?: IPhongtroEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.anh1 = _data[\"anh1\"];\r\n this.anh2 = _data[\"anh2\"];\r\n this.anh3 = _data[\"anh3\"];\r\n this.dientich = _data[\"dientich\"];\r\n this.dongia = _data[\"dongia\"];\r\n this.hoatdong = _data[\"hoatdong\"];\r\n this.id = _data[\"id\"];\r\n this.idnhatro = _data[\"idnhatro\"];\r\n this.maphong = _data[\"maphong\"];\r\n this.mota = _data[\"mota\"];\r\n this.ngaytao = _data[\"ngaytao\"] ? new Date(_data[\"ngaytao\"].toString()) : undefined;\r\n this.songuoitoida = _data[\"songuoitoida\"];\r\n this.tang = _data[\"tang\"];\r\n this.tenphong = _data[\"tenphong\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PhongtroEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PhongtroEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"anh1\"] = this.anh1;\r\n data[\"anh2\"] = this.anh2;\r\n data[\"anh3\"] = this.anh3;\r\n data[\"dientich\"] = this.dientich;\r\n data[\"dongia\"] = this.dongia;\r\n data[\"hoatdong\"] = this.hoatdong;\r\n data[\"id\"] = this.id;\r\n data[\"idnhatro\"] = this.idnhatro;\r\n data[\"maphong\"] = this.maphong;\r\n data[\"mota\"] = this.mota;\r\n data[\"ngaytao\"] = this.ngaytao ? this.ngaytao.toISOString() : undefined;\r\n data[\"songuoitoida\"] = this.songuoitoida;\r\n data[\"tang\"] = this.tang;\r\n data[\"tenphong\"] = this.tenphong;\r\n data[\"trangthai\"] = this.trangthai;\r\n return data;\r\n }\r\n\r\n clone(): PhongtroEntity {\r\n const json = this.toJSON();\r\n let result = new PhongtroEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPhongtroEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n anh1?: string | undefined;\r\n anh2?: string | undefined;\r\n anh3?: string | undefined;\r\n dientich?: number | undefined;\r\n dongia?: number | undefined;\r\n hoatdong?: boolean | undefined;\r\n id?: number;\r\n idnhatro?: number;\r\n maphong?: string | undefined;\r\n mota?: string | undefined;\r\n ngaytao?: Date | undefined;\r\n songuoitoida?: number | undefined;\r\n tang?: number | undefined;\r\n tenphong?: string | undefined;\r\n trangthai?: number | undefined;\r\n}\r\n\r\nexport class PhongtroEntityApiResponse implements IPhongtroEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: PhongtroEntity;\r\n\r\n constructor(data?: IPhongtroEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new PhongtroEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? PhongtroEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PhongtroEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PhongtroEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): PhongtroEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new PhongtroEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPhongtroEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IPhongtroEntity;\r\n}\r\n\r\nexport class PhongtroEntityIEnumerableApiResponse implements IPhongtroEntityIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: PhongtroEntity[] | undefined;\r\n\r\n constructor(data?: IPhongtroEntityIEnumerableApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new PhongtroEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(PhongtroEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): PhongtroEntityIEnumerableApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PhongtroEntityIEnumerableApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): PhongtroEntityIEnumerableApiResponse {\r\n const json = this.toJSON();\r\n let result = new PhongtroEntityIEnumerableApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPhongtroEntityIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IPhongtroEntity[] | undefined;\r\n}\r\n\r\nexport class PhongtroEntityListApiResponse implements IPhongtroEntityListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: PhongtroEntity[] | undefined;\r\n\r\n constructor(data?: IPhongtroEntityListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new PhongtroEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(PhongtroEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): PhongtroEntityListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PhongtroEntityListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): PhongtroEntityListApiResponse {\r\n const json = this.toJSON();\r\n let result = new PhongtroEntityListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPhongtroEntityListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IPhongtroEntity[] | undefined;\r\n}\r\n\r\nexport class PhongTroHDModel implements IPhongTroHDModel {\r\n tenphong?: string | undefined;\r\n idnhatro?: number | undefined;\r\n idphong?: number | undefined;\r\n tienPhong?: number | undefined;\r\n\r\n constructor(data?: IPhongTroHDModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.tenphong = _data[\"tenphong\"];\r\n this.idnhatro = _data[\"idnhatro\"];\r\n this.idphong = _data[\"idphong\"];\r\n this.tienPhong = _data[\"tienPhong\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PhongTroHDModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PhongTroHDModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"tenphong\"] = this.tenphong;\r\n data[\"idnhatro\"] = this.idnhatro;\r\n data[\"idphong\"] = this.idphong;\r\n data[\"tienPhong\"] = this.tienPhong;\r\n return data;\r\n }\r\n\r\n clone(): PhongTroHDModel {\r\n const json = this.toJSON();\r\n let result = new PhongTroHDModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPhongTroHDModel {\r\n tenphong?: string | undefined;\r\n idnhatro?: number | undefined;\r\n idphong?: number | undefined;\r\n tienPhong?: number | undefined;\r\n}\r\n\r\nexport class PhongTroHDModelListApiResponse implements IPhongTroHDModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: PhongTroHDModel[] | undefined;\r\n\r\n constructor(data?: IPhongTroHDModelListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new PhongTroHDModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(PhongTroHDModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): PhongTroHDModelListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PhongTroHDModelListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): PhongTroHDModelListApiResponse {\r\n const json = this.toJSON();\r\n let result = new PhongTroHDModelListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPhongTroHDModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IPhongTroHDModel[] | undefined;\r\n}\r\n\r\nexport class PhongTroViewModel implements IPhongTroViewModel {\r\n dientich?: number | undefined;\r\n dongia?: number | undefined;\r\n hoatdong?: boolean | undefined;\r\n id?: number;\r\n idnhatro?: number;\r\n maphong?: string | undefined;\r\n mota?: string | undefined;\r\n ngaytao?: Date | undefined;\r\n songuoitoida?: number | undefined;\r\n tang?: number | undefined;\r\n tenphong?: string | undefined;\r\n trangthai?: number | undefined;\r\n slnguoithuephong?: number | undefined;\r\n\r\n constructor(data?: IPhongTroViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.dientich = _data[\"dientich\"];\r\n this.dongia = _data[\"dongia\"];\r\n this.hoatdong = _data[\"hoatdong\"];\r\n this.id = _data[\"id\"];\r\n this.idnhatro = _data[\"idnhatro\"];\r\n this.maphong = _data[\"maphong\"];\r\n this.mota = _data[\"mota\"];\r\n this.ngaytao = _data[\"ngaytao\"] ? new Date(_data[\"ngaytao\"].toString()) : undefined;\r\n this.songuoitoida = _data[\"songuoitoida\"];\r\n this.tang = _data[\"tang\"];\r\n this.tenphong = _data[\"tenphong\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.slnguoithuephong = _data[\"slnguoithuephong\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PhongTroViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PhongTroViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"dientich\"] = this.dientich;\r\n data[\"dongia\"] = this.dongia;\r\n data[\"hoatdong\"] = this.hoatdong;\r\n data[\"id\"] = this.id;\r\n data[\"idnhatro\"] = this.idnhatro;\r\n data[\"maphong\"] = this.maphong;\r\n data[\"mota\"] = this.mota;\r\n data[\"ngaytao\"] = this.ngaytao ? this.ngaytao.toISOString() : undefined;\r\n data[\"songuoitoida\"] = this.songuoitoida;\r\n data[\"tang\"] = this.tang;\r\n data[\"tenphong\"] = this.tenphong;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"slnguoithuephong\"] = this.slnguoithuephong;\r\n return data;\r\n }\r\n\r\n clone(): PhongTroViewModel {\r\n const json = this.toJSON();\r\n let result = new PhongTroViewModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPhongTroViewModel {\r\n dientich?: number | undefined;\r\n dongia?: number | undefined;\r\n hoatdong?: boolean | undefined;\r\n id?: number;\r\n idnhatro?: number;\r\n maphong?: string | undefined;\r\n mota?: string | undefined;\r\n ngaytao?: Date | undefined;\r\n songuoitoida?: number | undefined;\r\n tang?: number | undefined;\r\n tenphong?: string | undefined;\r\n trangthai?: number | undefined;\r\n slnguoithuephong?: number | undefined;\r\n}\r\n\r\nexport enum PropertyAttributes {\r\n _0 = 0,\r\n _512 = 512,\r\n _1024 = 1024,\r\n _4096 = 4096,\r\n _8192 = 8192,\r\n _16384 = 16384,\r\n _32768 = 32768,\r\n _62464 = 62464,\r\n}\r\n\r\nexport class PropertyInfo implements IPropertyInfo {\r\n readonly name?: string | undefined;\r\n declaringType?: Type;\r\n reflectedType?: Type;\r\n module?: Module;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n memberType?: MemberTypes;\r\n propertyType?: Type;\r\n attributes?: PropertyAttributes;\r\n readonly isSpecialName?: boolean;\r\n readonly canRead?: boolean;\r\n readonly canWrite?: boolean;\r\n getMethod?: MethodInfo;\r\n setMethod?: MethodInfo;\r\n\r\n constructor(data?: IPropertyInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType;\r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType;\r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module;\r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.propertyType = data.propertyType && !(data.propertyType).toJSON ? new Type(data.propertyType) : this.propertyType;\r\n this.getMethod = data.getMethod && !(data.getMethod).toJSON ? new MethodInfo(data.getMethod) : this.getMethod;\r\n this.setMethod = data.setMethod && !(data.setMethod).toJSON ? new MethodInfo(data.setMethod) : this.setMethod;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n this.memberType = _data[\"memberType\"];\r\n this.propertyType = _data[\"propertyType\"] ? Type.fromJS(_data[\"propertyType\"]) : undefined;\r\n this.attributes = _data[\"attributes\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n (this).canRead = _data[\"canRead\"];\r\n (this).canWrite = _data[\"canWrite\"];\r\n this.getMethod = _data[\"getMethod\"] ? MethodInfo.fromJS(_data[\"getMethod\"]) : undefined;\r\n this.setMethod = _data[\"setMethod\"] ? MethodInfo.fromJS(_data[\"setMethod\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PropertyInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PropertyInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"memberType\"] = this.memberType;\r\n data[\"propertyType\"] = this.propertyType ? this.propertyType.toJSON() : undefined;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"canRead\"] = this.canRead;\r\n data[\"canWrite\"] = this.canWrite;\r\n data[\"getMethod\"] = this.getMethod ? this.getMethod.toJSON() : undefined;\r\n data[\"setMethod\"] = this.setMethod ? this.setMethod.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): PropertyInfo {\r\n const json = this.toJSON();\r\n let result = new PropertyInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPropertyInfo {\r\n name?: string | undefined;\r\n declaringType?: IType;\r\n reflectedType?: IType;\r\n module?: IModule;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n memberType?: MemberTypes;\r\n propertyType?: IType;\r\n attributes?: PropertyAttributes;\r\n isSpecialName?: boolean;\r\n canRead?: boolean;\r\n canWrite?: boolean;\r\n getMethod?: IMethodInfo;\r\n setMethod?: IMethodInfo;\r\n}\r\n\r\nexport class RegisterAccountPostModel implements IRegisterAccountPostModel {\r\n lstFile?: FileInsertModel[] | undefined;\r\n password?: string | undefined;\r\n groupId?: number | undefined;\r\n lstIdFileDelete?: number[] | undefined;\r\n entity?: TaikhoanEntity;\r\n\r\n constructor(data?: IRegisterAccountPostModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstFile) {\r\n this.lstFile = [];\r\n for (let i = 0; i < data.lstFile.length; i++) {\r\n let item = data.lstFile[i];\r\n this.lstFile[i] = item && !(item).toJSON ? new FileInsertModel(item) : item;\r\n }\r\n }\r\n this.entity = data.entity && !(data.entity).toJSON ? new TaikhoanEntity(data.entity) : this.entity;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"lstFile\"])) {\r\n this.lstFile = [] as any;\r\n for (let item of _data[\"lstFile\"])\r\n this.lstFile!.push(FileInsertModel.fromJS(item));\r\n }\r\n this.password = _data[\"password\"];\r\n this.groupId = _data[\"groupId\"];\r\n if (Array.isArray(_data[\"lstIdFileDelete\"])) {\r\n this.lstIdFileDelete = [] as any;\r\n for (let item of _data[\"lstIdFileDelete\"])\r\n this.lstIdFileDelete!.push(item);\r\n }\r\n this.entity = _data[\"entity\"] ? TaikhoanEntity.fromJS(_data[\"entity\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): RegisterAccountPostModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RegisterAccountPostModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.lstFile)) {\r\n data[\"lstFile\"] = [];\r\n for (let item of this.lstFile)\r\n data[\"lstFile\"].push(item.toJSON());\r\n }\r\n data[\"password\"] = this.password;\r\n data[\"groupId\"] = this.groupId;\r\n if (Array.isArray(this.lstIdFileDelete)) {\r\n data[\"lstIdFileDelete\"] = [];\r\n for (let item of this.lstIdFileDelete)\r\n data[\"lstIdFileDelete\"].push(item);\r\n }\r\n data[\"entity\"] = this.entity ? this.entity.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): RegisterAccountPostModel {\r\n const json = this.toJSON();\r\n let result = new RegisterAccountPostModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IRegisterAccountPostModel {\r\n lstFile?: IFileInsertModel[] | undefined;\r\n password?: string | undefined;\r\n groupId?: number | undefined;\r\n lstIdFileDelete?: number[] | undefined;\r\n entity?: ITaikhoanEntity;\r\n}\r\n\r\nexport class RegisterNguoithuePostModel implements IRegisterNguoithuePostModel {\r\n lstFile?: FileInsertModel[] | undefined;\r\n anhchandung?: string | undefined;\r\n cccd?: string | undefined;\r\n cccdMatsau?: string | undefined;\r\n cccdMattruoc?: string | undefined;\r\n cccdNgaycap?: Date | undefined;\r\n cccdNoicap?: string | undefined;\r\n dangkytamtrutamvang?: boolean | undefined;\r\n dantoc?: string | undefined;\r\n diachi?: string | undefined;\r\n dienthoai?: string | undefined;\r\n dienthoainguoithan?: string | undefined;\r\n email?: string | undefined;\r\n gioitinh?: number | undefined;\r\n gioitinhString?: string | undefined;\r\n hinhanh?: string | undefined;\r\n hoten?: string | undefined;\r\n id?: number;\r\n idnhatro?: number | undefined;\r\n tennhatro?: string | undefined;\r\n lydotamtru?: string | undefined;\r\n ngaysinh?: Date | undefined;\r\n nghenghiep?: number | undefined;\r\n noicongtac?: string | undefined;\r\n quoctich?: string | undefined;\r\n tamtruden?: Date | undefined;\r\n tamtrutu?: Date | undefined;\r\n tengnuoithan?: string | undefined;\r\n thongtinthemtttv?: string | undefined;\r\n tongiao?: string | undefined;\r\n trangthai?: number | undefined;\r\n idPhong?: number | undefined;\r\n tenphong?: string | undefined;\r\n matinh?: string | undefined;\r\n mahuyen?: string | undefined;\r\n maxa?: string | undefined;\r\n ngaynhanphonggannhat?: Date | undefined;\r\n tamtru?: string | undefined;\r\n hktt?: string | undefined;\r\n madiabankey?: string | undefined;\r\n madiabankeyNhatro?: string | undefined;\r\n thon?: string | undefined;\r\n idDantoc?: number;\r\n ngayBatDauThue?: Date | undefined;\r\n thoiGianThue?: number | undefined;\r\n ngayDangKyTamTru?: Date | undefined;\r\n ngayTraPhong?: Date | undefined;\r\n\r\n constructor(data?: IRegisterNguoithuePostModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstFile) {\r\n this.lstFile = [];\r\n for (let i = 0; i < data.lstFile.length; i++) {\r\n let item = data.lstFile[i];\r\n this.lstFile[i] = item && !(item).toJSON ? new FileInsertModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"lstFile\"])) {\r\n this.lstFile = [] as any;\r\n for (let item of _data[\"lstFile\"])\r\n this.lstFile!.push(FileInsertModel.fromJS(item));\r\n }\r\n this.anhchandung = _data[\"anhchandung\"];\r\n this.cccd = _data[\"cccd\"];\r\n this.cccdMatsau = _data[\"cccdMatsau\"];\r\n this.cccdMattruoc = _data[\"cccdMattruoc\"];\r\n this.cccdNgaycap = _data[\"cccdNgaycap\"] ? new Date(_data[\"cccdNgaycap\"].toString()) : undefined;\r\n this.cccdNoicap = _data[\"cccdNoicap\"];\r\n this.dangkytamtrutamvang = _data[\"dangkytamtrutamvang\"];\r\n this.dantoc = _data[\"dantoc\"];\r\n this.diachi = _data[\"diachi\"];\r\n this.dienthoai = _data[\"dienthoai\"];\r\n this.dienthoainguoithan = _data[\"dienthoainguoithan\"];\r\n this.email = _data[\"email\"];\r\n this.gioitinh = _data[\"gioitinh\"];\r\n this.gioitinhString = _data[\"gioitinhString\"];\r\n this.hinhanh = _data[\"hinhanh\"];\r\n this.hoten = _data[\"hoten\"];\r\n this.id = _data[\"id\"];\r\n this.idnhatro = _data[\"idnhatro\"];\r\n this.tennhatro = _data[\"tennhatro\"];\r\n this.lydotamtru = _data[\"lydotamtru\"];\r\n this.ngaysinh = _data[\"ngaysinh\"] ? new Date(_data[\"ngaysinh\"].toString()) : undefined;\r\n this.nghenghiep = _data[\"nghenghiep\"];\r\n this.noicongtac = _data[\"noicongtac\"];\r\n this.quoctich = _data[\"quoctich\"];\r\n this.tamtruden = _data[\"tamtruden\"] ? new Date(_data[\"tamtruden\"].toString()) : undefined;\r\n this.tamtrutu = _data[\"tamtrutu\"] ? new Date(_data[\"tamtrutu\"].toString()) : undefined;\r\n this.tengnuoithan = _data[\"tengnuoithan\"];\r\n this.thongtinthemtttv = _data[\"thongtinthemtttv\"];\r\n this.tongiao = _data[\"tongiao\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.idPhong = _data[\"idPhong\"];\r\n this.tenphong = _data[\"tenphong\"];\r\n this.matinh = _data[\"matinh\"];\r\n this.mahuyen = _data[\"mahuyen\"];\r\n this.maxa = _data[\"maxa\"];\r\n this.ngaynhanphonggannhat = _data[\"ngaynhanphonggannhat\"] ? new Date(_data[\"ngaynhanphonggannhat\"].toString()) : undefined;\r\n this.tamtru = _data[\"tamtru\"];\r\n this.hktt = _data[\"hktt\"];\r\n this.madiabankey = _data[\"madiabankey\"];\r\n this.madiabankeyNhatro = _data[\"madiabankeyNhatro\"];\r\n this.thon = _data[\"thon\"];\r\n this.idDantoc = _data[\"idDantoc\"];\r\n this.ngayBatDauThue = _data[\"ngayBatDauThue\"] ? new Date(_data[\"ngayBatDauThue\"].toString()) : undefined;\r\n this.thoiGianThue = _data[\"thoiGianThue\"];\r\n this.ngayDangKyTamTru = _data[\"ngayDangKyTamTru\"] ? new Date(_data[\"ngayDangKyTamTru\"].toString()) : undefined;\r\n this.ngayTraPhong = _data[\"ngayTraPhong\"] ? new Date(_data[\"ngayTraPhong\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): RegisterNguoithuePostModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RegisterNguoithuePostModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.lstFile)) {\r\n data[\"lstFile\"] = [];\r\n for (let item of this.lstFile)\r\n data[\"lstFile\"].push(item.toJSON());\r\n }\r\n data[\"anhchandung\"] = this.anhchandung;\r\n data[\"cccd\"] = this.cccd;\r\n data[\"cccdMatsau\"] = this.cccdMatsau;\r\n data[\"cccdMattruoc\"] = this.cccdMattruoc;\r\n data[\"cccdNgaycap\"] = this.cccdNgaycap ? this.cccdNgaycap.toISOString() : undefined;\r\n data[\"cccdNoicap\"] = this.cccdNoicap;\r\n data[\"dangkytamtrutamvang\"] = this.dangkytamtrutamvang;\r\n data[\"dantoc\"] = this.dantoc;\r\n data[\"diachi\"] = this.diachi;\r\n data[\"dienthoai\"] = this.dienthoai;\r\n data[\"dienthoainguoithan\"] = this.dienthoainguoithan;\r\n data[\"email\"] = this.email;\r\n data[\"gioitinh\"] = this.gioitinh;\r\n data[\"gioitinhString\"] = this.gioitinhString;\r\n data[\"hinhanh\"] = this.hinhanh;\r\n data[\"hoten\"] = this.hoten;\r\n data[\"id\"] = this.id;\r\n data[\"idnhatro\"] = this.idnhatro;\r\n data[\"tennhatro\"] = this.tennhatro;\r\n data[\"lydotamtru\"] = this.lydotamtru;\r\n data[\"ngaysinh\"] = this.ngaysinh ? this.ngaysinh.toISOString() : undefined;\r\n data[\"nghenghiep\"] = this.nghenghiep;\r\n data[\"noicongtac\"] = this.noicongtac;\r\n data[\"quoctich\"] = this.quoctich;\r\n data[\"tamtruden\"] = this.tamtruden ? this.tamtruden.toISOString() : undefined;\r\n data[\"tamtrutu\"] = this.tamtrutu ? this.tamtrutu.toISOString() : undefined;\r\n data[\"tengnuoithan\"] = this.tengnuoithan;\r\n data[\"thongtinthemtttv\"] = this.thongtinthemtttv;\r\n data[\"tongiao\"] = this.tongiao;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"idPhong\"] = this.idPhong;\r\n data[\"tenphong\"] = this.tenphong;\r\n data[\"matinh\"] = this.matinh;\r\n data[\"mahuyen\"] = this.mahuyen;\r\n data[\"maxa\"] = this.maxa;\r\n data[\"ngaynhanphonggannhat\"] = this.ngaynhanphonggannhat ? this.ngaynhanphonggannhat.toISOString() : undefined;\r\n data[\"tamtru\"] = this.tamtru;\r\n data[\"hktt\"] = this.hktt;\r\n data[\"madiabankey\"] = this.madiabankey;\r\n data[\"madiabankeyNhatro\"] = this.madiabankeyNhatro;\r\n data[\"thon\"] = this.thon;\r\n data[\"idDantoc\"] = this.idDantoc;\r\n data[\"ngayBatDauThue\"] = this.ngayBatDauThue ? this.ngayBatDauThue.toISOString() : undefined;\r\n data[\"thoiGianThue\"] = this.thoiGianThue;\r\n data[\"ngayDangKyTamTru\"] = this.ngayDangKyTamTru ? this.ngayDangKyTamTru.toISOString() : undefined;\r\n data[\"ngayTraPhong\"] = this.ngayTraPhong ? this.ngayTraPhong.toISOString() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): RegisterNguoithuePostModel {\r\n const json = this.toJSON();\r\n let result = new RegisterNguoithuePostModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IRegisterNguoithuePostModel {\r\n lstFile?: IFileInsertModel[] | undefined;\r\n anhchandung?: string | undefined;\r\n cccd?: string | undefined;\r\n cccdMatsau?: string | undefined;\r\n cccdMattruoc?: string | undefined;\r\n cccdNgaycap?: Date | undefined;\r\n cccdNoicap?: string | undefined;\r\n dangkytamtrutamvang?: boolean | undefined;\r\n dantoc?: string | undefined;\r\n diachi?: string | undefined;\r\n dienthoai?: string | undefined;\r\n dienthoainguoithan?: string | undefined;\r\n email?: string | undefined;\r\n gioitinh?: number | undefined;\r\n gioitinhString?: string | undefined;\r\n hinhanh?: string | undefined;\r\n hoten?: string | undefined;\r\n id?: number;\r\n idnhatro?: number | undefined;\r\n tennhatro?: string | undefined;\r\n lydotamtru?: string | undefined;\r\n ngaysinh?: Date | undefined;\r\n nghenghiep?: number | undefined;\r\n noicongtac?: string | undefined;\r\n quoctich?: string | undefined;\r\n tamtruden?: Date | undefined;\r\n tamtrutu?: Date | undefined;\r\n tengnuoithan?: string | undefined;\r\n thongtinthemtttv?: string | undefined;\r\n tongiao?: string | undefined;\r\n trangthai?: number | undefined;\r\n idPhong?: number | undefined;\r\n tenphong?: string | undefined;\r\n matinh?: string | undefined;\r\n mahuyen?: string | undefined;\r\n maxa?: string | undefined;\r\n ngaynhanphonggannhat?: Date | undefined;\r\n tamtru?: string | undefined;\r\n hktt?: string | undefined;\r\n madiabankey?: string | undefined;\r\n madiabankeyNhatro?: string | undefined;\r\n thon?: string | undefined;\r\n idDantoc?: number;\r\n ngayBatDauThue?: Date | undefined;\r\n thoiGianThue?: number | undefined;\r\n ngayDangKyTamTru?: Date | undefined;\r\n ngayTraPhong?: Date | undefined;\r\n}\r\n\r\nexport class ResquestApiBG implements IResquestApiBG {\r\n key?: string | undefined;\r\n value?: string | undefined;\r\n\r\n constructor(data?: IResquestApiBG) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.key = _data[\"key\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResquestApiBG {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResquestApiBG();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"key\"] = this.key;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n\r\n clone(): ResquestApiBG {\r\n const json = this.toJSON();\r\n let result = new ResquestApiBG();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IResquestApiBG {\r\n key?: string | undefined;\r\n value?: string | undefined;\r\n}\r\n\r\nexport class RuntimeFieldHandle implements IRuntimeFieldHandle {\r\n value?: IntPtr;\r\n\r\n constructor(data?: IRuntimeFieldHandle) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.value = data.value && !(data.value).toJSON ? new IntPtr(data.value) : this.value;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.value = _data[\"value\"] ? IntPtr.fromJS(_data[\"value\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): RuntimeFieldHandle {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RuntimeFieldHandle();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value ? this.value.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): RuntimeFieldHandle {\r\n const json = this.toJSON();\r\n let result = new RuntimeFieldHandle();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IRuntimeFieldHandle {\r\n value?: IIntPtr;\r\n}\r\n\r\nexport class RuntimeMethodHandle implements IRuntimeMethodHandle {\r\n value?: IntPtr;\r\n\r\n constructor(data?: IRuntimeMethodHandle) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.value = data.value && !(data.value).toJSON ? new IntPtr(data.value) : this.value;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.value = _data[\"value\"] ? IntPtr.fromJS(_data[\"value\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): RuntimeMethodHandle {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RuntimeMethodHandle();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value ? this.value.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): RuntimeMethodHandle {\r\n const json = this.toJSON();\r\n let result = new RuntimeMethodHandle();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IRuntimeMethodHandle {\r\n value?: IIntPtr;\r\n}\r\n\r\nexport class RuntimeTypeHandle implements IRuntimeTypeHandle {\r\n value?: IntPtr;\r\n\r\n constructor(data?: IRuntimeTypeHandle) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.value = data.value && !(data.value).toJSON ? new IntPtr(data.value) : this.value;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.value = _data[\"value\"] ? IntPtr.fromJS(_data[\"value\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): RuntimeTypeHandle {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RuntimeTypeHandle();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value ? this.value.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): RuntimeTypeHandle {\r\n const json = this.toJSON();\r\n let result = new RuntimeTypeHandle();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IRuntimeTypeHandle {\r\n value?: IIntPtr;\r\n}\r\n\r\nexport enum SchemaSerializationMode {\r\n _1 = 1,\r\n _2 = 2,\r\n}\r\n\r\nexport class SearchDashboardNguoiThueModel implements ISearchDashboardNguoiThueModel {\r\n maDiaBan?: string | undefined;\r\n listDate?: Date[] | undefined;\r\n\r\n constructor(data?: ISearchDashboardNguoiThueModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.maDiaBan = _data[\"maDiaBan\"];\r\n if (Array.isArray(_data[\"listDate\"])) {\r\n this.listDate = [] as any;\r\n for (let item of _data[\"listDate\"])\r\n this.listDate!.push(new Date(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchDashboardNguoiThueModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchDashboardNguoiThueModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"maDiaBan\"] = this.maDiaBan;\r\n if (Array.isArray(this.listDate)) {\r\n data[\"listDate\"] = [];\r\n for (let item of this.listDate)\r\n data[\"listDate\"].push(item.toISOString());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): SearchDashboardNguoiThueModel {\r\n const json = this.toJSON();\r\n let result = new SearchDashboardNguoiThueModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISearchDashboardNguoiThueModel {\r\n maDiaBan?: string | undefined;\r\n listDate?: Date[] | undefined;\r\n}\r\n\r\nexport class SearchDoiTuongModel implements ISearchDoiTuongModel {\r\n ten?: string | undefined;\r\n tenTL?: number;\r\n cccdTL?: number;\r\n tinh?: string | undefined;\r\n huyen?: string | undefined;\r\n xa?: string | undefined;\r\n cccd?: string | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n\r\n constructor(data?: ISearchDoiTuongModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.ten = _data[\"ten\"];\r\n this.tenTL = _data[\"tenTL\"];\r\n this.cccdTL = _data[\"cccdTL\"];\r\n this.tinh = _data[\"tinh\"];\r\n this.huyen = _data[\"huyen\"];\r\n this.xa = _data[\"xa\"];\r\n this.cccd = _data[\"cccd\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchDoiTuongModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchDoiTuongModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"ten\"] = this.ten;\r\n data[\"tenTL\"] = this.tenTL;\r\n data[\"cccdTL\"] = this.cccdTL;\r\n data[\"tinh\"] = this.tinh;\r\n data[\"huyen\"] = this.huyen;\r\n data[\"xa\"] = this.xa;\r\n data[\"cccd\"] = this.cccd;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n return data;\r\n }\r\n\r\n clone(): SearchDoiTuongModel {\r\n const json = this.toJSON();\r\n let result = new SearchDoiTuongModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISearchDoiTuongModel {\r\n ten?: string | undefined;\r\n tenTL?: number;\r\n cccdTL?: number;\r\n tinh?: string | undefined;\r\n huyen?: string | undefined;\r\n xa?: string | undefined;\r\n cccd?: string | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n}\r\n\r\nexport class SearchIndexModel implements ISearchIndexModel {\r\n lstNhaTro?: NhaTroIndexModel[] | undefined;\r\n lstYear?: number[] | undefined;\r\n lstDanToc?: DmDanTocModel[] | undefined;\r\n lstDiaBan?: DiaBanInfoModel[] | undefined;\r\n lstCongTy?: ItemDmcongty[] | undefined;\r\n\r\n constructor(data?: ISearchIndexModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstNhaTro) {\r\n this.lstNhaTro = [];\r\n for (let i = 0; i < data.lstNhaTro.length; i++) {\r\n let item = data.lstNhaTro[i];\r\n this.lstNhaTro[i] = item && !(item).toJSON ? new NhaTroIndexModel(item) : item;\r\n }\r\n }\r\n if (data.lstDanToc) {\r\n this.lstDanToc = [];\r\n for (let i = 0; i < data.lstDanToc.length; i++) {\r\n let item = data.lstDanToc[i];\r\n this.lstDanToc[i] = item && !(item).toJSON ? new DmDanTocModel(item) : item;\r\n }\r\n }\r\n if (data.lstDiaBan) {\r\n this.lstDiaBan = [];\r\n for (let i = 0; i < data.lstDiaBan.length; i++) {\r\n let item = data.lstDiaBan[i];\r\n this.lstDiaBan[i] = item && !(item).toJSON ? new DiaBanInfoModel(item) : item;\r\n }\r\n }\r\n if (data.lstCongTy) {\r\n this.lstCongTy = [];\r\n for (let i = 0; i < data.lstCongTy.length; i++) {\r\n let item = data.lstCongTy[i];\r\n this.lstCongTy[i] = item && !(item).toJSON ? new ItemDmcongty(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"lstNhaTro\"])) {\r\n this.lstNhaTro = [] as any;\r\n for (let item of _data[\"lstNhaTro\"])\r\n this.lstNhaTro!.push(NhaTroIndexModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstYear\"])) {\r\n this.lstYear = [] as any;\r\n for (let item of _data[\"lstYear\"])\r\n this.lstYear!.push(item);\r\n }\r\n if (Array.isArray(_data[\"lstDanToc\"])) {\r\n this.lstDanToc = [] as any;\r\n for (let item of _data[\"lstDanToc\"])\r\n this.lstDanToc!.push(DmDanTocModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstDiaBan\"])) {\r\n this.lstDiaBan = [] as any;\r\n for (let item of _data[\"lstDiaBan\"])\r\n this.lstDiaBan!.push(DiaBanInfoModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstCongTy\"])) {\r\n this.lstCongTy = [] as any;\r\n for (let item of _data[\"lstCongTy\"])\r\n this.lstCongTy!.push(ItemDmcongty.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchIndexModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchIndexModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.lstNhaTro)) {\r\n data[\"lstNhaTro\"] = [];\r\n for (let item of this.lstNhaTro)\r\n data[\"lstNhaTro\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstYear)) {\r\n data[\"lstYear\"] = [];\r\n for (let item of this.lstYear)\r\n data[\"lstYear\"].push(item);\r\n }\r\n if (Array.isArray(this.lstDanToc)) {\r\n data[\"lstDanToc\"] = [];\r\n for (let item of this.lstDanToc)\r\n data[\"lstDanToc\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstDiaBan)) {\r\n data[\"lstDiaBan\"] = [];\r\n for (let item of this.lstDiaBan)\r\n data[\"lstDiaBan\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstCongTy)) {\r\n data[\"lstCongTy\"] = [];\r\n for (let item of this.lstCongTy)\r\n data[\"lstCongTy\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): SearchIndexModel {\r\n const json = this.toJSON();\r\n let result = new SearchIndexModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISearchIndexModel {\r\n lstNhaTro?: INhaTroIndexModel[] | undefined;\r\n lstYear?: number[] | undefined;\r\n lstDanToc?: IDmDanTocModel[] | undefined;\r\n lstDiaBan?: IDiaBanInfoModel[] | undefined;\r\n lstCongTy?: IItemDmcongty[] | undefined;\r\n}\r\n\r\nexport class SearchIndexModelApiResponse implements ISearchIndexModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: SearchIndexModel;\r\n\r\n constructor(data?: ISearchIndexModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new SearchIndexModel(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? SearchIndexModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchIndexModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchIndexModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): SearchIndexModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new SearchIndexModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISearchIndexModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ISearchIndexModel;\r\n}\r\n\r\nexport class SearchModel implements ISearchModel {\r\n type?: number | undefined;\r\n search?: string | undefined;\r\n column?: string | undefined;\r\n trangThai?: number | undefined;\r\n sapXep?: number | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n condition?: string | undefined;\r\n isSelectAll?: boolean;\r\n isTemporary?: boolean | undefined;\r\n isChecked?: boolean | undefined;\r\n districtCode?: string | undefined;\r\n wardCode?: string | undefined;\r\n motelId?: number | undefined;\r\n roomId?: number | undefined;\r\n fromYear?: number | undefined;\r\n toYear?: number | undefined;\r\n fromDate?: Date | undefined;\r\n toDate?: Date | undefined;\r\n statusBool?: boolean | undefined;\r\n localKey?: string | undefined;\r\n tenantId?: number | undefined;\r\n\r\n constructor(data?: ISearchModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.type = _data[\"type\"];\r\n this.search = _data[\"search\"];\r\n this.column = _data[\"column\"];\r\n this.trangThai = _data[\"trangThai\"];\r\n this.sapXep = _data[\"sapXep\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.condition = _data[\"condition\"];\r\n this.isSelectAll = _data[\"isSelectAll\"];\r\n this.isTemporary = _data[\"isTemporary\"];\r\n this.isChecked = _data[\"isChecked\"];\r\n this.districtCode = _data[\"districtCode\"];\r\n this.wardCode = _data[\"wardCode\"];\r\n this.motelId = _data[\"motelId\"];\r\n this.roomId = _data[\"roomId\"];\r\n this.fromYear = _data[\"fromYear\"];\r\n this.toYear = _data[\"toYear\"];\r\n this.fromDate = _data[\"fromDate\"] ? new Date(_data[\"fromDate\"].toString()) : undefined;\r\n this.toDate = _data[\"toDate\"] ? new Date(_data[\"toDate\"].toString()) : undefined;\r\n this.statusBool = _data[\"statusBool\"];\r\n this.localKey = _data[\"localKey\"];\r\n this.tenantId = _data[\"tenantId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"type\"] = this.type;\r\n data[\"search\"] = this.search;\r\n data[\"column\"] = this.column;\r\n data[\"trangThai\"] = this.trangThai;\r\n data[\"sapXep\"] = this.sapXep;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"condition\"] = this.condition;\r\n data[\"isSelectAll\"] = this.isSelectAll;\r\n data[\"isTemporary\"] = this.isTemporary;\r\n data[\"isChecked\"] = this.isChecked;\r\n data[\"districtCode\"] = this.districtCode;\r\n data[\"wardCode\"] = this.wardCode;\r\n data[\"motelId\"] = this.motelId;\r\n data[\"roomId\"] = this.roomId;\r\n data[\"fromYear\"] = this.fromYear;\r\n data[\"toYear\"] = this.toYear;\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString() : undefined;\r\n data[\"toDate\"] = this.toDate ? this.toDate.toISOString() : undefined;\r\n data[\"statusBool\"] = this.statusBool;\r\n data[\"localKey\"] = this.localKey;\r\n data[\"tenantId\"] = this.tenantId;\r\n return data;\r\n }\r\n\r\n clone(): SearchModel {\r\n const json = this.toJSON();\r\n let result = new SearchModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISearchModel {\r\n type?: number | undefined;\r\n search?: string | undefined;\r\n column?: string | undefined;\r\n trangThai?: number | undefined;\r\n sapXep?: number | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n condition?: string | undefined;\r\n isSelectAll?: boolean;\r\n isTemporary?: boolean | undefined;\r\n isChecked?: boolean | undefined;\r\n districtCode?: string | undefined;\r\n wardCode?: string | undefined;\r\n motelId?: number | undefined;\r\n roomId?: number | undefined;\r\n fromYear?: number | undefined;\r\n toYear?: number | undefined;\r\n fromDate?: Date | undefined;\r\n toDate?: Date | undefined;\r\n statusBool?: boolean | undefined;\r\n localKey?: string | undefined;\r\n tenantId?: number | undefined;\r\n}\r\n\r\nexport class SearchModel_quanlykhachindex implements ISearchModel_quanlykhachindex {\r\n search?: string | undefined;\r\n condition?: string | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n loainhatro?: number;\r\n arrIdnhatro?: number[] | undefined;\r\n\r\n constructor(data?: ISearchModel_quanlykhachindex) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.search = _data[\"search\"];\r\n this.condition = _data[\"condition\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.loainhatro = _data[\"loainhatro\"];\r\n if (Array.isArray(_data[\"arrIdnhatro\"])) {\r\n this.arrIdnhatro = [] as any;\r\n for (let item of _data[\"arrIdnhatro\"])\r\n this.arrIdnhatro!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchModel_quanlykhachindex {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchModel_quanlykhachindex();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"search\"] = this.search;\r\n data[\"condition\"] = this.condition;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"loainhatro\"] = this.loainhatro;\r\n if (Array.isArray(this.arrIdnhatro)) {\r\n data[\"arrIdnhatro\"] = [];\r\n for (let item of this.arrIdnhatro)\r\n data[\"arrIdnhatro\"].push(item);\r\n }\r\n return data;\r\n }\r\n\r\n clone(): SearchModel_quanlykhachindex {\r\n const json = this.toJSON();\r\n let result = new SearchModel_quanlykhachindex();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISearchModel_quanlykhachindex {\r\n search?: string | undefined;\r\n condition?: string | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n loainhatro?: number;\r\n arrIdnhatro?: number[] | undefined;\r\n}\r\n\r\nexport class SearchModelDSNhatroV2 implements ISearchModelDSNhatroV2 {\r\n keysearch?: string | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n loaiNha?: string | undefined;\r\n matinh?: string | undefined;\r\n maHuyen?: string | undefined;\r\n maXa?: string | undefined;\r\n maThon?: string | undefined;\r\n localKey?: string | undefined;\r\n tuNgay?: string | undefined;\r\n denNgay?: string | undefined;\r\n dongiaphongtu?: number;\r\n dongiaphongden?: number;\r\n lsdmdv?: string | undefined;\r\n isdanhgia?: boolean | undefined;\r\n idnguoidanhgia?: number | undefined;\r\n\r\n constructor(data?: ISearchModelDSNhatroV2) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.keysearch = _data[\"keysearch\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.loaiNha = _data[\"loaiNha\"];\r\n this.matinh = _data[\"matinh\"];\r\n this.maHuyen = _data[\"maHuyen\"];\r\n this.maXa = _data[\"maXa\"];\r\n this.maThon = _data[\"maThon\"];\r\n this.localKey = _data[\"localKey\"];\r\n this.tuNgay = _data[\"tuNgay\"];\r\n this.denNgay = _data[\"denNgay\"];\r\n this.dongiaphongtu = _data[\"dongiaphongtu\"];\r\n this.dongiaphongden = _data[\"dongiaphongden\"];\r\n this.lsdmdv = _data[\"lsdmdv\"];\r\n this.isdanhgia = _data[\"isdanhgia\"];\r\n this.idnguoidanhgia = _data[\"idnguoidanhgia\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchModelDSNhatroV2 {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchModelDSNhatroV2();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"keysearch\"] = this.keysearch;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"loaiNha\"] = this.loaiNha;\r\n data[\"matinh\"] = this.matinh;\r\n data[\"maHuyen\"] = this.maHuyen;\r\n data[\"maXa\"] = this.maXa;\r\n data[\"maThon\"] = this.maThon;\r\n data[\"localKey\"] = this.localKey;\r\n data[\"tuNgay\"] = this.tuNgay;\r\n data[\"denNgay\"] = this.denNgay;\r\n data[\"dongiaphongtu\"] = this.dongiaphongtu;\r\n data[\"dongiaphongden\"] = this.dongiaphongden;\r\n data[\"lsdmdv\"] = this.lsdmdv;\r\n data[\"isdanhgia\"] = this.isdanhgia;\r\n data[\"idnguoidanhgia\"] = this.idnguoidanhgia;\r\n return data;\r\n }\r\n\r\n clone(): SearchModelDSNhatroV2 {\r\n const json = this.toJSON();\r\n let result = new SearchModelDSNhatroV2();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISearchModelDSNhatroV2 {\r\n keysearch?: string | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n loaiNha?: string | undefined;\r\n matinh?: string | undefined;\r\n maHuyen?: string | undefined;\r\n maXa?: string | undefined;\r\n maThon?: string | undefined;\r\n localKey?: string | undefined;\r\n tuNgay?: string | undefined;\r\n denNgay?: string | undefined;\r\n dongiaphongtu?: number;\r\n dongiaphongden?: number;\r\n lsdmdv?: string | undefined;\r\n isdanhgia?: boolean | undefined;\r\n idnguoidanhgia?: number | undefined;\r\n}\r\n\r\nexport class SearchModelDSNhatroV2ApiResponse implements ISearchModelDSNhatroV2ApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: SearchModelDSNhatroV2;\r\n\r\n constructor(data?: ISearchModelDSNhatroV2ApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new SearchModelDSNhatroV2(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? SearchModelDSNhatroV2.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchModelDSNhatroV2ApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchModelDSNhatroV2ApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): SearchModelDSNhatroV2ApiResponse {\r\n const json = this.toJSON();\r\n let result = new SearchModelDSNhatroV2ApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISearchModelDSNhatroV2ApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ISearchModelDSNhatroV2;\r\n}\r\n\r\nexport class SearchModelPagingMchutroqlnhaoHome implements ISearchModelPagingMchutroqlnhaoHome {\r\n keysearch?: string | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n loaiNha?: number;\r\n matinh?: string | undefined;\r\n maHuyen?: string | undefined;\r\n maXa?: string | undefined;\r\n maThon?: string | undefined;\r\n localKey?: string | undefined;\r\n tuNgay?: string | undefined;\r\n denNgay?: string | undefined;\r\n dongiaphongtu?: number;\r\n dongiaphongden?: number;\r\n lsdmdv?: string | undefined;\r\n isdanhgia?: boolean | undefined;\r\n idnguoidanhgia?: number | undefined;\r\n\r\n constructor(data?: ISearchModelPagingMchutroqlnhaoHome) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.keysearch = _data[\"keysearch\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.loaiNha = _data[\"loaiNha\"];\r\n this.matinh = _data[\"matinh\"];\r\n this.maHuyen = _data[\"maHuyen\"];\r\n this.maXa = _data[\"maXa\"];\r\n this.maThon = _data[\"maThon\"];\r\n this.localKey = _data[\"localKey\"];\r\n this.tuNgay = _data[\"tuNgay\"];\r\n this.denNgay = _data[\"denNgay\"];\r\n this.dongiaphongtu = _data[\"dongiaphongtu\"];\r\n this.dongiaphongden = _data[\"dongiaphongden\"];\r\n this.lsdmdv = _data[\"lsdmdv\"];\r\n this.isdanhgia = _data[\"isdanhgia\"];\r\n this.idnguoidanhgia = _data[\"idnguoidanhgia\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchModelPagingMchutroqlnhaoHome {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchModelPagingMchutroqlnhaoHome();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"keysearch\"] = this.keysearch;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"loaiNha\"] = this.loaiNha;\r\n data[\"matinh\"] = this.matinh;\r\n data[\"maHuyen\"] = this.maHuyen;\r\n data[\"maXa\"] = this.maXa;\r\n data[\"maThon\"] = this.maThon;\r\n data[\"localKey\"] = this.localKey;\r\n data[\"tuNgay\"] = this.tuNgay;\r\n data[\"denNgay\"] = this.denNgay;\r\n data[\"dongiaphongtu\"] = this.dongiaphongtu;\r\n data[\"dongiaphongden\"] = this.dongiaphongden;\r\n data[\"lsdmdv\"] = this.lsdmdv;\r\n data[\"isdanhgia\"] = this.isdanhgia;\r\n data[\"idnguoidanhgia\"] = this.idnguoidanhgia;\r\n return data;\r\n }\r\n\r\n clone(): SearchModelPagingMchutroqlnhaoHome {\r\n const json = this.toJSON();\r\n let result = new SearchModelPagingMchutroqlnhaoHome();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISearchModelPagingMchutroqlnhaoHome {\r\n keysearch?: string | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n loaiNha?: number;\r\n matinh?: string | undefined;\r\n maHuyen?: string | undefined;\r\n maXa?: string | undefined;\r\n maThon?: string | undefined;\r\n localKey?: string | undefined;\r\n tuNgay?: string | undefined;\r\n denNgay?: string | undefined;\r\n dongiaphongtu?: number;\r\n dongiaphongden?: number;\r\n lsdmdv?: string | undefined;\r\n isdanhgia?: boolean | undefined;\r\n idnguoidanhgia?: number | undefined;\r\n}\r\n\r\nexport class SearchTaiKhoanModel implements ISearchTaiKhoanModel {\r\n search?: string | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n condition?: string | undefined;\r\n sortColumn?: string | undefined;\r\n sortExpression?: string | undefined;\r\n status?: number | undefined;\r\n columnName?: string | undefined;\r\n huyen?: string | undefined;\r\n xa?: string | undefined;\r\n thon?: string | undefined;\r\n\r\n constructor(data?: ISearchTaiKhoanModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.search = _data[\"search\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.condition = _data[\"condition\"];\r\n this.sortColumn = _data[\"sortColumn\"];\r\n this.sortExpression = _data[\"sortExpression\"];\r\n this.status = _data[\"status\"];\r\n this.columnName = _data[\"columnName\"];\r\n this.huyen = _data[\"huyen\"];\r\n this.xa = _data[\"xa\"];\r\n this.thon = _data[\"thon\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchTaiKhoanModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchTaiKhoanModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"search\"] = this.search;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"condition\"] = this.condition;\r\n data[\"sortColumn\"] = this.sortColumn;\r\n data[\"sortExpression\"] = this.sortExpression;\r\n data[\"status\"] = this.status;\r\n data[\"columnName\"] = this.columnName;\r\n data[\"huyen\"] = this.huyen;\r\n data[\"xa\"] = this.xa;\r\n data[\"thon\"] = this.thon;\r\n return data;\r\n }\r\n\r\n clone(): SearchTaiKhoanModel {\r\n const json = this.toJSON();\r\n let result = new SearchTaiKhoanModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISearchTaiKhoanModel {\r\n search?: string | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n condition?: string | undefined;\r\n sortColumn?: string | undefined;\r\n sortExpression?: string | undefined;\r\n status?: number | undefined;\r\n columnName?: string | undefined;\r\n huyen?: string | undefined;\r\n xa?: string | undefined;\r\n thon?: string | undefined;\r\n}\r\n\r\nexport class SearchTamTruModel implements ISearchTamTruModel {\r\n idNhaTro?: number;\r\n isDkTamTru?: boolean | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n\r\n constructor(data?: ISearchTamTruModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.idNhaTro = _data[\"idNhaTro\"];\r\n this.isDkTamTru = _data[\"isDkTamTru\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchTamTruModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchTamTruModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"idNhaTro\"] = this.idNhaTro;\r\n data[\"isDkTamTru\"] = this.isDkTamTru;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n return data;\r\n }\r\n\r\n clone(): SearchTamTruModel {\r\n const json = this.toJSON();\r\n let result = new SearchTamTruModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISearchTamTruModel {\r\n idNhaTro?: number;\r\n isDkTamTru?: boolean | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n}\r\n\r\nexport class SearchTinTucModel implements ISearchTinTucModel {\r\n strKey?: string | undefined;\r\n condition?: number;\r\n tuNgay?: Date | undefined;\r\n denNgay?: Date | undefined;\r\n status?: number | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n chuTro?: boolean | undefined;\r\n\r\n constructor(data?: ISearchTinTucModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.strKey = _data[\"strKey\"];\r\n this.condition = _data[\"condition\"];\r\n this.tuNgay = _data[\"tuNgay\"] ? new Date(_data[\"tuNgay\"].toString()) : undefined;\r\n this.denNgay = _data[\"denNgay\"] ? new Date(_data[\"denNgay\"].toString()) : undefined;\r\n this.status = _data[\"status\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.chuTro = _data[\"chuTro\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchTinTucModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchTinTucModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"strKey\"] = this.strKey;\r\n data[\"condition\"] = this.condition;\r\n data[\"tuNgay\"] = this.tuNgay ? this.tuNgay.toISOString() : undefined;\r\n data[\"denNgay\"] = this.denNgay ? this.denNgay.toISOString() : undefined;\r\n data[\"status\"] = this.status;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"chuTro\"] = this.chuTro;\r\n return data;\r\n }\r\n\r\n clone(): SearchTinTucModel {\r\n const json = this.toJSON();\r\n let result = new SearchTinTucModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISearchTinTucModel {\r\n strKey?: string | undefined;\r\n condition?: number;\r\n tuNgay?: Date | undefined;\r\n denNgay?: Date | undefined;\r\n status?: number | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n chuTro?: boolean | undefined;\r\n}\r\n\r\nexport enum SecurityRuleSet {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n}\r\n\r\nexport class SelectNhaTroPostModel implements ISelectNhaTroPostModel {\r\n districtCode?: string | undefined;\r\n wardCode?: string | undefined;\r\n type?: number | undefined;\r\n\r\n constructor(data?: ISelectNhaTroPostModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.districtCode = _data[\"districtCode\"];\r\n this.wardCode = _data[\"wardCode\"];\r\n this.type = _data[\"type\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SelectNhaTroPostModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SelectNhaTroPostModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"districtCode\"] = this.districtCode;\r\n data[\"wardCode\"] = this.wardCode;\r\n data[\"type\"] = this.type;\r\n return data;\r\n }\r\n\r\n clone(): SelectNhaTroPostModel {\r\n const json = this.toJSON();\r\n let result = new SelectNhaTroPostModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISelectNhaTroPostModel {\r\n districtCode?: string | undefined;\r\n wardCode?: string | undefined;\r\n type?: number | undefined;\r\n}\r\n\r\nexport enum SerializationFormat {\r\n _0 = 0,\r\n _1 = 1,\r\n}\r\n\r\nexport class ShareModel implements IShareModel {\r\n id?: string | undefined;\r\n trangthai?: number | undefined;\r\n idPhong?: number;\r\n idNhatro?: number;\r\n nguoiThueId?: number | undefined;\r\n thietbi?: number | undefined;\r\n\r\n constructor(data?: IShareModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.idPhong = _data[\"idPhong\"];\r\n this.idNhatro = _data[\"idNhatro\"];\r\n this.nguoiThueId = _data[\"nguoiThueId\"];\r\n this.thietbi = _data[\"thietbi\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ShareModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ShareModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"idPhong\"] = this.idPhong;\r\n data[\"idNhatro\"] = this.idNhatro;\r\n data[\"nguoiThueId\"] = this.nguoiThueId;\r\n data[\"thietbi\"] = this.thietbi;\r\n return data;\r\n }\r\n\r\n clone(): ShareModel {\r\n const json = this.toJSON();\r\n let result = new ShareModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IShareModel {\r\n id?: string | undefined;\r\n trangthai?: number | undefined;\r\n idPhong?: number;\r\n idNhatro?: number;\r\n nguoiThueId?: number | undefined;\r\n thietbi?: number | undefined;\r\n}\r\n\r\nexport class ShareModelApiResponse implements IShareModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ShareModel;\r\n\r\n constructor(data?: IShareModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ShareModel(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ShareModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ShareModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ShareModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ShareModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new ShareModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IShareModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IShareModel;\r\n}\r\n\r\nexport class SortVersion implements ISortVersion {\r\n readonly fullVersion?: number;\r\n readonly sortId?: string;\r\n\r\n constructor(data?: ISortVersion) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).fullVersion = _data[\"fullVersion\"];\r\n (this).sortId = _data[\"sortId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SortVersion {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SortVersion();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fullVersion\"] = this.fullVersion;\r\n data[\"sortId\"] = this.sortId;\r\n return data;\r\n }\r\n\r\n clone(): SortVersion {\r\n const json = this.toJSON();\r\n let result = new SortVersion();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISortVersion {\r\n fullVersion?: number;\r\n sortId?: string;\r\n}\r\n\r\nexport class StringApiResponse implements IStringApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: string | undefined;\r\n\r\n constructor(data?: IStringApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): StringApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StringApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data;\r\n return data;\r\n }\r\n\r\n clone(): StringApiResponse {\r\n const json = this.toJSON();\r\n let result = new StringApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IStringApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: string | undefined;\r\n}\r\n\r\nexport class StringListApiResponse implements IStringListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: string[] | undefined;\r\n\r\n constructor(data?: IStringListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): StringListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StringListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item);\r\n }\r\n return data;\r\n }\r\n\r\n clone(): StringListApiResponse {\r\n const json = this.toJSON();\r\n let result = new StringListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IStringListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: string[] | undefined;\r\n}\r\n\r\nexport class StructLayoutAttribute implements IStructLayoutAttribute {\r\n readonly typeId?: any | undefined;\r\n value?: LayoutKind;\r\n\r\n constructor(data?: IStructLayoutAttribute) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).typeId = _data[\"typeId\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): StructLayoutAttribute {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StructLayoutAttribute();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"typeId\"] = this.typeId;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n\r\n clone(): StructLayoutAttribute {\r\n const json = this.toJSON();\r\n let result = new StructLayoutAttribute();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IStructLayoutAttribute {\r\n typeId?: any | undefined;\r\n value?: LayoutKind;\r\n}\r\n\r\nexport class SwapRoomModel implements ISwapRoomModel {\r\n tenantId?: number;\r\n fromRoomId?: number;\r\n toRoomId?: number;\r\n status?: number | undefined;\r\n\r\n constructor(data?: ISwapRoomModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.tenantId = _data[\"tenantId\"];\r\n this.fromRoomId = _data[\"fromRoomId\"];\r\n this.toRoomId = _data[\"toRoomId\"];\r\n this.status = _data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SwapRoomModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SwapRoomModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"tenantId\"] = this.tenantId;\r\n data[\"fromRoomId\"] = this.fromRoomId;\r\n data[\"toRoomId\"] = this.toRoomId;\r\n data[\"status\"] = this.status;\r\n return data;\r\n }\r\n\r\n clone(): SwapRoomModel {\r\n const json = this.toJSON();\r\n let result = new SwapRoomModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISwapRoomModel {\r\n tenantId?: number;\r\n fromRoomId?: number;\r\n toRoomId?: number;\r\n status?: number | undefined;\r\n}\r\n\r\nexport class SysunitEntity implements ISysunitEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n capDbhc?: number | undefined;\r\n capdonvi?: string | undefined;\r\n coquanbanhanhqd?: string | undefined;\r\n diachi?: string | undefined;\r\n dinhdanhapp?: string | undefined;\r\n email?: string | undefined;\r\n fax?: string | undefined;\r\n idDiaban?: number | undefined;\r\n idTochuc?: number | undefined;\r\n loaiunit?: number | undefined;\r\n macha?: string | undefined;\r\n madinhdanh?: string | undefined;\r\n madvqhns?: string | undefined;\r\n maHuyen?: string | undefined;\r\n maTinh?: string | undefined;\r\n maXa?: string | undefined;\r\n ngaybanhanhqd?: Date | undefined;\r\n nguoilienhe?: string | undefined;\r\n phoDonVi?: string | undefined;\r\n qdbanhanhqdsuadoi?: string | undefined;\r\n sdtPhoDonVi?: string | undefined;\r\n sdtTruongDonVi?: string | undefined;\r\n sodienthoai?: string | undefined;\r\n tendonvi?: string | undefined;\r\n trangthai?: number | undefined;\r\n truongDonVi?: string | undefined;\r\n type?: number | undefined;\r\n unitcode?: string | undefined;\r\n website?: string | undefined;\r\n dmtochuc?: DmtochucEntity;\r\n\r\n constructor(data?: ISysunitEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n this.dmtochuc = data.dmtochuc && !(data.dmtochuc).toJSON ? new DmtochucEntity(data.dmtochuc) : this.dmtochuc;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.capDbhc = _data[\"capDbhc\"];\r\n this.capdonvi = _data[\"capdonvi\"];\r\n this.coquanbanhanhqd = _data[\"coquanbanhanhqd\"];\r\n this.diachi = _data[\"diachi\"];\r\n this.dinhdanhapp = _data[\"dinhdanhapp\"];\r\n this.email = _data[\"email\"];\r\n this.fax = _data[\"fax\"];\r\n this.idDiaban = _data[\"idDiaban\"];\r\n this.idTochuc = _data[\"idTochuc\"];\r\n this.loaiunit = _data[\"loaiunit\"];\r\n this.macha = _data[\"macha\"];\r\n this.madinhdanh = _data[\"madinhdanh\"];\r\n this.madvqhns = _data[\"madvqhns\"];\r\n this.maHuyen = _data[\"maHuyen\"];\r\n this.maTinh = _data[\"maTinh\"];\r\n this.maXa = _data[\"maXa\"];\r\n this.ngaybanhanhqd = _data[\"ngaybanhanhqd\"] ? new Date(_data[\"ngaybanhanhqd\"].toString()) : undefined;\r\n this.nguoilienhe = _data[\"nguoilienhe\"];\r\n this.phoDonVi = _data[\"phoDonVi\"];\r\n this.qdbanhanhqdsuadoi = _data[\"qdbanhanhqdsuadoi\"];\r\n this.sdtPhoDonVi = _data[\"sdtPhoDonVi\"];\r\n this.sdtTruongDonVi = _data[\"sdtTruongDonVi\"];\r\n this.sodienthoai = _data[\"sodienthoai\"];\r\n this.tendonvi = _data[\"tendonvi\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.truongDonVi = _data[\"truongDonVi\"];\r\n this.type = _data[\"type\"];\r\n this.unitcode = _data[\"unitcode\"];\r\n this.website = _data[\"website\"];\r\n this.dmtochuc = _data[\"dmtochuc\"] ? DmtochucEntity.fromJS(_data[\"dmtochuc\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SysunitEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SysunitEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"capDbhc\"] = this.capDbhc;\r\n data[\"capdonvi\"] = this.capdonvi;\r\n data[\"coquanbanhanhqd\"] = this.coquanbanhanhqd;\r\n data[\"diachi\"] = this.diachi;\r\n data[\"dinhdanhapp\"] = this.dinhdanhapp;\r\n data[\"email\"] = this.email;\r\n data[\"fax\"] = this.fax;\r\n data[\"idDiaban\"] = this.idDiaban;\r\n data[\"idTochuc\"] = this.idTochuc;\r\n data[\"loaiunit\"] = this.loaiunit;\r\n data[\"macha\"] = this.macha;\r\n data[\"madinhdanh\"] = this.madinhdanh;\r\n data[\"madvqhns\"] = this.madvqhns;\r\n data[\"maHuyen\"] = this.maHuyen;\r\n data[\"maTinh\"] = this.maTinh;\r\n data[\"maXa\"] = this.maXa;\r\n data[\"ngaybanhanhqd\"] = this.ngaybanhanhqd ? this.ngaybanhanhqd.toISOString() : undefined;\r\n data[\"nguoilienhe\"] = this.nguoilienhe;\r\n data[\"phoDonVi\"] = this.phoDonVi;\r\n data[\"qdbanhanhqdsuadoi\"] = this.qdbanhanhqdsuadoi;\r\n data[\"sdtPhoDonVi\"] = this.sdtPhoDonVi;\r\n data[\"sdtTruongDonVi\"] = this.sdtTruongDonVi;\r\n data[\"sodienthoai\"] = this.sodienthoai;\r\n data[\"tendonvi\"] = this.tendonvi;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"truongDonVi\"] = this.truongDonVi;\r\n data[\"type\"] = this.type;\r\n data[\"unitcode\"] = this.unitcode;\r\n data[\"website\"] = this.website;\r\n data[\"dmtochuc\"] = this.dmtochuc ? this.dmtochuc.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): SysunitEntity {\r\n const json = this.toJSON();\r\n let result = new SysunitEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISysunitEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n capDbhc?: number | undefined;\r\n capdonvi?: string | undefined;\r\n coquanbanhanhqd?: string | undefined;\r\n diachi?: string | undefined;\r\n dinhdanhapp?: string | undefined;\r\n email?: string | undefined;\r\n fax?: string | undefined;\r\n idDiaban?: number | undefined;\r\n idTochuc?: number | undefined;\r\n loaiunit?: number | undefined;\r\n macha?: string | undefined;\r\n madinhdanh?: string | undefined;\r\n madvqhns?: string | undefined;\r\n maHuyen?: string | undefined;\r\n maTinh?: string | undefined;\r\n maXa?: string | undefined;\r\n ngaybanhanhqd?: Date | undefined;\r\n nguoilienhe?: string | undefined;\r\n phoDonVi?: string | undefined;\r\n qdbanhanhqdsuadoi?: string | undefined;\r\n sdtPhoDonVi?: string | undefined;\r\n sdtTruongDonVi?: string | undefined;\r\n sodienthoai?: string | undefined;\r\n tendonvi?: string | undefined;\r\n trangthai?: number | undefined;\r\n truongDonVi?: string | undefined;\r\n type?: number | undefined;\r\n unitcode?: string | undefined;\r\n website?: string | undefined;\r\n dmtochuc?: IDmtochucEntity;\r\n}\r\n\r\nexport class SysunitEntityApiResponse implements ISysunitEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: SysunitEntity;\r\n\r\n constructor(data?: ISysunitEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new SysunitEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? SysunitEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SysunitEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SysunitEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): SysunitEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new SysunitEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISysunitEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ISysunitEntity;\r\n}\r\n\r\nexport class SysunitEntityListApiResponse implements ISysunitEntityListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: SysunitEntity[] | undefined;\r\n\r\n constructor(data?: ISysunitEntityListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new SysunitEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(SysunitEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SysunitEntityListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SysunitEntityListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): SysunitEntityListApiResponse {\r\n const json = this.toJSON();\r\n let result = new SysunitEntityListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISysunitEntityListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ISysunitEntity[] | undefined;\r\n}\r\n\r\nexport class SysunitLevelModel implements ISysunitLevelModel {\r\n unitcode?: string | undefined;\r\n unitname?: string | undefined;\r\n level?: number | undefined;\r\n parentUnitcode?: string | undefined;\r\n items?: SysunitLevelModel[] | undefined;\r\n\r\n constructor(data?: ISysunitLevelModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.items) {\r\n this.items = [];\r\n for (let i = 0; i < data.items.length; i++) {\r\n let item = data.items[i];\r\n this.items[i] = item && !(item).toJSON ? new SysunitLevelModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.unitcode = _data[\"unitcode\"];\r\n this.unitname = _data[\"unitname\"];\r\n this.level = _data[\"level\"];\r\n this.parentUnitcode = _data[\"parentUnitcode\"];\r\n if (Array.isArray(_data[\"items\"])) {\r\n this.items = [] as any;\r\n for (let item of _data[\"items\"])\r\n this.items!.push(SysunitLevelModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SysunitLevelModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SysunitLevelModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"unitcode\"] = this.unitcode;\r\n data[\"unitname\"] = this.unitname;\r\n data[\"level\"] = this.level;\r\n data[\"parentUnitcode\"] = this.parentUnitcode;\r\n if (Array.isArray(this.items)) {\r\n data[\"items\"] = [];\r\n for (let item of this.items)\r\n data[\"items\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): SysunitLevelModel {\r\n const json = this.toJSON();\r\n let result = new SysunitLevelModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISysunitLevelModel {\r\n unitcode?: string | undefined;\r\n unitname?: string | undefined;\r\n level?: number | undefined;\r\n parentUnitcode?: string | undefined;\r\n items?: ISysunitLevelModel[] | undefined;\r\n}\r\n\r\nexport class SysunitLevelModelIEnumerableApiResponse implements ISysunitLevelModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: SysunitLevelModel[] | undefined;\r\n\r\n constructor(data?: ISysunitLevelModelIEnumerableApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new SysunitLevelModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(SysunitLevelModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SysunitLevelModelIEnumerableApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SysunitLevelModelIEnumerableApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): SysunitLevelModelIEnumerableApiResponse {\r\n const json = this.toJSON();\r\n let result = new SysunitLevelModelIEnumerableApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISysunitLevelModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ISysunitLevelModel[] | undefined;\r\n}\r\n\r\nexport class TaikhoanEntity implements ITaikhoanEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n anhchandung?: string | undefined;\r\n apntoken?: string | undefined;\r\n cccdMatsau?: string | undefined;\r\n cccdMattruoc?: string | undefined;\r\n cmnd?: string | undefined;\r\n diaChi?: string | undefined;\r\n email?: string | undefined;\r\n fcmtoken?: string | undefined;\r\n gioiTinh?: number;\r\n hoVaTen?: string | undefined;\r\n id?: number;\r\n iddantoc?: number | undefined;\r\n idzalouseroa?: string | undefined;\r\n isnguoithue?: boolean | undefined;\r\n loaiHinh?: number | undefined;\r\n madiabankey?: string | undefined;\r\n maDonVi?: string | undefined;\r\n mahuyen?: string | undefined;\r\n maSoThue?: string | undefined;\r\n mathon?: string | undefined;\r\n matinh?: string | undefined;\r\n maxa?: string | undefined;\r\n ngaySinh?: string | undefined;\r\n ngaytao?: Date | undefined;\r\n sdt?: string | undefined;\r\n sotk?: string | undefined;\r\n tenDonViKinhDoanh?: string | undefined;\r\n thon?: string | undefined;\r\n trangThai?: boolean;\r\n type?: number;\r\n\r\n constructor(data?: ITaikhoanEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.anhchandung = _data[\"anhchandung\"];\r\n this.apntoken = _data[\"apntoken\"];\r\n this.cccdMatsau = _data[\"cccdMatsau\"];\r\n this.cccdMattruoc = _data[\"cccdMattruoc\"];\r\n this.cmnd = _data[\"cmnd\"];\r\n this.diaChi = _data[\"diaChi\"];\r\n this.email = _data[\"email\"];\r\n this.fcmtoken = _data[\"fcmtoken\"];\r\n this.gioiTinh = _data[\"gioiTinh\"];\r\n this.hoVaTen = _data[\"hoVaTen\"];\r\n this.id = _data[\"id\"];\r\n this.iddantoc = _data[\"iddantoc\"];\r\n this.idzalouseroa = _data[\"idzalouseroa\"];\r\n this.isnguoithue = _data[\"isnguoithue\"];\r\n this.loaiHinh = _data[\"loaiHinh\"];\r\n this.madiabankey = _data[\"madiabankey\"];\r\n this.maDonVi = _data[\"maDonVi\"];\r\n this.mahuyen = _data[\"mahuyen\"];\r\n this.maSoThue = _data[\"maSoThue\"];\r\n this.mathon = _data[\"mathon\"];\r\n this.matinh = _data[\"matinh\"];\r\n this.maxa = _data[\"maxa\"];\r\n this.ngaySinh = _data[\"ngaySinh\"];\r\n this.ngaytao = _data[\"ngaytao\"] ? new Date(_data[\"ngaytao\"].toString()) : undefined;\r\n this.sdt = _data[\"sdt\"];\r\n this.sotk = _data[\"sotk\"];\r\n this.tenDonViKinhDoanh = _data[\"tenDonViKinhDoanh\"];\r\n this.thon = _data[\"thon\"];\r\n this.trangThai = _data[\"trangThai\"];\r\n this.type = _data[\"type\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TaikhoanEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TaikhoanEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"anhchandung\"] = this.anhchandung;\r\n data[\"apntoken\"] = this.apntoken;\r\n data[\"cccdMatsau\"] = this.cccdMatsau;\r\n data[\"cccdMattruoc\"] = this.cccdMattruoc;\r\n data[\"cmnd\"] = this.cmnd;\r\n data[\"diaChi\"] = this.diaChi;\r\n data[\"email\"] = this.email;\r\n data[\"fcmtoken\"] = this.fcmtoken;\r\n data[\"gioiTinh\"] = this.gioiTinh;\r\n data[\"hoVaTen\"] = this.hoVaTen;\r\n data[\"id\"] = this.id;\r\n data[\"iddantoc\"] = this.iddantoc;\r\n data[\"idzalouseroa\"] = this.idzalouseroa;\r\n data[\"isnguoithue\"] = this.isnguoithue;\r\n data[\"loaiHinh\"] = this.loaiHinh;\r\n data[\"madiabankey\"] = this.madiabankey;\r\n data[\"maDonVi\"] = this.maDonVi;\r\n data[\"mahuyen\"] = this.mahuyen;\r\n data[\"maSoThue\"] = this.maSoThue;\r\n data[\"mathon\"] = this.mathon;\r\n data[\"matinh\"] = this.matinh;\r\n data[\"maxa\"] = this.maxa;\r\n data[\"ngaySinh\"] = this.ngaySinh;\r\n data[\"ngaytao\"] = this.ngaytao ? this.ngaytao.toISOString() : undefined;\r\n data[\"sdt\"] = this.sdt;\r\n data[\"sotk\"] = this.sotk;\r\n data[\"tenDonViKinhDoanh\"] = this.tenDonViKinhDoanh;\r\n data[\"thon\"] = this.thon;\r\n data[\"trangThai\"] = this.trangThai;\r\n data[\"type\"] = this.type;\r\n return data;\r\n }\r\n\r\n clone(): TaikhoanEntity {\r\n const json = this.toJSON();\r\n let result = new TaikhoanEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITaikhoanEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n anhchandung?: string | undefined;\r\n apntoken?: string | undefined;\r\n cccdMatsau?: string | undefined;\r\n cccdMattruoc?: string | undefined;\r\n cmnd?: string | undefined;\r\n diaChi?: string | undefined;\r\n email?: string | undefined;\r\n fcmtoken?: string | undefined;\r\n gioiTinh?: number;\r\n hoVaTen?: string | undefined;\r\n id?: number;\r\n iddantoc?: number | undefined;\r\n idzalouseroa?: string | undefined;\r\n isnguoithue?: boolean | undefined;\r\n loaiHinh?: number | undefined;\r\n madiabankey?: string | undefined;\r\n maDonVi?: string | undefined;\r\n mahuyen?: string | undefined;\r\n maSoThue?: string | undefined;\r\n mathon?: string | undefined;\r\n matinh?: string | undefined;\r\n maxa?: string | undefined;\r\n ngaySinh?: string | undefined;\r\n ngaytao?: Date | undefined;\r\n sdt?: string | undefined;\r\n sotk?: string | undefined;\r\n tenDonViKinhDoanh?: string | undefined;\r\n thon?: string | undefined;\r\n trangThai?: boolean;\r\n type?: number;\r\n}\r\n\r\nexport class TaikhoanEntityApiResponse implements ITaikhoanEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: TaikhoanEntity;\r\n\r\n constructor(data?: ITaikhoanEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new TaikhoanEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? TaikhoanEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): TaikhoanEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TaikhoanEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): TaikhoanEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new TaikhoanEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITaikhoanEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ITaikhoanEntity;\r\n}\r\n\r\nexport class TaiKhoanUnitcodeModel implements ITaiKhoanUnitcodeModel {\r\n hoTen?: string | undefined;\r\n unitcode?: string | undefined;\r\n id?: number;\r\n\r\n constructor(data?: ITaiKhoanUnitcodeModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.hoTen = _data[\"hoTen\"];\r\n this.unitcode = _data[\"unitcode\"];\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TaiKhoanUnitcodeModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TaiKhoanUnitcodeModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"hoTen\"] = this.hoTen;\r\n data[\"unitcode\"] = this.unitcode;\r\n data[\"id\"] = this.id;\r\n return data;\r\n }\r\n\r\n clone(): TaiKhoanUnitcodeModel {\r\n const json = this.toJSON();\r\n let result = new TaiKhoanUnitcodeModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITaiKhoanUnitcodeModel {\r\n hoTen?: string | undefined;\r\n unitcode?: string | undefined;\r\n id?: number;\r\n}\r\n\r\nexport class TaiKhoanUnitcodeModelIEnumerablePageModelView implements ITaiKhoanUnitcodeModelIEnumerablePageModelView {\r\n data?: TaiKhoanUnitcodeModel[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: ITaiKhoanUnitcodeModelIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new TaiKhoanUnitcodeModel(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(TaiKhoanUnitcodeModel.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TaiKhoanUnitcodeModelIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TaiKhoanUnitcodeModelIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): TaiKhoanUnitcodeModelIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new TaiKhoanUnitcodeModelIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITaiKhoanUnitcodeModelIEnumerablePageModelView {\r\n data?: ITaiKhoanUnitcodeModel[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class TaiKhoanUnitcodeModelIEnumerablePageModelViewApiResponse implements ITaiKhoanUnitcodeModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: TaiKhoanUnitcodeModelIEnumerablePageModelView;\r\n\r\n constructor(data?: ITaiKhoanUnitcodeModelIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new TaiKhoanUnitcodeModelIEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? TaiKhoanUnitcodeModelIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): TaiKhoanUnitcodeModelIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TaiKhoanUnitcodeModelIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): TaiKhoanUnitcodeModelIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new TaiKhoanUnitcodeModelIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITaiKhoanUnitcodeModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ITaiKhoanUnitcodeModelIEnumerablePageModelView;\r\n}\r\n\r\nexport class TemporaryModel implements ITemporaryModel {\r\n id?: number;\r\n tenantName?: string | undefined;\r\n motelId?: number | undefined;\r\n motelName?: string | undefined;\r\n roomId?: number | undefined;\r\n roomName?: string | undefined;\r\n motelAddress?: string | undefined;\r\n rentalDate?: Date | undefined;\r\n temporaryDate?: Date | undefined;\r\n status?: boolean | undefined;\r\n statusName?: string | undefined;\r\n identifier?: string | undefined;\r\n tenantAddress?: string | undefined;\r\n birthDate?: Date | undefined;\r\n gender?: string | undefined;\r\n ethnic?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n motelPhone?: string | undefined;\r\n isExpired?: boolean | undefined;\r\n temporaryNumber?: number | undefined;\r\n nonTemporaryNumber?: number | undefined;\r\n isTemporary?: boolean;\r\n\r\n constructor(data?: ITemporaryModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tenantName = _data[\"tenantName\"];\r\n this.motelId = _data[\"motelId\"];\r\n this.motelName = _data[\"motelName\"];\r\n this.roomId = _data[\"roomId\"];\r\n this.roomName = _data[\"roomName\"];\r\n this.motelAddress = _data[\"motelAddress\"];\r\n this.rentalDate = _data[\"rentalDate\"] ? new Date(_data[\"rentalDate\"].toString()) : undefined;\r\n this.temporaryDate = _data[\"temporaryDate\"] ? new Date(_data[\"temporaryDate\"].toString()) : undefined;\r\n this.status = _data[\"status\"];\r\n this.statusName = _data[\"statusName\"];\r\n this.identifier = _data[\"identifier\"];\r\n this.tenantAddress = _data[\"tenantAddress\"];\r\n this.birthDate = _data[\"birthDate\"] ? new Date(_data[\"birthDate\"].toString()) : undefined;\r\n this.gender = _data[\"gender\"];\r\n this.ethnic = _data[\"ethnic\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.motelPhone = _data[\"motelPhone\"];\r\n this.isExpired = _data[\"isExpired\"];\r\n this.temporaryNumber = _data[\"temporaryNumber\"];\r\n this.nonTemporaryNumber = _data[\"nonTemporaryNumber\"];\r\n this.isTemporary = _data[\"isTemporary\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TemporaryModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TemporaryModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tenantName\"] = this.tenantName;\r\n data[\"motelId\"] = this.motelId;\r\n data[\"motelName\"] = this.motelName;\r\n data[\"roomId\"] = this.roomId;\r\n data[\"roomName\"] = this.roomName;\r\n data[\"motelAddress\"] = this.motelAddress;\r\n data[\"rentalDate\"] = this.rentalDate ? this.rentalDate.toISOString() : undefined;\r\n data[\"temporaryDate\"] = this.temporaryDate ? this.temporaryDate.toISOString() : undefined;\r\n data[\"status\"] = this.status;\r\n data[\"statusName\"] = this.statusName;\r\n data[\"identifier\"] = this.identifier;\r\n data[\"tenantAddress\"] = this.tenantAddress;\r\n data[\"birthDate\"] = this.birthDate ? this.birthDate.toISOString() : undefined;\r\n data[\"gender\"] = this.gender;\r\n data[\"ethnic\"] = this.ethnic;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"motelPhone\"] = this.motelPhone;\r\n data[\"isExpired\"] = this.isExpired;\r\n data[\"temporaryNumber\"] = this.temporaryNumber;\r\n data[\"nonTemporaryNumber\"] = this.nonTemporaryNumber;\r\n data[\"isTemporary\"] = this.isTemporary;\r\n return data;\r\n }\r\n\r\n clone(): TemporaryModel {\r\n const json = this.toJSON();\r\n let result = new TemporaryModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITemporaryModel {\r\n id?: number;\r\n tenantName?: string | undefined;\r\n motelId?: number | undefined;\r\n motelName?: string | undefined;\r\n roomId?: number | undefined;\r\n roomName?: string | undefined;\r\n motelAddress?: string | undefined;\r\n rentalDate?: Date | undefined;\r\n temporaryDate?: Date | undefined;\r\n status?: boolean | undefined;\r\n statusName?: string | undefined;\r\n identifier?: string | undefined;\r\n tenantAddress?: string | undefined;\r\n birthDate?: Date | undefined;\r\n gender?: string | undefined;\r\n ethnic?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n motelPhone?: string | undefined;\r\n isExpired?: boolean | undefined;\r\n temporaryNumber?: number | undefined;\r\n nonTemporaryNumber?: number | undefined;\r\n isTemporary?: boolean;\r\n}\r\n\r\nexport class TemporaryModelIEnumerablePageModelView implements ITemporaryModelIEnumerablePageModelView {\r\n data?: TemporaryModel[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: ITemporaryModelIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new TemporaryModel(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(TemporaryModel.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TemporaryModelIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TemporaryModelIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): TemporaryModelIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new TemporaryModelIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITemporaryModelIEnumerablePageModelView {\r\n data?: ITemporaryModel[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class TemporaryModelIEnumerablePageModelViewApiResponse implements ITemporaryModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: TemporaryModelIEnumerablePageModelView;\r\n\r\n constructor(data?: ITemporaryModelIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new TemporaryModelIEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? TemporaryModelIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): TemporaryModelIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TemporaryModelIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): TemporaryModelIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new TemporaryModelIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITemporaryModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ITemporaryModelIEnumerablePageModelView;\r\n}\r\n\r\nexport class TenantHistorySearchModel implements ITenantHistorySearchModel {\r\n tenantId?: number;\r\n search?: string | undefined;\r\n\r\n constructor(data?: ITenantHistorySearchModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.tenantId = _data[\"tenantId\"];\r\n this.search = _data[\"search\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TenantHistorySearchModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TenantHistorySearchModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"tenantId\"] = this.tenantId;\r\n data[\"search\"] = this.search;\r\n return data;\r\n }\r\n\r\n clone(): TenantHistorySearchModel {\r\n const json = this.toJSON();\r\n let result = new TenantHistorySearchModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITenantHistorySearchModel {\r\n tenantId?: number;\r\n search?: string | undefined;\r\n}\r\n\r\nexport class TextInfo implements ITextInfo {\r\n readonly ansiCodePage?: number;\r\n readonly oemCodePage?: number;\r\n readonly macCodePage?: number;\r\n readonly ebcdicCodePage?: number;\r\n readonly lcid?: number;\r\n readonly cultureName?: string | undefined;\r\n readonly isReadOnly?: boolean;\r\n listSeparator?: string | undefined;\r\n readonly isRightToLeft?: boolean;\r\n\r\n constructor(data?: ITextInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).ansiCodePage = _data[\"ansiCodePage\"];\r\n (this).oemCodePage = _data[\"oemCodePage\"];\r\n (this).macCodePage = _data[\"macCodePage\"];\r\n (this).ebcdicCodePage = _data[\"ebcdicCodePage\"];\r\n (this).lcid = _data[\"lcid\"];\r\n (this).cultureName = _data[\"cultureName\"];\r\n (this).isReadOnly = _data[\"isReadOnly\"];\r\n this.listSeparator = _data[\"listSeparator\"];\r\n (this).isRightToLeft = _data[\"isRightToLeft\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TextInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TextInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"ansiCodePage\"] = this.ansiCodePage;\r\n data[\"oemCodePage\"] = this.oemCodePage;\r\n data[\"macCodePage\"] = this.macCodePage;\r\n data[\"ebcdicCodePage\"] = this.ebcdicCodePage;\r\n data[\"lcid\"] = this.lcid;\r\n data[\"cultureName\"] = this.cultureName;\r\n data[\"isReadOnly\"] = this.isReadOnly;\r\n data[\"listSeparator\"] = this.listSeparator;\r\n data[\"isRightToLeft\"] = this.isRightToLeft;\r\n return data;\r\n }\r\n\r\n clone(): TextInfo {\r\n const json = this.toJSON();\r\n let result = new TextInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITextInfo {\r\n ansiCodePage?: number;\r\n oemCodePage?: number;\r\n macCodePage?: number;\r\n ebcdicCodePage?: number;\r\n lcid?: number;\r\n cultureName?: string | undefined;\r\n isReadOnly?: boolean;\r\n listSeparator?: string | undefined;\r\n isRightToLeft?: boolean;\r\n}\r\n\r\nexport class ThoiGianHoaDon implements IThoiGianHoaDon {\r\n tungay?: Date | undefined;\r\n denngay?: Date | undefined;\r\n\r\n constructor(data?: IThoiGianHoaDon) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.tungay = _data[\"tungay\"] ? new Date(_data[\"tungay\"].toString()) : undefined;\r\n this.denngay = _data[\"denngay\"] ? new Date(_data[\"denngay\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThoiGianHoaDon {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThoiGianHoaDon();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"tungay\"] = this.tungay ? this.tungay.toISOString() : undefined;\r\n data[\"denngay\"] = this.denngay ? this.denngay.toISOString() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ThoiGianHoaDon {\r\n const json = this.toJSON();\r\n let result = new ThoiGianHoaDon();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThoiGianHoaDon {\r\n tungay?: Date | undefined;\r\n denngay?: Date | undefined;\r\n}\r\n\r\nexport class ThoiGianHoaDonApiResponse implements IThoiGianHoaDonApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ThoiGianHoaDon;\r\n\r\n constructor(data?: IThoiGianHoaDonApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ThoiGianHoaDon(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ThoiGianHoaDon.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThoiGianHoaDonApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThoiGianHoaDonApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ThoiGianHoaDonApiResponse {\r\n const json = this.toJSON();\r\n let result = new ThoiGianHoaDonApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThoiGianHoaDonApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IThoiGianHoaDon;\r\n}\r\n\r\nexport class ThongbaoEntity implements IThongbaoEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n chude?: string | undefined;\r\n doituongnhan?: string | undefined;\r\n dvlap?: string | undefined;\r\n dvnhan?: string | undefined;\r\n id?: number;\r\n loai?: number | undefined;\r\n loaiThongbao?: number | undefined;\r\n mahuyen?: string | undefined;\r\n maxa?: string | undefined;\r\n ngaygui?: Date | undefined;\r\n ngaylap?: Date | undefined;\r\n noidung?: string | undefined;\r\n tendvlap?: string | undefined;\r\n trangthai?: number | undefined;\r\n trangthaixem?: number | undefined;\r\n\r\n constructor(data?: IThongbaoEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.chude = _data[\"chude\"];\r\n this.doituongnhan = _data[\"doituongnhan\"];\r\n this.dvlap = _data[\"dvlap\"];\r\n this.dvnhan = _data[\"dvnhan\"];\r\n this.id = _data[\"id\"];\r\n this.loai = _data[\"loai\"];\r\n this.loaiThongbao = _data[\"loaiThongbao\"];\r\n this.mahuyen = _data[\"mahuyen\"];\r\n this.maxa = _data[\"maxa\"];\r\n this.ngaygui = _data[\"ngaygui\"] ? new Date(_data[\"ngaygui\"].toString()) : undefined;\r\n this.ngaylap = _data[\"ngaylap\"] ? new Date(_data[\"ngaylap\"].toString()) : undefined;\r\n this.noidung = _data[\"noidung\"];\r\n this.tendvlap = _data[\"tendvlap\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.trangthaixem = _data[\"trangthaixem\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongbaoEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongbaoEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"chude\"] = this.chude;\r\n data[\"doituongnhan\"] = this.doituongnhan;\r\n data[\"dvlap\"] = this.dvlap;\r\n data[\"dvnhan\"] = this.dvnhan;\r\n data[\"id\"] = this.id;\r\n data[\"loai\"] = this.loai;\r\n data[\"loaiThongbao\"] = this.loaiThongbao;\r\n data[\"mahuyen\"] = this.mahuyen;\r\n data[\"maxa\"] = this.maxa;\r\n data[\"ngaygui\"] = this.ngaygui ? this.ngaygui.toISOString() : undefined;\r\n data[\"ngaylap\"] = this.ngaylap ? this.ngaylap.toISOString() : undefined;\r\n data[\"noidung\"] = this.noidung;\r\n data[\"tendvlap\"] = this.tendvlap;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"trangthaixem\"] = this.trangthaixem;\r\n return data;\r\n }\r\n\r\n clone(): ThongbaoEntity {\r\n const json = this.toJSON();\r\n let result = new ThongbaoEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongbaoEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n chude?: string | undefined;\r\n doituongnhan?: string | undefined;\r\n dvlap?: string | undefined;\r\n dvnhan?: string | undefined;\r\n id?: number;\r\n loai?: number | undefined;\r\n loaiThongbao?: number | undefined;\r\n mahuyen?: string | undefined;\r\n maxa?: string | undefined;\r\n ngaygui?: Date | undefined;\r\n ngaylap?: Date | undefined;\r\n noidung?: string | undefined;\r\n tendvlap?: string | undefined;\r\n trangthai?: number | undefined;\r\n trangthaixem?: number | undefined;\r\n}\r\n\r\nexport class ThongbaoEntityApiResponse implements IThongbaoEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ThongbaoEntity;\r\n\r\n constructor(data?: IThongbaoEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ThongbaoEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ThongbaoEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongbaoEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongbaoEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ThongbaoEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new ThongbaoEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongbaoEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IThongbaoEntity;\r\n}\r\n\r\nexport class ThongbaoEntityProcessInsertFileModel implements IThongbaoEntityProcessInsertFileModel {\r\n entity?: ThongbaoEntity;\r\n lstFileAttachment?: AttFileattachmentEntity[] | undefined;\r\n\r\n constructor(data?: IThongbaoEntityProcessInsertFileModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.entity = data.entity && !(data.entity).toJSON ? new ThongbaoEntity(data.entity) : this.entity;\r\n if (data.lstFileAttachment) {\r\n this.lstFileAttachment = [];\r\n for (let i = 0; i < data.lstFileAttachment.length; i++) {\r\n let item = data.lstFileAttachment[i];\r\n this.lstFileAttachment[i] = item && !(item).toJSON ? new AttFileattachmentEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.entity = _data[\"entity\"] ? ThongbaoEntity.fromJS(_data[\"entity\"]) : undefined;\r\n if (Array.isArray(_data[\"lstFileAttachment\"])) {\r\n this.lstFileAttachment = [] as any;\r\n for (let item of _data[\"lstFileAttachment\"])\r\n this.lstFileAttachment!.push(AttFileattachmentEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongbaoEntityProcessInsertFileModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongbaoEntityProcessInsertFileModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"entity\"] = this.entity ? this.entity.toJSON() : undefined;\r\n if (Array.isArray(this.lstFileAttachment)) {\r\n data[\"lstFileAttachment\"] = [];\r\n for (let item of this.lstFileAttachment)\r\n data[\"lstFileAttachment\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ThongbaoEntityProcessInsertFileModel {\r\n const json = this.toJSON();\r\n let result = new ThongbaoEntityProcessInsertFileModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongbaoEntityProcessInsertFileModel {\r\n entity?: IThongbaoEntity;\r\n lstFileAttachment?: IAttFileattachmentEntity[] | undefined;\r\n}\r\n\r\nexport class ThongbaoEntityProcessUpdateFileModel implements IThongbaoEntityProcessUpdateFileModel {\r\n entity?: ThongbaoEntity;\r\n lstFileIdDelete?: number[] | undefined;\r\n typeDelete?: number;\r\n lstFileAttachment?: AttFileattachmentEntity[] | undefined;\r\n\r\n constructor(data?: IThongbaoEntityProcessUpdateFileModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.entity = data.entity && !(data.entity).toJSON ? new ThongbaoEntity(data.entity) : this.entity;\r\n if (data.lstFileAttachment) {\r\n this.lstFileAttachment = [];\r\n for (let i = 0; i < data.lstFileAttachment.length; i++) {\r\n let item = data.lstFileAttachment[i];\r\n this.lstFileAttachment[i] = item && !(item).toJSON ? new AttFileattachmentEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.entity = _data[\"entity\"] ? ThongbaoEntity.fromJS(_data[\"entity\"]) : undefined;\r\n if (Array.isArray(_data[\"lstFileIdDelete\"])) {\r\n this.lstFileIdDelete = [] as any;\r\n for (let item of _data[\"lstFileIdDelete\"])\r\n this.lstFileIdDelete!.push(item);\r\n }\r\n this.typeDelete = _data[\"typeDelete\"];\r\n if (Array.isArray(_data[\"lstFileAttachment\"])) {\r\n this.lstFileAttachment = [] as any;\r\n for (let item of _data[\"lstFileAttachment\"])\r\n this.lstFileAttachment!.push(AttFileattachmentEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongbaoEntityProcessUpdateFileModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongbaoEntityProcessUpdateFileModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"entity\"] = this.entity ? this.entity.toJSON() : undefined;\r\n if (Array.isArray(this.lstFileIdDelete)) {\r\n data[\"lstFileIdDelete\"] = [];\r\n for (let item of this.lstFileIdDelete)\r\n data[\"lstFileIdDelete\"].push(item);\r\n }\r\n data[\"typeDelete\"] = this.typeDelete;\r\n if (Array.isArray(this.lstFileAttachment)) {\r\n data[\"lstFileAttachment\"] = [];\r\n for (let item of this.lstFileAttachment)\r\n data[\"lstFileAttachment\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ThongbaoEntityProcessUpdateFileModel {\r\n const json = this.toJSON();\r\n let result = new ThongbaoEntityProcessUpdateFileModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongbaoEntityProcessUpdateFileModel {\r\n entity?: IThongbaoEntity;\r\n lstFileIdDelete?: number[] | undefined;\r\n typeDelete?: number;\r\n lstFileAttachment?: IAttFileattachmentEntity[] | undefined;\r\n}\r\n\r\nexport class ThongBaoSelectOneModel implements IThongBaoSelectOneModel {\r\n thongbaoEntity?: ThongbaoEntity;\r\n lstFile?: FileModelViewSelectOneCongAn[] | undefined;\r\n\r\n constructor(data?: IThongBaoSelectOneModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.thongbaoEntity = data.thongbaoEntity && !(data.thongbaoEntity).toJSON ? new ThongbaoEntity(data.thongbaoEntity) : this.thongbaoEntity;\r\n if (data.lstFile) {\r\n this.lstFile = [];\r\n for (let i = 0; i < data.lstFile.length; i++) {\r\n let item = data.lstFile[i];\r\n this.lstFile[i] = item && !(item).toJSON ? new FileModelViewSelectOneCongAn(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.thongbaoEntity = _data[\"thongbaoEntity\"] ? ThongbaoEntity.fromJS(_data[\"thongbaoEntity\"]) : undefined;\r\n if (Array.isArray(_data[\"lstFile\"])) {\r\n this.lstFile = [] as any;\r\n for (let item of _data[\"lstFile\"])\r\n this.lstFile!.push(FileModelViewSelectOneCongAn.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongBaoSelectOneModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongBaoSelectOneModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"thongbaoEntity\"] = this.thongbaoEntity ? this.thongbaoEntity.toJSON() : undefined;\r\n if (Array.isArray(this.lstFile)) {\r\n data[\"lstFile\"] = [];\r\n for (let item of this.lstFile)\r\n data[\"lstFile\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ThongBaoSelectOneModel {\r\n const json = this.toJSON();\r\n let result = new ThongBaoSelectOneModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongBaoSelectOneModel {\r\n thongbaoEntity?: IThongbaoEntity;\r\n lstFile?: IFileModelViewSelectOneCongAn[] | undefined;\r\n}\r\n\r\nexport class ThongBaoSelectOneModelApiResponse implements IThongBaoSelectOneModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ThongBaoSelectOneModel;\r\n\r\n constructor(data?: IThongBaoSelectOneModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ThongBaoSelectOneModel(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ThongBaoSelectOneModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongBaoSelectOneModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongBaoSelectOneModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ThongBaoSelectOneModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new ThongBaoSelectOneModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongBaoSelectOneModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IThongBaoSelectOneModel;\r\n}\r\n\r\nexport class ThongBaoUpdateModel implements IThongBaoUpdateModel {\r\n id?: number;\r\n trangthaixem?: number;\r\n\r\n constructor(data?: IThongBaoUpdateModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.trangthaixem = _data[\"trangthaixem\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongBaoUpdateModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongBaoUpdateModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"trangthaixem\"] = this.trangthaixem;\r\n return data;\r\n }\r\n\r\n clone(): ThongBaoUpdateModel {\r\n const json = this.toJSON();\r\n let result = new ThongBaoUpdateModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongBaoUpdateModel {\r\n id?: number;\r\n trangthaixem?: number;\r\n}\r\n\r\nexport class ThongKeModel implements IThongKeModel {\r\n id?: number | undefined;\r\n idPhongTro?: number | undefined;\r\n tenKhachThue?: string | undefined;\r\n ngaySinh?: Date | undefined;\r\n cmnd?: string | undefined;\r\n gioiTinh?: string | undefined;\r\n danToc?: string | undefined;\r\n hktt?: string | undefined;\r\n tamTru?: string | undefined;\r\n dienThoai?: string | undefined;\r\n idNguoiTao?: number;\r\n maDiaBanKey?: string | undefined;\r\n maDiaBanKeyNT?: string | undefined;\r\n hktT_Tinh?: string | undefined;\r\n hktT_Huyen?: string | undefined;\r\n hktT_Xa?: string | undefined;\r\n hktT_Thon?: string | undefined;\r\n maThon?: string | undefined;\r\n maXa?: string | undefined;\r\n maHuyen?: string | undefined;\r\n ngheNghiep?: string | undefined;\r\n noiCongTac?: string | undefined;\r\n loaiTheoDoi?: number | undefined;\r\n idTheoDoi?: number | undefined;\r\n tenLoaiTheoDoi?: string | undefined;\r\n tenNT?: string | undefined;\r\n loaiNT?: string | undefined;\r\n diaChiNT?: string | undefined;\r\n nguoiLienHe?: string | undefined;\r\n huyen?: string | undefined;\r\n xa?: string | undefined;\r\n tenNhaTro?: string | undefined;\r\n tenPhong?: string | undefined;\r\n tinhTrang?: string | undefined;\r\n ngayThue?: Date | undefined;\r\n ngayTra?: Date | undefined;\r\n ngayTao?: Date | undefined;\r\n tongSoPhong?: number | undefined;\r\n soPhongDaThue?: number | undefined;\r\n soKhachThue?: number | undefined;\r\n giaNiemYet?: number | undefined;\r\n total?: number;\r\n\r\n constructor(data?: IThongKeModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.idPhongTro = _data[\"idPhongTro\"];\r\n this.tenKhachThue = _data[\"tenKhachThue\"];\r\n this.ngaySinh = _data[\"ngaySinh\"] ? new Date(_data[\"ngaySinh\"].toString()) : undefined;\r\n this.cmnd = _data[\"cmnd\"];\r\n this.gioiTinh = _data[\"gioiTinh\"];\r\n this.danToc = _data[\"danToc\"];\r\n this.hktt = _data[\"hktt\"];\r\n this.tamTru = _data[\"tamTru\"];\r\n this.dienThoai = _data[\"dienThoai\"];\r\n this.idNguoiTao = _data[\"idNguoiTao\"];\r\n this.maDiaBanKey = _data[\"maDiaBanKey\"];\r\n this.maDiaBanKeyNT = _data[\"maDiaBanKeyNT\"];\r\n this.hktT_Tinh = _data[\"hktT_Tinh\"];\r\n this.hktT_Huyen = _data[\"hktT_Huyen\"];\r\n this.hktT_Xa = _data[\"hktT_Xa\"];\r\n this.hktT_Thon = _data[\"hktT_Thon\"];\r\n this.maThon = _data[\"maThon\"];\r\n this.maXa = _data[\"maXa\"];\r\n this.maHuyen = _data[\"maHuyen\"];\r\n this.ngheNghiep = _data[\"ngheNghiep\"];\r\n this.noiCongTac = _data[\"noiCongTac\"];\r\n this.loaiTheoDoi = _data[\"loaiTheoDoi\"];\r\n this.idTheoDoi = _data[\"idTheoDoi\"];\r\n this.tenLoaiTheoDoi = _data[\"tenLoaiTheoDoi\"];\r\n this.tenNT = _data[\"tenNT\"];\r\n this.loaiNT = _data[\"loaiNT\"];\r\n this.diaChiNT = _data[\"diaChiNT\"];\r\n this.nguoiLienHe = _data[\"nguoiLienHe\"];\r\n this.huyen = _data[\"huyen\"];\r\n this.xa = _data[\"xa\"];\r\n this.tenNhaTro = _data[\"tenNhaTro\"];\r\n this.tenPhong = _data[\"tenPhong\"];\r\n this.tinhTrang = _data[\"tinhTrang\"];\r\n this.ngayThue = _data[\"ngayThue\"] ? new Date(_data[\"ngayThue\"].toString()) : undefined;\r\n this.ngayTra = _data[\"ngayTra\"] ? new Date(_data[\"ngayTra\"].toString()) : undefined;\r\n this.ngayTao = _data[\"ngayTao\"] ? new Date(_data[\"ngayTao\"].toString()) : undefined;\r\n this.tongSoPhong = _data[\"tongSoPhong\"];\r\n this.soPhongDaThue = _data[\"soPhongDaThue\"];\r\n this.soKhachThue = _data[\"soKhachThue\"];\r\n this.giaNiemYet = _data[\"giaNiemYet\"];\r\n this.total = _data[\"total\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongKeModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongKeModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"idPhongTro\"] = this.idPhongTro;\r\n data[\"tenKhachThue\"] = this.tenKhachThue;\r\n data[\"ngaySinh\"] = this.ngaySinh ? this.ngaySinh.toISOString() : undefined;\r\n data[\"cmnd\"] = this.cmnd;\r\n data[\"gioiTinh\"] = this.gioiTinh;\r\n data[\"danToc\"] = this.danToc;\r\n data[\"hktt\"] = this.hktt;\r\n data[\"tamTru\"] = this.tamTru;\r\n data[\"dienThoai\"] = this.dienThoai;\r\n data[\"idNguoiTao\"] = this.idNguoiTao;\r\n data[\"maDiaBanKey\"] = this.maDiaBanKey;\r\n data[\"maDiaBanKeyNT\"] = this.maDiaBanKeyNT;\r\n data[\"hktT_Tinh\"] = this.hktT_Tinh;\r\n data[\"hktT_Huyen\"] = this.hktT_Huyen;\r\n data[\"hktT_Xa\"] = this.hktT_Xa;\r\n data[\"hktT_Thon\"] = this.hktT_Thon;\r\n data[\"maThon\"] = this.maThon;\r\n data[\"maXa\"] = this.maXa;\r\n data[\"maHuyen\"] = this.maHuyen;\r\n data[\"ngheNghiep\"] = this.ngheNghiep;\r\n data[\"noiCongTac\"] = this.noiCongTac;\r\n data[\"loaiTheoDoi\"] = this.loaiTheoDoi;\r\n data[\"idTheoDoi\"] = this.idTheoDoi;\r\n data[\"tenLoaiTheoDoi\"] = this.tenLoaiTheoDoi;\r\n data[\"tenNT\"] = this.tenNT;\r\n data[\"loaiNT\"] = this.loaiNT;\r\n data[\"diaChiNT\"] = this.diaChiNT;\r\n data[\"nguoiLienHe\"] = this.nguoiLienHe;\r\n data[\"huyen\"] = this.huyen;\r\n data[\"xa\"] = this.xa;\r\n data[\"tenNhaTro\"] = this.tenNhaTro;\r\n data[\"tenPhong\"] = this.tenPhong;\r\n data[\"tinhTrang\"] = this.tinhTrang;\r\n data[\"ngayThue\"] = this.ngayThue ? this.ngayThue.toISOString() : undefined;\r\n data[\"ngayTra\"] = this.ngayTra ? this.ngayTra.toISOString() : undefined;\r\n data[\"ngayTao\"] = this.ngayTao ? this.ngayTao.toISOString() : undefined;\r\n data[\"tongSoPhong\"] = this.tongSoPhong;\r\n data[\"soPhongDaThue\"] = this.soPhongDaThue;\r\n data[\"soKhachThue\"] = this.soKhachThue;\r\n data[\"giaNiemYet\"] = this.giaNiemYet;\r\n data[\"total\"] = this.total;\r\n return data;\r\n }\r\n\r\n clone(): ThongKeModel {\r\n const json = this.toJSON();\r\n let result = new ThongKeModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongKeModel {\r\n id?: number | undefined;\r\n idPhongTro?: number | undefined;\r\n tenKhachThue?: string | undefined;\r\n ngaySinh?: Date | undefined;\r\n cmnd?: string | undefined;\r\n gioiTinh?: string | undefined;\r\n danToc?: string | undefined;\r\n hktt?: string | undefined;\r\n tamTru?: string | undefined;\r\n dienThoai?: string | undefined;\r\n idNguoiTao?: number;\r\n maDiaBanKey?: string | undefined;\r\n maDiaBanKeyNT?: string | undefined;\r\n hktT_Tinh?: string | undefined;\r\n hktT_Huyen?: string | undefined;\r\n hktT_Xa?: string | undefined;\r\n hktT_Thon?: string | undefined;\r\n maThon?: string | undefined;\r\n maXa?: string | undefined;\r\n maHuyen?: string | undefined;\r\n ngheNghiep?: string | undefined;\r\n noiCongTac?: string | undefined;\r\n loaiTheoDoi?: number | undefined;\r\n idTheoDoi?: number | undefined;\r\n tenLoaiTheoDoi?: string | undefined;\r\n tenNT?: string | undefined;\r\n loaiNT?: string | undefined;\r\n diaChiNT?: string | undefined;\r\n nguoiLienHe?: string | undefined;\r\n huyen?: string | undefined;\r\n xa?: string | undefined;\r\n tenNhaTro?: string | undefined;\r\n tenPhong?: string | undefined;\r\n tinhTrang?: string | undefined;\r\n ngayThue?: Date | undefined;\r\n ngayTra?: Date | undefined;\r\n ngayTao?: Date | undefined;\r\n tongSoPhong?: number | undefined;\r\n soPhongDaThue?: number | undefined;\r\n soKhachThue?: number | undefined;\r\n giaNiemYet?: number | undefined;\r\n total?: number;\r\n}\r\n\r\nexport class ThongKeModelIEnumerablePageModelView implements IThongKeModelIEnumerablePageModelView {\r\n data?: ThongKeModel[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IThongKeModelIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ThongKeModel(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ThongKeModel.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongKeModelIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongKeModelIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): ThongKeModelIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new ThongKeModelIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongKeModelIEnumerablePageModelView {\r\n data?: IThongKeModel[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class ThongKeModelIEnumerablePageModelViewApiResponse implements IThongKeModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ThongKeModelIEnumerablePageModelView;\r\n\r\n constructor(data?: IThongKeModelIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ThongKeModelIEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ThongKeModelIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongKeModelIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongKeModelIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ThongKeModelIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new ThongKeModelIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongKeModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IThongKeModelIEnumerablePageModelView;\r\n}\r\n\r\nexport class ThongKeNhaTroOnMapsModel implements IThongKeNhaTroOnMapsModel {\r\n maHuyen?: number;\r\n tongSoNhaTroTrenDiaBan?: number;\r\n tongSoPhongTroTrenDiaBan?: number;\r\n tongSoPhongTroChuaCoNguoiThue?: number;\r\n\r\n constructor(data?: IThongKeNhaTroOnMapsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.maHuyen = _data[\"maHuyen\"];\r\n this.tongSoNhaTroTrenDiaBan = _data[\"tongSoNhaTroTrenDiaBan\"];\r\n this.tongSoPhongTroTrenDiaBan = _data[\"tongSoPhongTroTrenDiaBan\"];\r\n this.tongSoPhongTroChuaCoNguoiThue = _data[\"tongSoPhongTroChuaCoNguoiThue\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongKeNhaTroOnMapsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongKeNhaTroOnMapsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"maHuyen\"] = this.maHuyen;\r\n data[\"tongSoNhaTroTrenDiaBan\"] = this.tongSoNhaTroTrenDiaBan;\r\n data[\"tongSoPhongTroTrenDiaBan\"] = this.tongSoPhongTroTrenDiaBan;\r\n data[\"tongSoPhongTroChuaCoNguoiThue\"] = this.tongSoPhongTroChuaCoNguoiThue;\r\n return data;\r\n }\r\n\r\n clone(): ThongKeNhaTroOnMapsModel {\r\n const json = this.toJSON();\r\n let result = new ThongKeNhaTroOnMapsModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongKeNhaTroOnMapsModel {\r\n maHuyen?: number;\r\n tongSoNhaTroTrenDiaBan?: number;\r\n tongSoPhongTroTrenDiaBan?: number;\r\n tongSoPhongTroChuaCoNguoiThue?: number;\r\n}\r\n\r\nexport class ThongKeNhaTroOnMapsModelApiResponse implements IThongKeNhaTroOnMapsModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ThongKeNhaTroOnMapsModel;\r\n\r\n constructor(data?: IThongKeNhaTroOnMapsModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ThongKeNhaTroOnMapsModel(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ThongKeNhaTroOnMapsModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongKeNhaTroOnMapsModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongKeNhaTroOnMapsModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ThongKeNhaTroOnMapsModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new ThongKeNhaTroOnMapsModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongKeNhaTroOnMapsModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IThongKeNhaTroOnMapsModel;\r\n}\r\n\r\nexport class ThongKeSearchModel implements IThongKeSearchModel {\r\n search?: string | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n condition?: string | undefined;\r\n sortColumn?: string | undefined;\r\n sortExpression?: string | undefined;\r\n status?: string | undefined;\r\n columnName?: string | undefined;\r\n provinceCode?: string | undefined;\r\n districtCode?: string | undefined;\r\n wardCode?: string | undefined;\r\n villageCode?: string | undefined;\r\n hotelId?: number | undefined;\r\n startDate?: Date | undefined;\r\n endDate?: Date | undefined;\r\n fromYear?: number | undefined;\r\n toYear?: number | undefined;\r\n target?: number | undefined;\r\n type?: number | undefined;\r\n isViewCurrentDate?: boolean | undefined;\r\n maTinh?: string | undefined;\r\n maHuyen?: string | undefined;\r\n maXa?: string | undefined;\r\n gioiTinh?: number | undefined;\r\n danToc?: string[] | undefined;\r\n doTuoi?: number[] | undefined;\r\n trangThai?: number | undefined;\r\n fromAge?: number | undefined;\r\n toAge?: number | undefined;\r\n ngheNghiep?: number | undefined;\r\n noiLamViec?: number | undefined;\r\n isNonTenant?: boolean | undefined;\r\n tranhthaikhachthue?: number;\r\n loaiTheoDoi?: number | undefined;\r\n tennhatro?: string | undefined;\r\n dienthoai?: string | undefined;\r\n cccd?: string | undefined;\r\n\r\n constructor(data?: IThongKeSearchModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.search = _data[\"search\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.condition = _data[\"condition\"];\r\n this.sortColumn = _data[\"sortColumn\"];\r\n this.sortExpression = _data[\"sortExpression\"];\r\n this.status = _data[\"status\"];\r\n this.columnName = _data[\"columnName\"];\r\n this.provinceCode = _data[\"provinceCode\"];\r\n this.districtCode = _data[\"districtCode\"];\r\n this.wardCode = _data[\"wardCode\"];\r\n this.villageCode = _data[\"villageCode\"];\r\n this.hotelId = _data[\"hotelId\"];\r\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\r\n this.fromYear = _data[\"fromYear\"];\r\n this.toYear = _data[\"toYear\"];\r\n this.target = _data[\"target\"];\r\n this.type = _data[\"type\"];\r\n this.isViewCurrentDate = _data[\"isViewCurrentDate\"];\r\n this.maTinh = _data[\"maTinh\"];\r\n this.maHuyen = _data[\"maHuyen\"];\r\n this.maXa = _data[\"maXa\"];\r\n this.gioiTinh = _data[\"gioiTinh\"];\r\n if (Array.isArray(_data[\"danToc\"])) {\r\n this.danToc = [] as any;\r\n for (let item of _data[\"danToc\"])\r\n this.danToc!.push(item);\r\n }\r\n if (Array.isArray(_data[\"doTuoi\"])) {\r\n this.doTuoi = [] as any;\r\n for (let item of _data[\"doTuoi\"])\r\n this.doTuoi!.push(item);\r\n }\r\n this.trangThai = _data[\"trangThai\"];\r\n this.fromAge = _data[\"fromAge\"];\r\n this.toAge = _data[\"toAge\"];\r\n this.ngheNghiep = _data[\"ngheNghiep\"];\r\n this.noiLamViec = _data[\"noiLamViec\"];\r\n this.isNonTenant = _data[\"isNonTenant\"];\r\n this.tranhthaikhachthue = _data[\"tranhthaikhachthue\"];\r\n this.loaiTheoDoi = _data[\"loaiTheoDoi\"];\r\n this.tennhatro = _data[\"tennhatro\"];\r\n this.dienthoai = _data[\"dienthoai\"];\r\n this.cccd = _data[\"cccd\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongKeSearchModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongKeSearchModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"search\"] = this.search;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"condition\"] = this.condition;\r\n data[\"sortColumn\"] = this.sortColumn;\r\n data[\"sortExpression\"] = this.sortExpression;\r\n data[\"status\"] = this.status;\r\n data[\"columnName\"] = this.columnName;\r\n data[\"provinceCode\"] = this.provinceCode;\r\n data[\"districtCode\"] = this.districtCode;\r\n data[\"wardCode\"] = this.wardCode;\r\n data[\"villageCode\"] = this.villageCode;\r\n data[\"hotelId\"] = this.hotelId;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n data[\"fromYear\"] = this.fromYear;\r\n data[\"toYear\"] = this.toYear;\r\n data[\"target\"] = this.target;\r\n data[\"type\"] = this.type;\r\n data[\"isViewCurrentDate\"] = this.isViewCurrentDate;\r\n data[\"maTinh\"] = this.maTinh;\r\n data[\"maHuyen\"] = this.maHuyen;\r\n data[\"maXa\"] = this.maXa;\r\n data[\"gioiTinh\"] = this.gioiTinh;\r\n if (Array.isArray(this.danToc)) {\r\n data[\"danToc\"] = [];\r\n for (let item of this.danToc)\r\n data[\"danToc\"].push(item);\r\n }\r\n if (Array.isArray(this.doTuoi)) {\r\n data[\"doTuoi\"] = [];\r\n for (let item of this.doTuoi)\r\n data[\"doTuoi\"].push(item);\r\n }\r\n data[\"trangThai\"] = this.trangThai;\r\n data[\"fromAge\"] = this.fromAge;\r\n data[\"toAge\"] = this.toAge;\r\n data[\"ngheNghiep\"] = this.ngheNghiep;\r\n data[\"noiLamViec\"] = this.noiLamViec;\r\n data[\"isNonTenant\"] = this.isNonTenant;\r\n data[\"tranhthaikhachthue\"] = this.tranhthaikhachthue;\r\n data[\"loaiTheoDoi\"] = this.loaiTheoDoi;\r\n data[\"tennhatro\"] = this.tennhatro;\r\n data[\"dienthoai\"] = this.dienthoai;\r\n data[\"cccd\"] = this.cccd;\r\n return data;\r\n }\r\n\r\n clone(): ThongKeSearchModel {\r\n const json = this.toJSON();\r\n let result = new ThongKeSearchModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongKeSearchModel {\r\n search?: string | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n condition?: string | undefined;\r\n sortColumn?: string | undefined;\r\n sortExpression?: string | undefined;\r\n status?: string | undefined;\r\n columnName?: string | undefined;\r\n provinceCode?: string | undefined;\r\n districtCode?: string | undefined;\r\n wardCode?: string | undefined;\r\n villageCode?: string | undefined;\r\n hotelId?: number | undefined;\r\n startDate?: Date | undefined;\r\n endDate?: Date | undefined;\r\n fromYear?: number | undefined;\r\n toYear?: number | undefined;\r\n target?: number | undefined;\r\n type?: number | undefined;\r\n isViewCurrentDate?: boolean | undefined;\r\n maTinh?: string | undefined;\r\n maHuyen?: string | undefined;\r\n maXa?: string | undefined;\r\n gioiTinh?: number | undefined;\r\n danToc?: string[] | undefined;\r\n doTuoi?: number[] | undefined;\r\n trangThai?: number | undefined;\r\n fromAge?: number | undefined;\r\n toAge?: number | undefined;\r\n ngheNghiep?: number | undefined;\r\n noiLamViec?: number | undefined;\r\n isNonTenant?: boolean | undefined;\r\n tranhthaikhachthue?: number;\r\n loaiTheoDoi?: number | undefined;\r\n tennhatro?: string | undefined;\r\n dienthoai?: string | undefined;\r\n cccd?: string | undefined;\r\n}\r\n\r\nexport class TinlaodongEntity implements ITinlaodongEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n chitietbaiviet?: string | undefined;\r\n hinhanh?: string | undefined;\r\n id?: number;\r\n link?: string | undefined;\r\n loaitin?: number | undefined;\r\n mahuyen?: string | undefined;\r\n matinh?: string | undefined;\r\n maxa?: string | undefined;\r\n ngaydang?: Date | undefined;\r\n noidung?: string | undefined;\r\n tieude?: string | undefined;\r\n trangthai?: number | undefined;\r\n\r\n constructor(data?: ITinlaodongEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.chitietbaiviet = _data[\"chitietbaiviet\"];\r\n this.hinhanh = _data[\"hinhanh\"];\r\n this.id = _data[\"id\"];\r\n this.link = _data[\"link\"];\r\n this.loaitin = _data[\"loaitin\"];\r\n this.mahuyen = _data[\"mahuyen\"];\r\n this.matinh = _data[\"matinh\"];\r\n this.maxa = _data[\"maxa\"];\r\n this.ngaydang = _data[\"ngaydang\"] ? new Date(_data[\"ngaydang\"].toString()) : undefined;\r\n this.noidung = _data[\"noidung\"];\r\n this.tieude = _data[\"tieude\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TinlaodongEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TinlaodongEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"chitietbaiviet\"] = this.chitietbaiviet;\r\n data[\"hinhanh\"] = this.hinhanh;\r\n data[\"id\"] = this.id;\r\n data[\"link\"] = this.link;\r\n data[\"loaitin\"] = this.loaitin;\r\n data[\"mahuyen\"] = this.mahuyen;\r\n data[\"matinh\"] = this.matinh;\r\n data[\"maxa\"] = this.maxa;\r\n data[\"ngaydang\"] = this.ngaydang ? this.ngaydang.toISOString() : undefined;\r\n data[\"noidung\"] = this.noidung;\r\n data[\"tieude\"] = this.tieude;\r\n data[\"trangthai\"] = this.trangthai;\r\n return data;\r\n }\r\n\r\n clone(): TinlaodongEntity {\r\n const json = this.toJSON();\r\n let result = new TinlaodongEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITinlaodongEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n chitietbaiviet?: string | undefined;\r\n hinhanh?: string | undefined;\r\n id?: number;\r\n link?: string | undefined;\r\n loaitin?: number | undefined;\r\n mahuyen?: string | undefined;\r\n matinh?: string | undefined;\r\n maxa?: string | undefined;\r\n ngaydang?: Date | undefined;\r\n noidung?: string | undefined;\r\n tieude?: string | undefined;\r\n trangthai?: number | undefined;\r\n}\r\n\r\nexport class TinlaodongEntityApiResponse implements ITinlaodongEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: TinlaodongEntity;\r\n\r\n constructor(data?: ITinlaodongEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new TinlaodongEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? TinlaodongEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): TinlaodongEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TinlaodongEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): TinlaodongEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new TinlaodongEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITinlaodongEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ITinlaodongEntity;\r\n}\r\n\r\nexport class TinlaodongEntityIEnumerableApiResponse implements ITinlaodongEntityIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: TinlaodongEntity[] | undefined;\r\n\r\n constructor(data?: ITinlaodongEntityIEnumerableApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new TinlaodongEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(TinlaodongEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TinlaodongEntityIEnumerableApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TinlaodongEntityIEnumerableApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): TinlaodongEntityIEnumerableApiResponse {\r\n const json = this.toJSON();\r\n let result = new TinlaodongEntityIEnumerableApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITinlaodongEntityIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ITinlaodongEntity[] | undefined;\r\n}\r\n\r\nexport class TotalDanhGiaModel implements ITotalDanhGiaModel {\r\n nhaTroId?: number;\r\n one?: number;\r\n two?: number;\r\n three?: number;\r\n four?: number;\r\n five?: number;\r\n\r\n constructor(data?: ITotalDanhGiaModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.nhaTroId = _data[\"nhaTroId\"];\r\n this.one = _data[\"one\"];\r\n this.two = _data[\"two\"];\r\n this.three = _data[\"three\"];\r\n this.four = _data[\"four\"];\r\n this.five = _data[\"five\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TotalDanhGiaModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TotalDanhGiaModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"nhaTroId\"] = this.nhaTroId;\r\n data[\"one\"] = this.one;\r\n data[\"two\"] = this.two;\r\n data[\"three\"] = this.three;\r\n data[\"four\"] = this.four;\r\n data[\"five\"] = this.five;\r\n return data;\r\n }\r\n\r\n clone(): TotalDanhGiaModel {\r\n const json = this.toJSON();\r\n let result = new TotalDanhGiaModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITotalDanhGiaModel {\r\n nhaTroId?: number;\r\n one?: number;\r\n two?: number;\r\n three?: number;\r\n four?: number;\r\n five?: number;\r\n}\r\n\r\nexport class TotalDanhGiaModelApiResponse implements ITotalDanhGiaModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: TotalDanhGiaModel;\r\n\r\n constructor(data?: ITotalDanhGiaModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new TotalDanhGiaModel(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? TotalDanhGiaModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): TotalDanhGiaModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TotalDanhGiaModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): TotalDanhGiaModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new TotalDanhGiaModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITotalDanhGiaModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ITotalDanhGiaModel;\r\n}\r\n\r\nexport class Type implements IType {\r\n readonly name?: string | undefined;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n readonly isInterface?: boolean;\r\n memberType?: MemberTypes;\r\n readonly namespace?: string | undefined;\r\n readonly assemblyQualifiedName?: string | undefined;\r\n readonly fullName?: string | undefined;\r\n assembly?: Assembly;\r\n module?: Module;\r\n readonly isNested?: boolean;\r\n declaringType?: Type;\r\n declaringMethod?: MethodBase;\r\n reflectedType?: Type;\r\n underlyingSystemType?: Type;\r\n readonly isTypeDefinition?: boolean;\r\n readonly isArray?: boolean;\r\n readonly isByRef?: boolean;\r\n readonly isPointer?: boolean;\r\n readonly isConstructedGenericType?: boolean;\r\n readonly isGenericParameter?: boolean;\r\n readonly isGenericTypeParameter?: boolean;\r\n readonly isGenericMethodParameter?: boolean;\r\n readonly isGenericType?: boolean;\r\n readonly isGenericTypeDefinition?: boolean;\r\n readonly isSZArray?: boolean;\r\n readonly isVariableBoundArray?: boolean;\r\n readonly isByRefLike?: boolean;\r\n readonly hasElementType?: boolean;\r\n readonly genericTypeArguments?: Type[] | undefined;\r\n readonly genericParameterPosition?: number;\r\n genericParameterAttributes?: GenericParameterAttributes;\r\n attributes?: TypeAttributes;\r\n readonly isAbstract?: boolean;\r\n readonly isImport?: boolean;\r\n readonly isSealed?: boolean;\r\n readonly isSpecialName?: boolean;\r\n readonly isClass?: boolean;\r\n readonly isNestedAssembly?: boolean;\r\n readonly isNestedFamANDAssem?: boolean;\r\n readonly isNestedFamily?: boolean;\r\n readonly isNestedFamORAssem?: boolean;\r\n readonly isNestedPrivate?: boolean;\r\n readonly isNestedPublic?: boolean;\r\n readonly isNotPublic?: boolean;\r\n readonly isPublic?: boolean;\r\n readonly isAutoLayout?: boolean;\r\n readonly isExplicitLayout?: boolean;\r\n readonly isLayoutSequential?: boolean;\r\n readonly isAnsiClass?: boolean;\r\n readonly isAutoClass?: boolean;\r\n readonly isUnicodeClass?: boolean;\r\n readonly isCOMObject?: boolean;\r\n readonly isContextful?: boolean;\r\n readonly isEnum?: boolean;\r\n readonly isMarshalByRef?: boolean;\r\n readonly isPrimitive?: boolean;\r\n readonly isValueType?: boolean;\r\n readonly isSignatureType?: boolean;\r\n readonly isSecurityCritical?: boolean;\r\n readonly isSecuritySafeCritical?: boolean;\r\n readonly isSecurityTransparent?: boolean;\r\n structLayoutAttribute?: StructLayoutAttribute;\r\n typeInitializer?: ConstructorInfo;\r\n typeHandle?: RuntimeTypeHandle;\r\n readonly guid?: string;\r\n baseType?: Type;\r\n readonly isSerializable?: boolean;\r\n readonly containsGenericParameters?: boolean;\r\n readonly isVisible?: boolean;\r\n\r\n constructor(data?: IType) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.assembly = data.assembly && !(data.assembly).toJSON ? new Assembly(data.assembly) : this.assembly;\r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module;\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType;\r\n this.declaringMethod = data.declaringMethod && !(data.declaringMethod).toJSON ? new MethodBase(data.declaringMethod) : this.declaringMethod;\r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType;\r\n this.underlyingSystemType = data.underlyingSystemType && !(data.underlyingSystemType).toJSON ? new Type(data.underlyingSystemType) : this.underlyingSystemType;\r\n if (data.genericTypeArguments) {\r\n this.genericTypeArguments = [];\r\n for (let i = 0; i < data.genericTypeArguments.length; i++) {\r\n let item = data.genericTypeArguments[i];\r\n this.genericTypeArguments[i] = item && !(item).toJSON ? new Type(item) : item;\r\n }\r\n }\r\n this.structLayoutAttribute = data.structLayoutAttribute && !(data.structLayoutAttribute).toJSON ? new StructLayoutAttribute(data.structLayoutAttribute) : this.structLayoutAttribute;\r\n this.typeInitializer = data.typeInitializer && !(data.typeInitializer).toJSON ? new ConstructorInfo(data.typeInitializer) : this.typeInitializer;\r\n this.typeHandle = data.typeHandle && !(data.typeHandle).toJSON ? new RuntimeTypeHandle(data.typeHandle) : this.typeHandle;\r\n this.baseType = data.baseType && !(data.baseType).toJSON ? new Type(data.baseType) : this.baseType;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n (this).isInterface = _data[\"isInterface\"];\r\n this.memberType = _data[\"memberType\"];\r\n (this).namespace = _data[\"namespace\"];\r\n (this).assemblyQualifiedName = _data[\"assemblyQualifiedName\"];\r\n (this).fullName = _data[\"fullName\"];\r\n this.assembly = _data[\"assembly\"] ? Assembly.fromJS(_data[\"assembly\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n (this).isNested = _data[\"isNested\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.declaringMethod = _data[\"declaringMethod\"] ? MethodBase.fromJS(_data[\"declaringMethod\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.underlyingSystemType = _data[\"underlyingSystemType\"] ? Type.fromJS(_data[\"underlyingSystemType\"]) : undefined;\r\n (this).isTypeDefinition = _data[\"isTypeDefinition\"];\r\n (this).isArray = _data[\"isArray\"];\r\n (this).isByRef = _data[\"isByRef\"];\r\n (this).isPointer = _data[\"isPointer\"];\r\n (this).isConstructedGenericType = _data[\"isConstructedGenericType\"];\r\n (this).isGenericParameter = _data[\"isGenericParameter\"];\r\n (this).isGenericTypeParameter = _data[\"isGenericTypeParameter\"];\r\n (this).isGenericMethodParameter = _data[\"isGenericMethodParameter\"];\r\n (this).isGenericType = _data[\"isGenericType\"];\r\n (this).isGenericTypeDefinition = _data[\"isGenericTypeDefinition\"];\r\n (this).isSZArray = _data[\"isSZArray\"];\r\n (this).isVariableBoundArray = _data[\"isVariableBoundArray\"];\r\n (this).isByRefLike = _data[\"isByRefLike\"];\r\n (this).hasElementType = _data[\"hasElementType\"];\r\n if (Array.isArray(_data[\"genericTypeArguments\"])) {\r\n (this).genericTypeArguments = [] as any;\r\n for (let item of _data[\"genericTypeArguments\"])\r\n (this).genericTypeArguments!.push(Type.fromJS(item));\r\n }\r\n (this).genericParameterPosition = _data[\"genericParameterPosition\"];\r\n this.genericParameterAttributes = _data[\"genericParameterAttributes\"];\r\n this.attributes = _data[\"attributes\"];\r\n (this).isAbstract = _data[\"isAbstract\"];\r\n (this).isImport = _data[\"isImport\"];\r\n (this).isSealed = _data[\"isSealed\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n (this).isClass = _data[\"isClass\"];\r\n (this).isNestedAssembly = _data[\"isNestedAssembly\"];\r\n (this).isNestedFamANDAssem = _data[\"isNestedFamANDAssem\"];\r\n (this).isNestedFamily = _data[\"isNestedFamily\"];\r\n (this).isNestedFamORAssem = _data[\"isNestedFamORAssem\"];\r\n (this).isNestedPrivate = _data[\"isNestedPrivate\"];\r\n (this).isNestedPublic = _data[\"isNestedPublic\"];\r\n (this).isNotPublic = _data[\"isNotPublic\"];\r\n (this).isPublic = _data[\"isPublic\"];\r\n (this).isAutoLayout = _data[\"isAutoLayout\"];\r\n (this).isExplicitLayout = _data[\"isExplicitLayout\"];\r\n (this).isLayoutSequential = _data[\"isLayoutSequential\"];\r\n (this).isAnsiClass = _data[\"isAnsiClass\"];\r\n (this).isAutoClass = _data[\"isAutoClass\"];\r\n (this).isUnicodeClass = _data[\"isUnicodeClass\"];\r\n (this).isCOMObject = _data[\"isCOMObject\"];\r\n (this).isContextful = _data[\"isContextful\"];\r\n (this).isEnum = _data[\"isEnum\"];\r\n (this).isMarshalByRef = _data[\"isMarshalByRef\"];\r\n (this).isPrimitive = _data[\"isPrimitive\"];\r\n (this).isValueType = _data[\"isValueType\"];\r\n (this).isSignatureType = _data[\"isSignatureType\"];\r\n (this).isSecurityCritical = _data[\"isSecurityCritical\"];\r\n (this).isSecuritySafeCritical = _data[\"isSecuritySafeCritical\"];\r\n (this).isSecurityTransparent = _data[\"isSecurityTransparent\"];\r\n this.structLayoutAttribute = _data[\"structLayoutAttribute\"] ? StructLayoutAttribute.fromJS(_data[\"structLayoutAttribute\"]) : undefined;\r\n this.typeInitializer = _data[\"typeInitializer\"] ? ConstructorInfo.fromJS(_data[\"typeInitializer\"]) : undefined;\r\n this.typeHandle = _data[\"typeHandle\"] ? RuntimeTypeHandle.fromJS(_data[\"typeHandle\"]) : undefined;\r\n (this).guid = _data[\"guid\"];\r\n this.baseType = _data[\"baseType\"] ? Type.fromJS(_data[\"baseType\"]) : undefined;\r\n (this).isSerializable = _data[\"isSerializable\"];\r\n (this).containsGenericParameters = _data[\"containsGenericParameters\"];\r\n (this).isVisible = _data[\"isVisible\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Type {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Type();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"isInterface\"] = this.isInterface;\r\n data[\"memberType\"] = this.memberType;\r\n data[\"namespace\"] = this.namespace;\r\n data[\"assemblyQualifiedName\"] = this.assemblyQualifiedName;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"assembly\"] = this.assembly ? this.assembly.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n data[\"isNested\"] = this.isNested;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"declaringMethod\"] = this.declaringMethod ? this.declaringMethod.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"underlyingSystemType\"] = this.underlyingSystemType ? this.underlyingSystemType.toJSON() : undefined;\r\n data[\"isTypeDefinition\"] = this.isTypeDefinition;\r\n data[\"isArray\"] = this.isArray;\r\n data[\"isByRef\"] = this.isByRef;\r\n data[\"isPointer\"] = this.isPointer;\r\n data[\"isConstructedGenericType\"] = this.isConstructedGenericType;\r\n data[\"isGenericParameter\"] = this.isGenericParameter;\r\n data[\"isGenericTypeParameter\"] = this.isGenericTypeParameter;\r\n data[\"isGenericMethodParameter\"] = this.isGenericMethodParameter;\r\n data[\"isGenericType\"] = this.isGenericType;\r\n data[\"isGenericTypeDefinition\"] = this.isGenericTypeDefinition;\r\n data[\"isSZArray\"] = this.isSZArray;\r\n data[\"isVariableBoundArray\"] = this.isVariableBoundArray;\r\n data[\"isByRefLike\"] = this.isByRefLike;\r\n data[\"hasElementType\"] = this.hasElementType;\r\n if (Array.isArray(this.genericTypeArguments)) {\r\n data[\"genericTypeArguments\"] = [];\r\n for (let item of this.genericTypeArguments)\r\n data[\"genericTypeArguments\"].push(item.toJSON());\r\n }\r\n data[\"genericParameterPosition\"] = this.genericParameterPosition;\r\n data[\"genericParameterAttributes\"] = this.genericParameterAttributes;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"isAbstract\"] = this.isAbstract;\r\n data[\"isImport\"] = this.isImport;\r\n data[\"isSealed\"] = this.isSealed;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"isClass\"] = this.isClass;\r\n data[\"isNestedAssembly\"] = this.isNestedAssembly;\r\n data[\"isNestedFamANDAssem\"] = this.isNestedFamANDAssem;\r\n data[\"isNestedFamily\"] = this.isNestedFamily;\r\n data[\"isNestedFamORAssem\"] = this.isNestedFamORAssem;\r\n data[\"isNestedPrivate\"] = this.isNestedPrivate;\r\n data[\"isNestedPublic\"] = this.isNestedPublic;\r\n data[\"isNotPublic\"] = this.isNotPublic;\r\n data[\"isPublic\"] = this.isPublic;\r\n data[\"isAutoLayout\"] = this.isAutoLayout;\r\n data[\"isExplicitLayout\"] = this.isExplicitLayout;\r\n data[\"isLayoutSequential\"] = this.isLayoutSequential;\r\n data[\"isAnsiClass\"] = this.isAnsiClass;\r\n data[\"isAutoClass\"] = this.isAutoClass;\r\n data[\"isUnicodeClass\"] = this.isUnicodeClass;\r\n data[\"isCOMObject\"] = this.isCOMObject;\r\n data[\"isContextful\"] = this.isContextful;\r\n data[\"isEnum\"] = this.isEnum;\r\n data[\"isMarshalByRef\"] = this.isMarshalByRef;\r\n data[\"isPrimitive\"] = this.isPrimitive;\r\n data[\"isValueType\"] = this.isValueType;\r\n data[\"isSignatureType\"] = this.isSignatureType;\r\n data[\"isSecurityCritical\"] = this.isSecurityCritical;\r\n data[\"isSecuritySafeCritical\"] = this.isSecuritySafeCritical;\r\n data[\"isSecurityTransparent\"] = this.isSecurityTransparent;\r\n data[\"structLayoutAttribute\"] = this.structLayoutAttribute ? this.structLayoutAttribute.toJSON() : undefined;\r\n data[\"typeInitializer\"] = this.typeInitializer ? this.typeInitializer.toJSON() : undefined;\r\n data[\"typeHandle\"] = this.typeHandle ? this.typeHandle.toJSON() : undefined;\r\n data[\"guid\"] = this.guid;\r\n data[\"baseType\"] = this.baseType ? this.baseType.toJSON() : undefined;\r\n data[\"isSerializable\"] = this.isSerializable;\r\n data[\"containsGenericParameters\"] = this.containsGenericParameters;\r\n data[\"isVisible\"] = this.isVisible;\r\n return data;\r\n }\r\n\r\n clone(): Type {\r\n const json = this.toJSON();\r\n let result = new Type();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IType {\r\n name?: string | undefined;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n isInterface?: boolean;\r\n memberType?: MemberTypes;\r\n namespace?: string | undefined;\r\n assemblyQualifiedName?: string | undefined;\r\n fullName?: string | undefined;\r\n assembly?: IAssembly;\r\n module?: IModule;\r\n isNested?: boolean;\r\n declaringType?: IType;\r\n declaringMethod?: IMethodBase;\r\n reflectedType?: IType;\r\n underlyingSystemType?: IType;\r\n isTypeDefinition?: boolean;\r\n isArray?: boolean;\r\n isByRef?: boolean;\r\n isPointer?: boolean;\r\n isConstructedGenericType?: boolean;\r\n isGenericParameter?: boolean;\r\n isGenericTypeParameter?: boolean;\r\n isGenericMethodParameter?: boolean;\r\n isGenericType?: boolean;\r\n isGenericTypeDefinition?: boolean;\r\n isSZArray?: boolean;\r\n isVariableBoundArray?: boolean;\r\n isByRefLike?: boolean;\r\n hasElementType?: boolean;\r\n genericTypeArguments?: IType[] | undefined;\r\n genericParameterPosition?: number;\r\n genericParameterAttributes?: GenericParameterAttributes;\r\n attributes?: TypeAttributes;\r\n isAbstract?: boolean;\r\n isImport?: boolean;\r\n isSealed?: boolean;\r\n isSpecialName?: boolean;\r\n isClass?: boolean;\r\n isNestedAssembly?: boolean;\r\n isNestedFamANDAssem?: boolean;\r\n isNestedFamily?: boolean;\r\n isNestedFamORAssem?: boolean;\r\n isNestedPrivate?: boolean;\r\n isNestedPublic?: boolean;\r\n isNotPublic?: boolean;\r\n isPublic?: boolean;\r\n isAutoLayout?: boolean;\r\n isExplicitLayout?: boolean;\r\n isLayoutSequential?: boolean;\r\n isAnsiClass?: boolean;\r\n isAutoClass?: boolean;\r\n isUnicodeClass?: boolean;\r\n isCOMObject?: boolean;\r\n isContextful?: boolean;\r\n isEnum?: boolean;\r\n isMarshalByRef?: boolean;\r\n isPrimitive?: boolean;\r\n isValueType?: boolean;\r\n isSignatureType?: boolean;\r\n isSecurityCritical?: boolean;\r\n isSecuritySafeCritical?: boolean;\r\n isSecurityTransparent?: boolean;\r\n structLayoutAttribute?: IStructLayoutAttribute;\r\n typeInitializer?: IConstructorInfo;\r\n typeHandle?: IRuntimeTypeHandle;\r\n guid?: string;\r\n baseType?: IType;\r\n isSerializable?: boolean;\r\n containsGenericParameters?: boolean;\r\n isVisible?: boolean;\r\n}\r\n\r\nexport enum TypeAttributes {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n _6 = 6,\r\n _7 = 7,\r\n _8 = 8,\r\n _16 = 16,\r\n _24 = 24,\r\n _32 = 32,\r\n _128 = 128,\r\n _256 = 256,\r\n _1024 = 1024,\r\n _2048 = 2048,\r\n _4096 = 4096,\r\n _8192 = 8192,\r\n _16384 = 16384,\r\n _65536 = 65536,\r\n _131072 = 131072,\r\n _196608 = 196608,\r\n _262144 = 262144,\r\n _264192 = 264192,\r\n _1048576 = 1048576,\r\n _12582912 = 12582912,\r\n}\r\n\r\nexport class TypeInfo implements ITypeInfo {\r\n readonly name?: string | undefined;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n readonly isInterface?: boolean;\r\n memberType?: MemberTypes;\r\n readonly namespace?: string | undefined;\r\n readonly assemblyQualifiedName?: string | undefined;\r\n readonly fullName?: string | undefined;\r\n assembly?: Assembly;\r\n module?: Module;\r\n readonly isNested?: boolean;\r\n declaringType?: Type;\r\n declaringMethod?: MethodBase;\r\n reflectedType?: Type;\r\n underlyingSystemType?: Type;\r\n readonly isTypeDefinition?: boolean;\r\n readonly isArray?: boolean;\r\n readonly isByRef?: boolean;\r\n readonly isPointer?: boolean;\r\n readonly isConstructedGenericType?: boolean;\r\n readonly isGenericParameter?: boolean;\r\n readonly isGenericTypeParameter?: boolean;\r\n readonly isGenericMethodParameter?: boolean;\r\n readonly isGenericType?: boolean;\r\n readonly isGenericTypeDefinition?: boolean;\r\n readonly isSZArray?: boolean;\r\n readonly isVariableBoundArray?: boolean;\r\n readonly isByRefLike?: boolean;\r\n readonly hasElementType?: boolean;\r\n readonly genericTypeArguments?: Type[] | undefined;\r\n readonly genericParameterPosition?: number;\r\n genericParameterAttributes?: GenericParameterAttributes;\r\n attributes?: TypeAttributes;\r\n readonly isAbstract?: boolean;\r\n readonly isImport?: boolean;\r\n readonly isSealed?: boolean;\r\n readonly isSpecialName?: boolean;\r\n readonly isClass?: boolean;\r\n readonly isNestedAssembly?: boolean;\r\n readonly isNestedFamANDAssem?: boolean;\r\n readonly isNestedFamily?: boolean;\r\n readonly isNestedFamORAssem?: boolean;\r\n readonly isNestedPrivate?: boolean;\r\n readonly isNestedPublic?: boolean;\r\n readonly isNotPublic?: boolean;\r\n readonly isPublic?: boolean;\r\n readonly isAutoLayout?: boolean;\r\n readonly isExplicitLayout?: boolean;\r\n readonly isLayoutSequential?: boolean;\r\n readonly isAnsiClass?: boolean;\r\n readonly isAutoClass?: boolean;\r\n readonly isUnicodeClass?: boolean;\r\n readonly isCOMObject?: boolean;\r\n readonly isContextful?: boolean;\r\n readonly isEnum?: boolean;\r\n readonly isMarshalByRef?: boolean;\r\n readonly isPrimitive?: boolean;\r\n readonly isValueType?: boolean;\r\n readonly isSignatureType?: boolean;\r\n readonly isSecurityCritical?: boolean;\r\n readonly isSecuritySafeCritical?: boolean;\r\n readonly isSecurityTransparent?: boolean;\r\n structLayoutAttribute?: StructLayoutAttribute;\r\n typeInitializer?: ConstructorInfo;\r\n typeHandle?: RuntimeTypeHandle;\r\n readonly guid?: string;\r\n baseType?: Type;\r\n readonly isSerializable?: boolean;\r\n readonly containsGenericParameters?: boolean;\r\n readonly isVisible?: boolean;\r\n readonly genericTypeParameters?: Type[] | undefined;\r\n readonly declaredConstructors?: ConstructorInfo[] | undefined;\r\n readonly declaredEvents?: EventInfo[] | undefined;\r\n readonly declaredFields?: FieldInfo[] | undefined;\r\n readonly declaredMembers?: MemberInfo[] | undefined;\r\n readonly declaredMethods?: MethodInfo[] | undefined;\r\n readonly declaredNestedTypes?: TypeInfo[] | undefined;\r\n readonly declaredProperties?: PropertyInfo[] | undefined;\r\n readonly implementedInterfaces?: Type[] | undefined;\r\n\r\n constructor(data?: ITypeInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.assembly = data.assembly && !(data.assembly).toJSON ? new Assembly(data.assembly) : this.assembly;\r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module;\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType;\r\n this.declaringMethod = data.declaringMethod && !(data.declaringMethod).toJSON ? new MethodBase(data.declaringMethod) : this.declaringMethod;\r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType;\r\n this.underlyingSystemType = data.underlyingSystemType && !(data.underlyingSystemType).toJSON ? new Type(data.underlyingSystemType) : this.underlyingSystemType;\r\n if (data.genericTypeArguments) {\r\n this.genericTypeArguments = [];\r\n for (let i = 0; i < data.genericTypeArguments.length; i++) {\r\n let item = data.genericTypeArguments[i];\r\n this.genericTypeArguments[i] = item && !(item).toJSON ? new Type(item) : item;\r\n }\r\n }\r\n this.structLayoutAttribute = data.structLayoutAttribute && !(data.structLayoutAttribute).toJSON ? new StructLayoutAttribute(data.structLayoutAttribute) : this.structLayoutAttribute;\r\n this.typeInitializer = data.typeInitializer && !(data.typeInitializer).toJSON ? new ConstructorInfo(data.typeInitializer) : this.typeInitializer;\r\n this.typeHandle = data.typeHandle && !(data.typeHandle).toJSON ? new RuntimeTypeHandle(data.typeHandle) : this.typeHandle;\r\n this.baseType = data.baseType && !(data.baseType).toJSON ? new Type(data.baseType) : this.baseType;\r\n if (data.genericTypeParameters) {\r\n this.genericTypeParameters = [];\r\n for (let i = 0; i < data.genericTypeParameters.length; i++) {\r\n let item = data.genericTypeParameters[i];\r\n this.genericTypeParameters[i] = item && !(item).toJSON ? new Type(item) : item;\r\n }\r\n }\r\n if (data.declaredConstructors) {\r\n this.declaredConstructors = [];\r\n for (let i = 0; i < data.declaredConstructors.length; i++) {\r\n let item = data.declaredConstructors[i];\r\n this.declaredConstructors[i] = item && !(item).toJSON ? new ConstructorInfo(item) : item;\r\n }\r\n }\r\n if (data.declaredEvents) {\r\n this.declaredEvents = [];\r\n for (let i = 0; i < data.declaredEvents.length; i++) {\r\n let item = data.declaredEvents[i];\r\n this.declaredEvents[i] = item && !(item).toJSON ? new EventInfo(item) : item;\r\n }\r\n }\r\n if (data.declaredFields) {\r\n this.declaredFields = [];\r\n for (let i = 0; i < data.declaredFields.length; i++) {\r\n let item = data.declaredFields[i];\r\n this.declaredFields[i] = item && !(item).toJSON ? new FieldInfo(item) : item;\r\n }\r\n }\r\n if (data.declaredMembers) {\r\n this.declaredMembers = [];\r\n for (let i = 0; i < data.declaredMembers.length; i++) {\r\n let item = data.declaredMembers[i];\r\n this.declaredMembers[i] = item && !(item).toJSON ? new MemberInfo(item) : item;\r\n }\r\n }\r\n if (data.declaredMethods) {\r\n this.declaredMethods = [];\r\n for (let i = 0; i < data.declaredMethods.length; i++) {\r\n let item = data.declaredMethods[i];\r\n this.declaredMethods[i] = item && !(item).toJSON ? new MethodInfo(item) : item;\r\n }\r\n }\r\n if (data.declaredNestedTypes) {\r\n this.declaredNestedTypes = [];\r\n for (let i = 0; i < data.declaredNestedTypes.length; i++) {\r\n let item = data.declaredNestedTypes[i];\r\n this.declaredNestedTypes[i] = item && !(item).toJSON ? new TypeInfo(item) : item;\r\n }\r\n }\r\n if (data.declaredProperties) {\r\n this.declaredProperties = [];\r\n for (let i = 0; i < data.declaredProperties.length; i++) {\r\n let item = data.declaredProperties[i];\r\n this.declaredProperties[i] = item && !(item).toJSON ? new PropertyInfo(item) : item;\r\n }\r\n }\r\n if (data.implementedInterfaces) {\r\n this.implementedInterfaces = [];\r\n for (let i = 0; i < data.implementedInterfaces.length; i++) {\r\n let item = data.implementedInterfaces[i];\r\n this.implementedInterfaces[i] = item && !(item).toJSON ? new Type(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n (this).isInterface = _data[\"isInterface\"];\r\n this.memberType = _data[\"memberType\"];\r\n (this).namespace = _data[\"namespace\"];\r\n (this).assemblyQualifiedName = _data[\"assemblyQualifiedName\"];\r\n (this).fullName = _data[\"fullName\"];\r\n this.assembly = _data[\"assembly\"] ? Assembly.fromJS(_data[\"assembly\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n (this).isNested = _data[\"isNested\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.declaringMethod = _data[\"declaringMethod\"] ? MethodBase.fromJS(_data[\"declaringMethod\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.underlyingSystemType = _data[\"underlyingSystemType\"] ? Type.fromJS(_data[\"underlyingSystemType\"]) : undefined;\r\n (this).isTypeDefinition = _data[\"isTypeDefinition\"];\r\n (this).isArray = _data[\"isArray\"];\r\n (this).isByRef = _data[\"isByRef\"];\r\n (this).isPointer = _data[\"isPointer\"];\r\n (this).isConstructedGenericType = _data[\"isConstructedGenericType\"];\r\n (this).isGenericParameter = _data[\"isGenericParameter\"];\r\n (this).isGenericTypeParameter = _data[\"isGenericTypeParameter\"];\r\n (this).isGenericMethodParameter = _data[\"isGenericMethodParameter\"];\r\n (this).isGenericType = _data[\"isGenericType\"];\r\n (this).isGenericTypeDefinition = _data[\"isGenericTypeDefinition\"];\r\n (this).isSZArray = _data[\"isSZArray\"];\r\n (this).isVariableBoundArray = _data[\"isVariableBoundArray\"];\r\n (this).isByRefLike = _data[\"isByRefLike\"];\r\n (this).hasElementType = _data[\"hasElementType\"];\r\n if (Array.isArray(_data[\"genericTypeArguments\"])) {\r\n (this).genericTypeArguments = [] as any;\r\n for (let item of _data[\"genericTypeArguments\"])\r\n (this).genericTypeArguments!.push(Type.fromJS(item));\r\n }\r\n (this).genericParameterPosition = _data[\"genericParameterPosition\"];\r\n this.genericParameterAttributes = _data[\"genericParameterAttributes\"];\r\n this.attributes = _data[\"attributes\"];\r\n (this).isAbstract = _data[\"isAbstract\"];\r\n (this).isImport = _data[\"isImport\"];\r\n (this).isSealed = _data[\"isSealed\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n (this).isClass = _data[\"isClass\"];\r\n (this).isNestedAssembly = _data[\"isNestedAssembly\"];\r\n (this).isNestedFamANDAssem = _data[\"isNestedFamANDAssem\"];\r\n (this).isNestedFamily = _data[\"isNestedFamily\"];\r\n (this).isNestedFamORAssem = _data[\"isNestedFamORAssem\"];\r\n (this).isNestedPrivate = _data[\"isNestedPrivate\"];\r\n (this).isNestedPublic = _data[\"isNestedPublic\"];\r\n (this).isNotPublic = _data[\"isNotPublic\"];\r\n (this).isPublic = _data[\"isPublic\"];\r\n (this).isAutoLayout = _data[\"isAutoLayout\"];\r\n (this).isExplicitLayout = _data[\"isExplicitLayout\"];\r\n (this).isLayoutSequential = _data[\"isLayoutSequential\"];\r\n (this).isAnsiClass = _data[\"isAnsiClass\"];\r\n (this).isAutoClass = _data[\"isAutoClass\"];\r\n (this).isUnicodeClass = _data[\"isUnicodeClass\"];\r\n (this).isCOMObject = _data[\"isCOMObject\"];\r\n (this).isContextful = _data[\"isContextful\"];\r\n (this).isEnum = _data[\"isEnum\"];\r\n (this).isMarshalByRef = _data[\"isMarshalByRef\"];\r\n (this).isPrimitive = _data[\"isPrimitive\"];\r\n (this).isValueType = _data[\"isValueType\"];\r\n (this).isSignatureType = _data[\"isSignatureType\"];\r\n (this).isSecurityCritical = _data[\"isSecurityCritical\"];\r\n (this).isSecuritySafeCritical = _data[\"isSecuritySafeCritical\"];\r\n (this).isSecurityTransparent = _data[\"isSecurityTransparent\"];\r\n this.structLayoutAttribute = _data[\"structLayoutAttribute\"] ? StructLayoutAttribute.fromJS(_data[\"structLayoutAttribute\"]) : undefined;\r\n this.typeInitializer = _data[\"typeInitializer\"] ? ConstructorInfo.fromJS(_data[\"typeInitializer\"]) : undefined;\r\n this.typeHandle = _data[\"typeHandle\"] ? RuntimeTypeHandle.fromJS(_data[\"typeHandle\"]) : undefined;\r\n (this).guid = _data[\"guid\"];\r\n this.baseType = _data[\"baseType\"] ? Type.fromJS(_data[\"baseType\"]) : undefined;\r\n (this).isSerializable = _data[\"isSerializable\"];\r\n (this).containsGenericParameters = _data[\"containsGenericParameters\"];\r\n (this).isVisible = _data[\"isVisible\"];\r\n if (Array.isArray(_data[\"genericTypeParameters\"])) {\r\n (this).genericTypeParameters = [] as any;\r\n for (let item of _data[\"genericTypeParameters\"])\r\n (this).genericTypeParameters!.push(Type.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"declaredConstructors\"])) {\r\n (this).declaredConstructors = [] as any;\r\n for (let item of _data[\"declaredConstructors\"])\r\n (this).declaredConstructors!.push(ConstructorInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"declaredEvents\"])) {\r\n (this).declaredEvents = [] as any;\r\n for (let item of _data[\"declaredEvents\"])\r\n (this).declaredEvents!.push(EventInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"declaredFields\"])) {\r\n (this).declaredFields = [] as any;\r\n for (let item of _data[\"declaredFields\"])\r\n (this).declaredFields!.push(FieldInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"declaredMembers\"])) {\r\n (this).declaredMembers = [] as any;\r\n for (let item of _data[\"declaredMembers\"])\r\n (this).declaredMembers!.push(MemberInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"declaredMethods\"])) {\r\n (this).declaredMethods = [] as any;\r\n for (let item of _data[\"declaredMethods\"])\r\n (this).declaredMethods!.push(MethodInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"declaredNestedTypes\"])) {\r\n (this).declaredNestedTypes = [] as any;\r\n for (let item of _data[\"declaredNestedTypes\"])\r\n (this).declaredNestedTypes!.push(TypeInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"declaredProperties\"])) {\r\n (this).declaredProperties = [] as any;\r\n for (let item of _data[\"declaredProperties\"])\r\n (this).declaredProperties!.push(PropertyInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"implementedInterfaces\"])) {\r\n (this).implementedInterfaces = [] as any;\r\n for (let item of _data[\"implementedInterfaces\"])\r\n (this).implementedInterfaces!.push(Type.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TypeInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TypeInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"isInterface\"] = this.isInterface;\r\n data[\"memberType\"] = this.memberType;\r\n data[\"namespace\"] = this.namespace;\r\n data[\"assemblyQualifiedName\"] = this.assemblyQualifiedName;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"assembly\"] = this.assembly ? this.assembly.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n data[\"isNested\"] = this.isNested;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"declaringMethod\"] = this.declaringMethod ? this.declaringMethod.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"underlyingSystemType\"] = this.underlyingSystemType ? this.underlyingSystemType.toJSON() : undefined;\r\n data[\"isTypeDefinition\"] = this.isTypeDefinition;\r\n data[\"isArray\"] = this.isArray;\r\n data[\"isByRef\"] = this.isByRef;\r\n data[\"isPointer\"] = this.isPointer;\r\n data[\"isConstructedGenericType\"] = this.isConstructedGenericType;\r\n data[\"isGenericParameter\"] = this.isGenericParameter;\r\n data[\"isGenericTypeParameter\"] = this.isGenericTypeParameter;\r\n data[\"isGenericMethodParameter\"] = this.isGenericMethodParameter;\r\n data[\"isGenericType\"] = this.isGenericType;\r\n data[\"isGenericTypeDefinition\"] = this.isGenericTypeDefinition;\r\n data[\"isSZArray\"] = this.isSZArray;\r\n data[\"isVariableBoundArray\"] = this.isVariableBoundArray;\r\n data[\"isByRefLike\"] = this.isByRefLike;\r\n data[\"hasElementType\"] = this.hasElementType;\r\n if (Array.isArray(this.genericTypeArguments)) {\r\n data[\"genericTypeArguments\"] = [];\r\n for (let item of this.genericTypeArguments)\r\n data[\"genericTypeArguments\"].push(item.toJSON());\r\n }\r\n data[\"genericParameterPosition\"] = this.genericParameterPosition;\r\n data[\"genericParameterAttributes\"] = this.genericParameterAttributes;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"isAbstract\"] = this.isAbstract;\r\n data[\"isImport\"] = this.isImport;\r\n data[\"isSealed\"] = this.isSealed;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"isClass\"] = this.isClass;\r\n data[\"isNestedAssembly\"] = this.isNestedAssembly;\r\n data[\"isNestedFamANDAssem\"] = this.isNestedFamANDAssem;\r\n data[\"isNestedFamily\"] = this.isNestedFamily;\r\n data[\"isNestedFamORAssem\"] = this.isNestedFamORAssem;\r\n data[\"isNestedPrivate\"] = this.isNestedPrivate;\r\n data[\"isNestedPublic\"] = this.isNestedPublic;\r\n data[\"isNotPublic\"] = this.isNotPublic;\r\n data[\"isPublic\"] = this.isPublic;\r\n data[\"isAutoLayout\"] = this.isAutoLayout;\r\n data[\"isExplicitLayout\"] = this.isExplicitLayout;\r\n data[\"isLayoutSequential\"] = this.isLayoutSequential;\r\n data[\"isAnsiClass\"] = this.isAnsiClass;\r\n data[\"isAutoClass\"] = this.isAutoClass;\r\n data[\"isUnicodeClass\"] = this.isUnicodeClass;\r\n data[\"isCOMObject\"] = this.isCOMObject;\r\n data[\"isContextful\"] = this.isContextful;\r\n data[\"isEnum\"] = this.isEnum;\r\n data[\"isMarshalByRef\"] = this.isMarshalByRef;\r\n data[\"isPrimitive\"] = this.isPrimitive;\r\n data[\"isValueType\"] = this.isValueType;\r\n data[\"isSignatureType\"] = this.isSignatureType;\r\n data[\"isSecurityCritical\"] = this.isSecurityCritical;\r\n data[\"isSecuritySafeCritical\"] = this.isSecuritySafeCritical;\r\n data[\"isSecurityTransparent\"] = this.isSecurityTransparent;\r\n data[\"structLayoutAttribute\"] = this.structLayoutAttribute ? this.structLayoutAttribute.toJSON() : undefined;\r\n data[\"typeInitializer\"] = this.typeInitializer ? this.typeInitializer.toJSON() : undefined;\r\n data[\"typeHandle\"] = this.typeHandle ? this.typeHandle.toJSON() : undefined;\r\n data[\"guid\"] = this.guid;\r\n data[\"baseType\"] = this.baseType ? this.baseType.toJSON() : undefined;\r\n data[\"isSerializable\"] = this.isSerializable;\r\n data[\"containsGenericParameters\"] = this.containsGenericParameters;\r\n data[\"isVisible\"] = this.isVisible;\r\n if (Array.isArray(this.genericTypeParameters)) {\r\n data[\"genericTypeParameters\"] = [];\r\n for (let item of this.genericTypeParameters)\r\n data[\"genericTypeParameters\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.declaredConstructors)) {\r\n data[\"declaredConstructors\"] = [];\r\n for (let item of this.declaredConstructors)\r\n data[\"declaredConstructors\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.declaredEvents)) {\r\n data[\"declaredEvents\"] = [];\r\n for (let item of this.declaredEvents)\r\n data[\"declaredEvents\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.declaredFields)) {\r\n data[\"declaredFields\"] = [];\r\n for (let item of this.declaredFields)\r\n data[\"declaredFields\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.declaredMembers)) {\r\n data[\"declaredMembers\"] = [];\r\n for (let item of this.declaredMembers)\r\n data[\"declaredMembers\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.declaredMethods)) {\r\n data[\"declaredMethods\"] = [];\r\n for (let item of this.declaredMethods)\r\n data[\"declaredMethods\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.declaredNestedTypes)) {\r\n data[\"declaredNestedTypes\"] = [];\r\n for (let item of this.declaredNestedTypes)\r\n data[\"declaredNestedTypes\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.declaredProperties)) {\r\n data[\"declaredProperties\"] = [];\r\n for (let item of this.declaredProperties)\r\n data[\"declaredProperties\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.implementedInterfaces)) {\r\n data[\"implementedInterfaces\"] = [];\r\n for (let item of this.implementedInterfaces)\r\n data[\"implementedInterfaces\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): TypeInfo {\r\n const json = this.toJSON();\r\n let result = new TypeInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITypeInfo {\r\n name?: string | undefined;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n isInterface?: boolean;\r\n memberType?: MemberTypes;\r\n namespace?: string | undefined;\r\n assemblyQualifiedName?: string | undefined;\r\n fullName?: string | undefined;\r\n assembly?: IAssembly;\r\n module?: IModule;\r\n isNested?: boolean;\r\n declaringType?: IType;\r\n declaringMethod?: IMethodBase;\r\n reflectedType?: IType;\r\n underlyingSystemType?: IType;\r\n isTypeDefinition?: boolean;\r\n isArray?: boolean;\r\n isByRef?: boolean;\r\n isPointer?: boolean;\r\n isConstructedGenericType?: boolean;\r\n isGenericParameter?: boolean;\r\n isGenericTypeParameter?: boolean;\r\n isGenericMethodParameter?: boolean;\r\n isGenericType?: boolean;\r\n isGenericTypeDefinition?: boolean;\r\n isSZArray?: boolean;\r\n isVariableBoundArray?: boolean;\r\n isByRefLike?: boolean;\r\n hasElementType?: boolean;\r\n genericTypeArguments?: IType[] | undefined;\r\n genericParameterPosition?: number;\r\n genericParameterAttributes?: GenericParameterAttributes;\r\n attributes?: TypeAttributes;\r\n isAbstract?: boolean;\r\n isImport?: boolean;\r\n isSealed?: boolean;\r\n isSpecialName?: boolean;\r\n isClass?: boolean;\r\n isNestedAssembly?: boolean;\r\n isNestedFamANDAssem?: boolean;\r\n isNestedFamily?: boolean;\r\n isNestedFamORAssem?: boolean;\r\n isNestedPrivate?: boolean;\r\n isNestedPublic?: boolean;\r\n isNotPublic?: boolean;\r\n isPublic?: boolean;\r\n isAutoLayout?: boolean;\r\n isExplicitLayout?: boolean;\r\n isLayoutSequential?: boolean;\r\n isAnsiClass?: boolean;\r\n isAutoClass?: boolean;\r\n isUnicodeClass?: boolean;\r\n isCOMObject?: boolean;\r\n isContextful?: boolean;\r\n isEnum?: boolean;\r\n isMarshalByRef?: boolean;\r\n isPrimitive?: boolean;\r\n isValueType?: boolean;\r\n isSignatureType?: boolean;\r\n isSecurityCritical?: boolean;\r\n isSecuritySafeCritical?: boolean;\r\n isSecurityTransparent?: boolean;\r\n structLayoutAttribute?: IStructLayoutAttribute;\r\n typeInitializer?: IConstructorInfo;\r\n typeHandle?: IRuntimeTypeHandle;\r\n guid?: string;\r\n baseType?: IType;\r\n isSerializable?: boolean;\r\n containsGenericParameters?: boolean;\r\n isVisible?: boolean;\r\n genericTypeParameters?: IType[] | undefined;\r\n declaredConstructors?: IConstructorInfo[] | undefined;\r\n declaredEvents?: IEventInfo[] | undefined;\r\n declaredFields?: IFieldInfo[] | undefined;\r\n declaredMembers?: IMemberInfo[] | undefined;\r\n declaredMethods?: IMethodInfo[] | undefined;\r\n declaredNestedTypes?: ITypeInfo[] | undefined;\r\n declaredProperties?: IPropertyInfo[] | undefined;\r\n implementedInterfaces?: IType[] | undefined;\r\n}\r\n\r\nexport class UpdateImageModel implements IUpdateImageModel {\r\n idNha?: number | undefined;\r\n anhdaidien?: string | undefined;\r\n anh1?: string | undefined;\r\n anh2?: string | undefined;\r\n anh3?: string | undefined;\r\n\r\n constructor(data?: IUpdateImageModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.idNha = _data[\"idNha\"];\r\n this.anhdaidien = _data[\"anhdaidien\"];\r\n this.anh1 = _data[\"anh1\"];\r\n this.anh2 = _data[\"anh2\"];\r\n this.anh3 = _data[\"anh3\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateImageModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateImageModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"idNha\"] = this.idNha;\r\n data[\"anhdaidien\"] = this.anhdaidien;\r\n data[\"anh1\"] = this.anh1;\r\n data[\"anh2\"] = this.anh2;\r\n data[\"anh3\"] = this.anh3;\r\n return data;\r\n }\r\n\r\n clone(): UpdateImageModel {\r\n const json = this.toJSON();\r\n let result = new UpdateImageModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUpdateImageModel {\r\n idNha?: number | undefined;\r\n anhdaidien?: string | undefined;\r\n anh1?: string | undefined;\r\n anh2?: string | undefined;\r\n anh3?: string | undefined;\r\n}\r\n\r\nexport class UpdateImageRoomModel implements IUpdateImageRoomModel {\r\n idPhong?: number | undefined;\r\n anh1?: string | undefined;\r\n anh2?: string | undefined;\r\n anh3?: string | undefined;\r\n\r\n constructor(data?: IUpdateImageRoomModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.idPhong = _data[\"idPhong\"];\r\n this.anh1 = _data[\"anh1\"];\r\n this.anh2 = _data[\"anh2\"];\r\n this.anh3 = _data[\"anh3\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateImageRoomModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateImageRoomModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"idPhong\"] = this.idPhong;\r\n data[\"anh1\"] = this.anh1;\r\n data[\"anh2\"] = this.anh2;\r\n data[\"anh3\"] = this.anh3;\r\n return data;\r\n }\r\n\r\n clone(): UpdateImageRoomModel {\r\n const json = this.toJSON();\r\n let result = new UpdateImageRoomModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUpdateImageRoomModel {\r\n idPhong?: number | undefined;\r\n anh1?: string | undefined;\r\n anh2?: string | undefined;\r\n anh3?: string | undefined;\r\n}\r\n\r\nexport class UsernotificationEntity implements IUsernotificationEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n isandroid?: boolean | undefined;\r\n isnguoithue?: boolean | undefined;\r\n token?: string | undefined;\r\n userid?: number;\r\n\r\n constructor(data?: IUsernotificationEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.id = _data[\"id\"];\r\n this.isandroid = _data[\"isandroid\"];\r\n this.isnguoithue = _data[\"isnguoithue\"];\r\n this.token = _data[\"token\"];\r\n this.userid = _data[\"userid\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UsernotificationEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UsernotificationEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"id\"] = this.id;\r\n data[\"isandroid\"] = this.isandroid;\r\n data[\"isnguoithue\"] = this.isnguoithue;\r\n data[\"token\"] = this.token;\r\n data[\"userid\"] = this.userid;\r\n return data;\r\n }\r\n\r\n clone(): UsernotificationEntity {\r\n const json = this.toJSON();\r\n let result = new UsernotificationEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUsernotificationEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n isandroid?: boolean | undefined;\r\n isnguoithue?: boolean | undefined;\r\n token?: string | undefined;\r\n userid?: number;\r\n}\r\n\r\nexport class UsernotificationEntityApiResponse implements IUsernotificationEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: UsernotificationEntity;\r\n\r\n constructor(data?: IUsernotificationEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new UsernotificationEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? UsernotificationEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UsernotificationEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UsernotificationEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): UsernotificationEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new UsernotificationEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUsernotificationEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IUsernotificationEntity;\r\n}\r\n\r\nexport class VersionUpdateModel implements IVersionUpdateModel {\r\n version?: number;\r\n desc?: string | undefined;\r\n url?: string | undefined;\r\n\r\n constructor(data?: IVersionUpdateModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.version = _data[\"version\"];\r\n this.desc = _data[\"desc\"];\r\n this.url = _data[\"url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VersionUpdateModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VersionUpdateModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"version\"] = this.version;\r\n data[\"desc\"] = this.desc;\r\n data[\"url\"] = this.url;\r\n return data;\r\n }\r\n\r\n clone(): VersionUpdateModel {\r\n const json = this.toJSON();\r\n let result = new VersionUpdateModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IVersionUpdateModel {\r\n version?: number;\r\n desc?: string | undefined;\r\n url?: string | undefined;\r\n}\r\n\r\nexport class ViewHoaDonDetailModel implements IViewHoaDonDetailModel {\r\n hoaDon?: HoaDonDetailModel;\r\n tenphong?: string | undefined;\r\n tennhatro?: string | undefined;\r\n sotk?: string | undefined;\r\n dsDichvu?: HoaDonDichVuModel[] | undefined;\r\n\r\n constructor(data?: IViewHoaDonDetailModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.hoaDon = data.hoaDon && !(data.hoaDon).toJSON ? new HoaDonDetailModel(data.hoaDon) : this.hoaDon;\r\n if (data.dsDichvu) {\r\n this.dsDichvu = [];\r\n for (let i = 0; i < data.dsDichvu.length; i++) {\r\n let item = data.dsDichvu[i];\r\n this.dsDichvu[i] = item && !(item).toJSON ? new HoaDonDichVuModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.hoaDon = _data[\"hoaDon\"] ? HoaDonDetailModel.fromJS(_data[\"hoaDon\"]) : undefined;\r\n this.tenphong = _data[\"tenphong\"];\r\n this.tennhatro = _data[\"tennhatro\"];\r\n this.sotk = _data[\"sotk\"];\r\n if (Array.isArray(_data[\"dsDichvu\"])) {\r\n this.dsDichvu = [] as any;\r\n for (let item of _data[\"dsDichvu\"])\r\n this.dsDichvu!.push(HoaDonDichVuModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ViewHoaDonDetailModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ViewHoaDonDetailModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"hoaDon\"] = this.hoaDon ? this.hoaDon.toJSON() : undefined;\r\n data[\"tenphong\"] = this.tenphong;\r\n data[\"tennhatro\"] = this.tennhatro;\r\n data[\"sotk\"] = this.sotk;\r\n if (Array.isArray(this.dsDichvu)) {\r\n data[\"dsDichvu\"] = [];\r\n for (let item of this.dsDichvu)\r\n data[\"dsDichvu\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ViewHoaDonDetailModel {\r\n const json = this.toJSON();\r\n let result = new ViewHoaDonDetailModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IViewHoaDonDetailModel {\r\n hoaDon?: IHoaDonDetailModel;\r\n tenphong?: string | undefined;\r\n tennhatro?: string | undefined;\r\n sotk?: string | undefined;\r\n dsDichvu?: IHoaDonDichVuModel[] | undefined;\r\n}\r\n\r\nexport class ViewHoaDonDetailModelApiResponse implements IViewHoaDonDetailModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ViewHoaDonDetailModel;\r\n\r\n constructor(data?: IViewHoaDonDetailModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ViewHoaDonDetailModel(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ViewHoaDonDetailModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ViewHoaDonDetailModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ViewHoaDonDetailModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ViewHoaDonDetailModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new ViewHoaDonDetailModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IViewHoaDonDetailModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IViewHoaDonDetailModel;\r\n}\r\n\r\nexport class ViewHoaDonModel implements IViewHoaDonModel {\r\n hoadon?: HoadonEntity;\r\n dsDichvu?: HopDongDichVuModel[] | undefined;\r\n\r\n constructor(data?: IViewHoaDonModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.hoadon = data.hoadon && !(data.hoadon).toJSON ? new HoadonEntity(data.hoadon) : this.hoadon;\r\n if (data.dsDichvu) {\r\n this.dsDichvu = [];\r\n for (let i = 0; i < data.dsDichvu.length; i++) {\r\n let item = data.dsDichvu[i];\r\n this.dsDichvu[i] = item && !(item).toJSON ? new HopDongDichVuModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.hoadon = _data[\"hoadon\"] ? HoadonEntity.fromJS(_data[\"hoadon\"]) : undefined;\r\n if (Array.isArray(_data[\"dsDichvu\"])) {\r\n this.dsDichvu = [] as any;\r\n for (let item of _data[\"dsDichvu\"])\r\n this.dsDichvu!.push(HopDongDichVuModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ViewHoaDonModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ViewHoaDonModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"hoadon\"] = this.hoadon ? this.hoadon.toJSON() : undefined;\r\n if (Array.isArray(this.dsDichvu)) {\r\n data[\"dsDichvu\"] = [];\r\n for (let item of this.dsDichvu)\r\n data[\"dsDichvu\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ViewHoaDonModel {\r\n const json = this.toJSON();\r\n let result = new ViewHoaDonModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IViewHoaDonModel {\r\n hoadon?: IHoadonEntity;\r\n dsDichvu?: IHopDongDichVuModel[] | undefined;\r\n}\r\n\r\nexport class ViewHoaDonModelApiResponse implements IViewHoaDonModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ViewHoaDonModel;\r\n\r\n constructor(data?: IViewHoaDonModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ViewHoaDonModel(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ViewHoaDonModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ViewHoaDonModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ViewHoaDonModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ViewHoaDonModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new ViewHoaDonModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IViewHoaDonModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IViewHoaDonModel;\r\n}\r\n\r\nexport class ViewItemModel implements IViewItemModel {\r\n tennhatro?: string | undefined;\r\n mota?: string | undefined;\r\n tenchunhatro?: string | undefined;\r\n dienthoai?: string | undefined;\r\n diachicuthe?: string | undefined;\r\n tendichvu?: string | undefined;\r\n anh1?: string | undefined;\r\n anh2?: string | undefined;\r\n anh3?: string | undefined;\r\n one?: number;\r\n two?: number;\r\n three?: number;\r\n four?: number;\r\n five?: number;\r\n soTang?: string | undefined;\r\n soPhong?: string | undefined;\r\n sdkkd?: string | undefined;\r\n mt?: string | undefined;\r\n mh?: string | undefined;\r\n mx?: string | undefined;\r\n avg?: number;\r\n count?: number;\r\n lng?: string | undefined;\r\n lat?: string | undefined;\r\n isphong?: boolean;\r\n\r\n constructor(data?: IViewItemModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.tennhatro = _data[\"tennhatro\"];\r\n this.mota = _data[\"mota\"];\r\n this.tenchunhatro = _data[\"tenchunhatro\"];\r\n this.dienthoai = _data[\"dienthoai\"];\r\n this.diachicuthe = _data[\"diachicuthe\"];\r\n this.tendichvu = _data[\"tendichvu\"];\r\n this.anh1 = _data[\"anh1\"];\r\n this.anh2 = _data[\"anh2\"];\r\n this.anh3 = _data[\"anh3\"];\r\n this.one = _data[\"one\"];\r\n this.two = _data[\"two\"];\r\n this.three = _data[\"three\"];\r\n this.four = _data[\"four\"];\r\n this.five = _data[\"five\"];\r\n this.soTang = _data[\"soTang\"];\r\n this.soPhong = _data[\"soPhong\"];\r\n this.sdkkd = _data[\"sdkkd\"];\r\n this.mt = _data[\"mt\"];\r\n this.mh = _data[\"mh\"];\r\n this.mx = _data[\"mx\"];\r\n this.avg = _data[\"avg\"];\r\n this.count = _data[\"count\"];\r\n this.lng = _data[\"lng\"];\r\n this.lat = _data[\"lat\"];\r\n this.isphong = _data[\"isphong\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ViewItemModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ViewItemModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"tennhatro\"] = this.tennhatro;\r\n data[\"mota\"] = this.mota;\r\n data[\"tenchunhatro\"] = this.tenchunhatro;\r\n data[\"dienthoai\"] = this.dienthoai;\r\n data[\"diachicuthe\"] = this.diachicuthe;\r\n data[\"tendichvu\"] = this.tendichvu;\r\n data[\"anh1\"] = this.anh1;\r\n data[\"anh2\"] = this.anh2;\r\n data[\"anh3\"] = this.anh3;\r\n data[\"one\"] = this.one;\r\n data[\"two\"] = this.two;\r\n data[\"three\"] = this.three;\r\n data[\"four\"] = this.four;\r\n data[\"five\"] = this.five;\r\n data[\"soTang\"] = this.soTang;\r\n data[\"soPhong\"] = this.soPhong;\r\n data[\"sdkkd\"] = this.sdkkd;\r\n data[\"mt\"] = this.mt;\r\n data[\"mh\"] = this.mh;\r\n data[\"mx\"] = this.mx;\r\n data[\"avg\"] = this.avg;\r\n data[\"count\"] = this.count;\r\n data[\"lng\"] = this.lng;\r\n data[\"lat\"] = this.lat;\r\n data[\"isphong\"] = this.isphong;\r\n return data;\r\n }\r\n\r\n clone(): ViewItemModel {\r\n const json = this.toJSON();\r\n let result = new ViewItemModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IViewItemModel {\r\n tennhatro?: string | undefined;\r\n mota?: string | undefined;\r\n tenchunhatro?: string | undefined;\r\n dienthoai?: string | undefined;\r\n diachicuthe?: string | undefined;\r\n tendichvu?: string | undefined;\r\n anh1?: string | undefined;\r\n anh2?: string | undefined;\r\n anh3?: string | undefined;\r\n one?: number;\r\n two?: number;\r\n three?: number;\r\n four?: number;\r\n five?: number;\r\n soTang?: string | undefined;\r\n soPhong?: string | undefined;\r\n sdkkd?: string | undefined;\r\n mt?: string | undefined;\r\n mh?: string | undefined;\r\n mx?: string | undefined;\r\n avg?: number;\r\n count?: number;\r\n lng?: string | undefined;\r\n lat?: string | undefined;\r\n isphong?: boolean;\r\n}\r\n\r\nexport class ViewItemModelIEnumerableApiResponse implements IViewItemModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ViewItemModel[] | undefined;\r\n\r\n constructor(data?: IViewItemModelIEnumerableApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ViewItemModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ViewItemModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ViewItemModelIEnumerableApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ViewItemModelIEnumerableApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ViewItemModelIEnumerableApiResponse {\r\n const json = this.toJSON();\r\n let result = new ViewItemModelIEnumerableApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IViewItemModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IViewItemModel[] | undefined;\r\n}\r\n\r\nexport class ViewItemModelListApiResponse implements IViewItemModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ViewItemModel[] | undefined;\r\n\r\n constructor(data?: IViewItemModelListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ViewItemModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ViewItemModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ViewItemModelListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ViewItemModelListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ViewItemModelListApiResponse {\r\n const json = this.toJSON();\r\n let result = new ViewItemModelListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IViewItemModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IViewItemModel[] | undefined;\r\n}\r\n\r\nexport class WindowSpecification implements IWindowSpecification {\r\n databaseSpecificCreator?: IDbSpecificCreator;\r\n readonly parameters?: DbParameter[] | undefined;\r\n\r\n constructor(data?: IWindowSpecification) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.databaseSpecificCreator = data.databaseSpecificCreator && !(data.databaseSpecificCreator).toJSON ? new IDbSpecificCreator(data.databaseSpecificCreator) : this.databaseSpecificCreator;\r\n if (data.parameters) {\r\n this.parameters = [];\r\n for (let i = 0; i < data.parameters.length; i++) {\r\n let item = data.parameters[i];\r\n this.parameters[i] = item && !(item).toJSON ? new DbParameter(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.databaseSpecificCreator = _data[\"databaseSpecificCreator\"] ? IDbSpecificCreator.fromJS(_data[\"databaseSpecificCreator\"]) : undefined;\r\n if (Array.isArray(_data[\"parameters\"])) {\r\n (this).parameters = [] as any;\r\n for (let item of _data[\"parameters\"])\r\n (this).parameters!.push(DbParameter.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): WindowSpecification {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WindowSpecification();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"databaseSpecificCreator\"] = this.databaseSpecificCreator ? this.databaseSpecificCreator.toJSON() : undefined;\r\n if (Array.isArray(this.parameters)) {\r\n data[\"parameters\"] = [];\r\n for (let item of this.parameters)\r\n data[\"parameters\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): WindowSpecification {\r\n const json = this.toJSON();\r\n let result = new WindowSpecification();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IWindowSpecification {\r\n databaseSpecificCreator?: IIDbSpecificCreator;\r\n parameters?: IDbParameter[] | undefined;\r\n}\r\n\r\nexport class YKienModel implements IYKienModel {\r\n idnguoigui?: number;\r\n maxa?: string | undefined;\r\n chude?: string | undefined;\r\n noidung?: string | undefined;\r\n\r\n constructor(data?: IYKienModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.idnguoigui = _data[\"idnguoigui\"];\r\n this.maxa = _data[\"maxa\"];\r\n this.chude = _data[\"chude\"];\r\n this.noidung = _data[\"noidung\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): YKienModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new YKienModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"idnguoigui\"] = this.idnguoigui;\r\n data[\"maxa\"] = this.maxa;\r\n data[\"chude\"] = this.chude;\r\n data[\"noidung\"] = this.noidung;\r\n return data;\r\n }\r\n\r\n clone(): YKienModel {\r\n const json = this.toJSON();\r\n let result = new YKienModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IYKienModel {\r\n idnguoigui?: number;\r\n maxa?: string | undefined;\r\n chude?: string | undefined;\r\n noidung?: string | undefined;\r\n}\r\n\r\nexport class ZaloDoituongEntity implements IZaloDoituongEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n iddt?: number;\r\n idzalo?: string | undefined;\r\n doituongTruyna?: DoituongTruynaEntity;\r\n\r\n constructor(data?: IZaloDoituongEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n this.doituongTruyna = data.doituongTruyna && !(data.doituongTruyna).toJSON ? new DoituongTruynaEntity(data.doituongTruyna) : this.doituongTruyna;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.id = _data[\"id\"];\r\n this.iddt = _data[\"iddt\"];\r\n this.idzalo = _data[\"idzalo\"];\r\n this.doituongTruyna = _data[\"doituongTruyna\"] ? DoituongTruynaEntity.fromJS(_data[\"doituongTruyna\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ZaloDoituongEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ZaloDoituongEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"id\"] = this.id;\r\n data[\"iddt\"] = this.iddt;\r\n data[\"idzalo\"] = this.idzalo;\r\n data[\"doituongTruyna\"] = this.doituongTruyna ? this.doituongTruyna.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ZaloDoituongEntity {\r\n const json = this.toJSON();\r\n let result = new ZaloDoituongEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IZaloDoituongEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n iddt?: number;\r\n idzalo?: string | undefined;\r\n doituongTruyna?: IDoituongTruynaEntity;\r\n}\r\n\r\nexport interface FileResponse {\r\n data: Blob;\r\n status: number;\r\n fileName?: string;\r\n headers?: { [name: string]: any };\r\n}\r\n\r\nexport class SwaggerException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isSwaggerException = true;\r\n\r\n static isSwaggerException(obj: any): obj is SwaggerException {\r\n return obj.isSwaggerException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable {\r\n if (result !== null && result !== undefined)\r\n return _observableThrow(result);\r\n else\r\n return _observableThrow(new SwaggerException(message, status, response, headers, null));\r\n}\r\n\r\nfunction blobToText(blob: any): Observable {\r\n return new Observable((observer: any) => {\r\n if (!blob) {\r\n observer.next(\"\");\r\n observer.complete();\r\n } else {\r\n let reader = new FileReader();\r\n reader.onload = event => {\r\n observer.next((event.target as any).result);\r\n observer.complete();\r\n };\r\n reader.readAsText(blob);\r\n }\r\n });\r\n}","/* tslint:disable */\r\n/* eslint-disable */\r\n//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.11.3.0 (NJsonSchema v10.4.4.0 (Newtonsoft.Json v11.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { mergeMap as _observableMergeMap, catchError as _observableCatch } from 'rxjs/operators';\r\nimport { Observable, throwError as _observableThrow, of as _observableOf } from 'rxjs';\r\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\r\n\r\nexport const APP_DMHT_URL = new InjectionToken('APP_DMHT_URL');\r\n\r\nexport interface IAppDmhtApiService {\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmbacluongSyncdataapi(body: DmbacluongEntity[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbacluongGetdataapingsp(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbacluongGetdataapingspbytype(type: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmbacluongPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbacluongSelectone(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbacluongSelectall(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmbacluongInsert(body: DmbacluongEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmbacluongUpdate(body: DmbacluongEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbacluongDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbacluongDeletebyma(keystring: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmbangluongSyncdataapi(body: DmbangluongEntity[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbangluongGetdataapingsp(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbangluongGetdataapingspbytype(type: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmbangluongPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbangluongSelectone(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbangluongSelectall(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmbangluongInsert(body: DmbangluongEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmbangluongUpdate(body: DmbangluongEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbangluongDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbangluongDeletebyma(keystring: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmbuuchinhSyncdataapi(body: DmbuuchinhEntity[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbuuchinhGetdataapingsp(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbuuchinhGetdataapingspbytype(type: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmbuuchinhPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbuuchinhSelectone(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbuuchinhSelectall(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmbuuchinhInsert(body: DmbuuchinhEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmbuuchinhUpdate(body: DmbuuchinhEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbuuchinhDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbuuchinhDeletebyma(keystring: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmchucdanhSyncdataapi(body: DmchucdanhEntity[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmchucdanhGetdataapingsp(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmchucdanhGetdataapingspbytype(type: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmchucdanhPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmchucdanhSelectone(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmchucdanhSelectall(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmchucdanhInsert(body: DmchucdanhEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmchucdanhUpdate(body: DmchucdanhEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmchucdanhDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmchucdanhDeletebyma(keystring: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdantocSyncdataapi(body: DmdantocEntity[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdantocGetdataapingsp(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdantocGetdataapingspbytype(type: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdantocPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdantocSelectone(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdantocSelectall(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdantocInsert(body: DmdantocEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdantocUpdate(body: DmdantocEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdantocDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdantocDeletebyma(keystring: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdantockhacSyncdataapi(body: DmdantockhacEntity[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdantockhacGetdataapingsp(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdantockhacGetdataapingspbytype(type: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdantockhacPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdantockhacSelectone(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdantockhacSelectall(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdantockhacInsert(body: DmdantockhacEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdantockhacUpdate(body: DmdantockhacEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdantockhacDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdantockhacDeletebyma(keystring: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdokhanvanbanSyncdataapi(body: DmdokhanEntity[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdokhanvanbanGetdataapingsp(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdokhanvanbanGetdataapingspbytype(type: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdokhanvanbanPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdokhanvanbanSelectone(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdokhanvanbanSelectall(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdokhanvanbanInsert(body: DmdokhanEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdokhanvanbanUpdate(body: DmdokhanEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdokhanvanbanDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdokhanvanbanDeletebyma(keystring: string): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdonvihanhchinhChecktontaidonvicon(madbhccha: string): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdonvihanhchinhSelectmaandtendbhc(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdonvihanhchinhSyncdataapi(body: DmdvhanhchinhEntity[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdonvihanhchinhGetdataapingsp(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdonvihanhchinhGetdataapingspbytype(type: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdonvihanhchinhPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdonvihanhchinhSelectone(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdonvihanhchinhSelectall(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdonvihanhchinhInsert(body: DmdvhanhchinhEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdonvihanhchinhUpdate(body: DmdvhanhchinhEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdonvihanhchinhDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdonvihanhchinhDeletebyma(keystring: string): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdvhcListdvbycap(capdonvi: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdvhcSelectdistrictorwardsbyparent(parentID: string, levelID: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdvhcSelectonebyunitid(unitId: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdvhcPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdvhcSelectone(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdvhcSelectall(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdvhcInsert(body: DmdvhanhchinhEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdvhcUpdate(body: DmdvhanhchinhEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdvhcDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdvhcDeletebyma(keystring: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmgiaoducdaotaovnSyncdataapi(body: DmgddtvnEntity[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmgiaoducdaotaovnGetdataapingsp(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmgiaoducdaotaovnGetdataapingspbytype(type: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmgiaoducdaotaovnPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmgiaoducdaotaovnSelectone(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmgiaoducdaotaovnSelectall(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmgiaoducdaotaovnInsert(body: DmgddtvnEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmgiaoducdaotaovnUpdate(body: DmgddtvnEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmgiaoducdaotaovnDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmgiaoducdaotaovnDeletebyma(keystring: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmgioitinhSyncdataapi(body: DmgioitinhEntity[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmgioitinhGetdataapingsp(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmgioitinhGetdataapingspbytype(type: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmgioitinhPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmgioitinhSelectone(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmgioitinhSelectall(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmgioitinhInsert(body: DmgioitinhEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmgioitinhUpdate(body: DmgioitinhEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmgioitinhDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmgioitinhDeletebyma(keystring: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmhesoluongvungSyncdataapi(body: DmhesoluongvungEntity[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmhesoluongvungGetdataapingsp(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmhesoluongvungGetdataapingspbytype(type: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmhesoluongvungPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmhesoluongvungSelectone(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmhesoluongvungSelectall(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmhesoluongvungInsert(body: DmhesoluongvungEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmhesoluongvungUpdate(body: DmhesoluongvungEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmhesoluongvungDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmhesoluongvungDeletebyma(keystring: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmloaicongchucSyncdataapi(body: DmloaicongchucEntity[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmloaicongchucGetdataapingsp(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmloaicongchucGetdataapingspbytype(type: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmloaicongchucPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmloaicongchucSelectone(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmloaicongchucSelectall(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmloaicongchucInsert(body: DmloaicongchucEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmloaicongchucUpdate(body: DmloaicongchucEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmloaicongchucDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmloaicongchucDeletebyma(keystring: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmmabuuchinhSyncdataapi(body: DmmabuuchinhEntity[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmmabuuchinhGetdataapingsp(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmmabuuchinhGetdataapingspbytype(type: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmmabuuchinhPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmmabuuchinhSelectone(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmmabuuchinhSelectall(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmmabuuchinhInsert(body: DmmabuuchinhEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmmabuuchinhUpdate(body: DmmabuuchinhEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmmabuuchinhDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmmabuuchinhDeletebyma(keystring: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmmadinhdanhSyncdataapi(body: DmdinhdanhEntity[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmmadinhdanhGetdataapingsp(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmmadinhdanhGetdataapingspbytype(type: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmmadinhdanhPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmmadinhdanhSelectone(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmmadinhdanhSelectall(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmmadinhdanhInsert(body: DmdinhdanhEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmmadinhdanhUpdate(body: DmdinhdanhEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmmadinhdanhDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmmadinhdanhDeletebyma(keystring: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmnhomluongSyncdataapi(body: DmNhomluongEntity[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmnhomluongGetdataapingsp(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmnhomluongGetdataapingspbytype(type: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmnhomluongPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmnhomluongSelectone(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmnhomluongSelectall(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmnhomluongInsert(body: DmNhomluongEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmnhomluongUpdate(body: DmNhomluongEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmnhomluongDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmnhomluongDeletebyma(keystring: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmnhommauSyncdataapi(body: DmnhommauEntity[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmnhommauGetdataapingsp(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmnhommauGetdataapingspbytype(type: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmnhommauPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmnhommauSelectone(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmnhommauSelectall(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmnhommauInsert(body: DmnhommauEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmnhommauUpdate(body: DmnhommauEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmnhommauDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmnhommauDeletebyma(keystring: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmquocgiaSyncdataapi(body: DmquocgiumEntity[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmquocgiaGetdataapingsp(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmquocgiaGetdataapingspbytype(type: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmquocgiaPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmquocgiaSelectone(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmquocgiaSelectall(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmquocgiaInsert(body: DmquocgiumEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmquocgiaUpdate(body: DmquocgiumEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmquocgiaDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmquocgiaDeletebyma(keystring: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmthiduakhenthuongSyncdataapi(body: DmthiduakhenthuongEntity[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmthiduakhenthuongGetdataapingsp(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmthiduakhenthuongGetdataapingspbytype(type: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmthiduakhenthuongPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmthiduakhenthuongSelectone(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmthiduakhenthuongSelectall(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmthiduakhenthuongInsert(body: DmthiduakhenthuongEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmthiduakhenthuongUpdate(body: DmthiduakhenthuongEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmthiduakhenthuongDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmthiduakhenthuongDeletebyma(keystring: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmtinhtranghonnhanSyncdataapi(body: DmtinhtranghonnhanEntity[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtinhtranghonnhanGetdataapingsp(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtinhtranghonnhanGetdataapingspbytype(type: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmtinhtranghonnhanPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtinhtranghonnhanSelectone(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtinhtranghonnhanSelectall(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmtinhtranghonnhanInsert(body: DmtinhtranghonnhanEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmtinhtranghonnhanUpdate(body: DmtinhtranghonnhanEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtinhtranghonnhanDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtinhtranghonnhanDeletebyma(keystring: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmtongiaoSyncdataapi(body: DmtongiaoEntity[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtongiaoGetdataapingsp(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtongiaoGetdataapingspbytype(type: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmtongiaoPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtongiaoSelectone(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtongiaoSelectall(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmtongiaoInsert(body: DmtongiaoEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmtongiaoUpdate(body: DmtongiaoEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtongiaoDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtongiaoDeletebyma(keystring: string): Observable;\r\n /**\r\n * @param types (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmtudienGetdatabytypes(types: string[] | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmtudienPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtudienSelectone(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtudienSelectall(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmtudienInsert(body: DmTudienEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmtudienUpdate(body: DmTudienEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtudienDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtudienDeletebyma(keystring: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanhanhchinhSyncdataapi(body: DmvanbanhanhchinhEntity[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanhanhchinhGetdataapingsp(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanhanhchinhGetdataapingspbytype(type: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanhanhchinhPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanhanhchinhSelectone(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanhanhchinhSelectall(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanhanhchinhInsert(body: DmvanbanhanhchinhEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanhanhchinhUpdate(body: DmvanbanhanhchinhEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanhanhchinhDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanhanhchinhDeletebyma(keystring: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquydinhphapluatSyncdataapi(body: DmvanbanquydinhphapluatEntity[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquydinhphapluatGetdataapingsp(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquydinhphapluatGetdataapingspbytype(type: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquydinhphapluatPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquydinhphapluatSelectone(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquydinhphapluatSelectall(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquydinhphapluatInsert(body: DmvanbanquydinhphapluatEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquydinhphapluatUpdate(body: DmvanbanquydinhphapluatEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquydinhphapluatDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquydinhphapluatDeletebyma(keystring: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquyphamphapluatSyncdataapi(body: DmquyphamphapluatEntity[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquyphamphapluatGetdataapingsp(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquyphamphapluatGetdataapingspbytype(type: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquyphamphapluatPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquyphamphapluatSelectone(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquyphamphapluatSelectall(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquyphamphapluatInsert(body: DmquyphamphapluatEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquyphamphapluatUpdate(body: DmquyphamphapluatEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquyphamphapluatDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquyphamphapluatDeletebyma(keystring: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmynghianhommauSyncdataapi(body: DmynghianhommauEntity[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmynghianhommauGetdataapingsp(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmynghianhommauGetdataapingspbytype(type: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmynghianhommauPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmynghianhommauSelectone(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmynghianhommauSelectall(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmynghianhommauInsert(body: DmynghianhommauEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmynghianhommauUpdate(body: DmynghianhommauEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmynghianhommauDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmynghianhommauDeletebyma(keystring: string): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiExampleSelectallwithmodel(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiExampleSelectoneexample(maDanToc: string): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiExampleSelectoneexampleusinglinq(maDanToc: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiExamplePaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiExampleSelectone(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiExampleSelectall(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiExampleInsert(body: DmdantocEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiExampleUpdate(body: DmdantocEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiExampleDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiExampleDeletebyma(keystring: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiPublicHomepaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiPublicSelectinfobytype(type: string): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiPublicGetconfigleftmenu(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiPublicPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiPublicSelectone(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiPublicSelectall(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiPublicInsert(body: ChiaseinfoEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiPublicUpdate(body: ChiaseinfoEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiPublicDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiPublicDeletebyma(keystring: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n sharedata(body: ShareModelBc | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n selectformshare(type: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n syncdataapi(body: ChiaseinfoEntity[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n getdataapingsp(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n getdataapingspbytype(type: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n paging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n selectone(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n selectall(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n insert(body: ChiaseinfoEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n update(body: ChiaseinfoEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n delete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n deletebyma(keystring: string): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppDmhtApiService implements IAppDmhtApiService {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(APP_DMHT_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmbacluongSyncdataapi(body: DmbacluongEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBacLuong/SyncDataApi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbacluongSyncdataapi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbacluongSyncdataapi(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbacluongSyncdataapi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbacluongGetdataapingsp(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBacLuong/GetDataApiNgsp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbacluongGetdataapingsp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbacluongGetdataapingsp(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbacluongGetdataapingsp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbacluongGetdataapingspbytype(type: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBacLuong/GetDataApiNgspByType/{type}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbacluongGetdataapingspbytype(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbacluongGetdataapingspbytype(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbacluongGetdataapingspbytype(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmbacluongPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBacLuong/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbacluongPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbacluongPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbacluongPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbacluongSelectone(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBacLuong/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbacluongSelectone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbacluongSelectone(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbacluongSelectone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmbacluongEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbacluongSelectall(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBacLuong/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbacluongSelectall(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbacluongSelectall(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbacluongSelectall(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmbacluongInsert(body: DmbacluongEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBacLuong/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbacluongInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbacluongInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbacluongInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmbacluongUpdate(body: DmbacluongEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBacLuong/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbacluongUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbacluongUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbacluongUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbacluongDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBacLuong/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbacluongDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbacluongDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbacluongDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbacluongDeletebyma(keystring: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBacLuong/DeleteByMa/{keystring}\";\r\n if (keystring === undefined || keystring === null)\r\n throw new Error(\"The parameter 'keystring' must be defined.\");\r\n url_ = url_.replace(\"{keystring}\", encodeURIComponent(\"\" + keystring));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbacluongDeletebyma(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbacluongDeletebyma(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbacluongDeletebyma(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmbangluongSyncdataapi(body: DmbangluongEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBangLuong/SyncDataApi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbangluongSyncdataapi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbangluongSyncdataapi(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbangluongSyncdataapi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbangluongGetdataapingsp(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBangLuong/GetDataApiNgsp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbangluongGetdataapingsp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbangluongGetdataapingsp(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbangluongGetdataapingsp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbangluongGetdataapingspbytype(type: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBangLuong/GetDataApiNgspByType/{type}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbangluongGetdataapingspbytype(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbangluongGetdataapingspbytype(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbangluongGetdataapingspbytype(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmbangluongPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBangLuong/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbangluongPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbangluongPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbangluongPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbangluongSelectone(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBangLuong/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbangluongSelectone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbangluongSelectone(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbangluongSelectone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmbangluongEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbangluongSelectall(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBangLuong/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbangluongSelectall(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbangluongSelectall(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbangluongSelectall(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmbangluongInsert(body: DmbangluongEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBangLuong/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbangluongInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbangluongInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbangluongInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmbangluongUpdate(body: DmbangluongEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBangLuong/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbangluongUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbangluongUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbangluongUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbangluongDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBangLuong/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbangluongDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbangluongDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbangluongDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbangluongDeletebyma(keystring: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBangLuong/DeleteByMa/{keystring}\";\r\n if (keystring === undefined || keystring === null)\r\n throw new Error(\"The parameter 'keystring' must be defined.\");\r\n url_ = url_.replace(\"{keystring}\", encodeURIComponent(\"\" + keystring));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbangluongDeletebyma(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbangluongDeletebyma(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbangluongDeletebyma(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmbuuchinhSyncdataapi(body: DmbuuchinhEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBuuChinh/SyncDataApi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbuuchinhSyncdataapi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbuuchinhSyncdataapi(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbuuchinhSyncdataapi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbuuchinhGetdataapingsp(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBuuChinh/GetDataApiNgsp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbuuchinhGetdataapingsp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbuuchinhGetdataapingsp(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbuuchinhGetdataapingsp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbuuchinhGetdataapingspbytype(type: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBuuChinh/GetDataApiNgspByType/{type}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbuuchinhGetdataapingspbytype(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbuuchinhGetdataapingspbytype(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbuuchinhGetdataapingspbytype(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmbuuchinhPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBuuChinh/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbuuchinhPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbuuchinhPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbuuchinhPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbuuchinhSelectone(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBuuChinh/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbuuchinhSelectone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbuuchinhSelectone(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbuuchinhSelectone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmbuuchinhEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbuuchinhSelectall(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBuuChinh/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbuuchinhSelectall(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbuuchinhSelectall(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbuuchinhSelectall(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmbuuchinhInsert(body: DmbuuchinhEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBuuChinh/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbuuchinhInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbuuchinhInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbuuchinhInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmbuuchinhUpdate(body: DmbuuchinhEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBuuChinh/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbuuchinhUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbuuchinhUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbuuchinhUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbuuchinhDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBuuChinh/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbuuchinhDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbuuchinhDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbuuchinhDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmbuuchinhDeletebyma(keystring: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmBuuChinh/DeleteByMa/{keystring}\";\r\n if (keystring === undefined || keystring === null)\r\n throw new Error(\"The parameter 'keystring' must be defined.\");\r\n url_ = url_.replace(\"{keystring}\", encodeURIComponent(\"\" + keystring));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmbuuchinhDeletebyma(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmbuuchinhDeletebyma(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmbuuchinhDeletebyma(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmchucdanhSyncdataapi(body: DmchucdanhEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmChucDanh/SyncDataApi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmchucdanhSyncdataapi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmchucdanhSyncdataapi(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmchucdanhSyncdataapi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmchucdanhGetdataapingsp(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmChucDanh/GetDataApiNgsp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmchucdanhGetdataapingsp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmchucdanhGetdataapingsp(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmchucdanhGetdataapingsp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmchucdanhGetdataapingspbytype(type: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmChucDanh/GetDataApiNgspByType/{type}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmchucdanhGetdataapingspbytype(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmchucdanhGetdataapingspbytype(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmchucdanhGetdataapingspbytype(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmchucdanhPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmChucDanh/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmchucdanhPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmchucdanhPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmchucdanhPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmchucdanhSelectone(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmChucDanh/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmchucdanhSelectone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmchucdanhSelectone(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmchucdanhSelectone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmchucdanhEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmchucdanhSelectall(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmChucDanh/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmchucdanhSelectall(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmchucdanhSelectall(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmchucdanhSelectall(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmchucdanhInsert(body: DmchucdanhEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmChucDanh/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmchucdanhInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmchucdanhInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmchucdanhInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmchucdanhUpdate(body: DmchucdanhEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmChucDanh/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmchucdanhUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmchucdanhUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmchucdanhUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmchucdanhDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmChucDanh/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmchucdanhDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmchucdanhDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmchucdanhDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmchucdanhDeletebyma(keystring: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmChucDanh/DeleteByMa/{keystring}\";\r\n if (keystring === undefined || keystring === null)\r\n throw new Error(\"The parameter 'keystring' must be defined.\");\r\n url_ = url_.replace(\"{keystring}\", encodeURIComponent(\"\" + keystring));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmchucdanhDeletebyma(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmchucdanhDeletebyma(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmchucdanhDeletebyma(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdantocSyncdataapi(body: DmdantocEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDanToc/SyncDataApi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdantocSyncdataapi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdantocSyncdataapi(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdantocSyncdataapi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdantocGetdataapingsp(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDanToc/GetDataApiNgsp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdantocGetdataapingsp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdantocGetdataapingsp(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdantocGetdataapingsp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdantocGetdataapingspbytype(type: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDanToc/GetDataApiNgspByType/{type}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdantocGetdataapingspbytype(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdantocGetdataapingspbytype(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdantocGetdataapingspbytype(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdantocPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDanToc/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdantocPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdantocPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdantocPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdantocSelectone(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDanToc/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdantocSelectone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdantocSelectone(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdantocSelectone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmdantocEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdantocSelectall(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDanToc/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdantocSelectall(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdantocSelectall(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdantocSelectall(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdantocInsert(body: DmdantocEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDanToc/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdantocInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdantocInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdantocInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdantocUpdate(body: DmdantocEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDanToc/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdantocUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdantocUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdantocUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdantocDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDanToc/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdantocDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdantocDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdantocDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdantocDeletebyma(keystring: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDanToc/DeleteByMa/{keystring}\";\r\n if (keystring === undefined || keystring === null)\r\n throw new Error(\"The parameter 'keystring' must be defined.\");\r\n url_ = url_.replace(\"{keystring}\", encodeURIComponent(\"\" + keystring));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdantocDeletebyma(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdantocDeletebyma(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdantocDeletebyma(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdantockhacSyncdataapi(body: DmdantockhacEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDanTocKhac/SyncDataApi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdantockhacSyncdataapi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdantockhacSyncdataapi(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdantockhacSyncdataapi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdantockhacGetdataapingsp(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDanTocKhac/GetDataApiNgsp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdantockhacGetdataapingsp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdantockhacGetdataapingsp(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdantockhacGetdataapingsp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdantockhacGetdataapingspbytype(type: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDanTocKhac/GetDataApiNgspByType/{type}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdantockhacGetdataapingspbytype(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdantockhacGetdataapingspbytype(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdantockhacGetdataapingspbytype(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdantockhacPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDanTocKhac/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdantockhacPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdantockhacPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdantockhacPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdantockhacSelectone(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDanTocKhac/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdantockhacSelectone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdantockhacSelectone(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdantockhacSelectone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmdantockhacEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdantockhacSelectall(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDanTocKhac/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdantockhacSelectall(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdantockhacSelectall(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdantockhacSelectall(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdantockhacInsert(body: DmdantockhacEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDanTocKhac/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdantockhacInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdantockhacInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdantockhacInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdantockhacUpdate(body: DmdantockhacEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDanTocKhac/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdantockhacUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdantockhacUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdantockhacUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdantockhacDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDanTocKhac/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdantockhacDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdantockhacDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdantockhacDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdantockhacDeletebyma(keystring: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDanTocKhac/DeleteByMa/{keystring}\";\r\n if (keystring === undefined || keystring === null)\r\n throw new Error(\"The parameter 'keystring' must be defined.\");\r\n url_ = url_.replace(\"{keystring}\", encodeURIComponent(\"\" + keystring));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdantockhacDeletebyma(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdantockhacDeletebyma(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdantockhacDeletebyma(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdokhanvanbanSyncdataapi(body: DmdokhanEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDoKhanVanBan/SyncDataApi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdokhanvanbanSyncdataapi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdokhanvanbanSyncdataapi(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdokhanvanbanSyncdataapi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdokhanvanbanGetdataapingsp(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDoKhanVanBan/GetDataApiNgsp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdokhanvanbanGetdataapingsp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdokhanvanbanGetdataapingsp(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdokhanvanbanGetdataapingsp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdokhanvanbanGetdataapingspbytype(type: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDoKhanVanBan/GetDataApiNgspByType/{type}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdokhanvanbanGetdataapingspbytype(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdokhanvanbanGetdataapingspbytype(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdokhanvanbanGetdataapingspbytype(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdokhanvanbanPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDoKhanVanBan/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdokhanvanbanPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdokhanvanbanPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdokhanvanbanPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdokhanvanbanSelectone(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDoKhanVanBan/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdokhanvanbanSelectone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdokhanvanbanSelectone(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdokhanvanbanSelectone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmdokhanEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdokhanvanbanSelectall(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDoKhanVanBan/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdokhanvanbanSelectall(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdokhanvanbanSelectall(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdokhanvanbanSelectall(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdokhanvanbanInsert(body: DmdokhanEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDoKhanVanBan/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdokhanvanbanInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdokhanvanbanInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdokhanvanbanInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdokhanvanbanUpdate(body: DmdokhanEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDoKhanVanBan/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdokhanvanbanUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdokhanvanbanUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdokhanvanbanUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdokhanvanbanDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDoKhanVanBan/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdokhanvanbanDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdokhanvanbanDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdokhanvanbanDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdokhanvanbanDeletebyma(keystring: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDoKhanVanBan/DeleteByMa/{keystring}\";\r\n if (keystring === undefined || keystring === null)\r\n throw new Error(\"The parameter 'keystring' must be defined.\");\r\n url_ = url_.replace(\"{keystring}\", encodeURIComponent(\"\" + keystring));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdokhanvanbanDeletebyma(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdokhanvanbanDeletebyma(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdokhanvanbanDeletebyma(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdonvihanhchinhChecktontaidonvicon(madbhccha: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDonViHanhChinh/CheckTonTaiDonViCon/{madbhccha}\";\r\n if (madbhccha === undefined || madbhccha === null)\r\n throw new Error(\"The parameter 'madbhccha' must be defined.\");\r\n url_ = url_.replace(\"{madbhccha}\", encodeURIComponent(\"\" + madbhccha));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdonvihanhchinhChecktontaidonvicon(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdonvihanhchinhChecktontaidonvicon(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdonvihanhchinhChecktontaidonvicon(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BooleanApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdonvihanhchinhSelectmaandtendbhc(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDonViHanhChinh/SelectMaAndTenDbhc\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdonvihanhchinhSelectmaandtendbhc(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdonvihanhchinhSelectmaandtendbhc(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdonvihanhchinhSelectmaandtendbhc(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdonvihanhchinhSyncdataapi(body: DmdvhanhchinhEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDonViHanhChinh/SyncDataApi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdonvihanhchinhSyncdataapi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdonvihanhchinhSyncdataapi(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdonvihanhchinhSyncdataapi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdonvihanhchinhGetdataapingsp(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDonViHanhChinh/GetDataApiNgsp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdonvihanhchinhGetdataapingsp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdonvihanhchinhGetdataapingsp(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdonvihanhchinhGetdataapingsp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdonvihanhchinhGetdataapingspbytype(type: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDonViHanhChinh/GetDataApiNgspByType/{type}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdonvihanhchinhGetdataapingspbytype(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdonvihanhchinhGetdataapingspbytype(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdonvihanhchinhGetdataapingspbytype(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdonvihanhchinhPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDonViHanhChinh/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdonvihanhchinhPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdonvihanhchinhPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdonvihanhchinhPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdonvihanhchinhSelectone(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDonViHanhChinh/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdonvihanhchinhSelectone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdonvihanhchinhSelectone(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdonvihanhchinhSelectone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmdvhanhchinhEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdonvihanhchinhSelectall(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDonViHanhChinh/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdonvihanhchinhSelectall(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdonvihanhchinhSelectall(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdonvihanhchinhSelectall(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdonvihanhchinhInsert(body: DmdvhanhchinhEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDonViHanhChinh/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdonvihanhchinhInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdonvihanhchinhInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdonvihanhchinhInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdonvihanhchinhUpdate(body: DmdvhanhchinhEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDonViHanhChinh/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdonvihanhchinhUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdonvihanhchinhUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdonvihanhchinhUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdonvihanhchinhDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDonViHanhChinh/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdonvihanhchinhDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdonvihanhchinhDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdonvihanhchinhDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdonvihanhchinhDeletebyma(keystring: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDonViHanhChinh/DeleteByMa/{keystring}\";\r\n if (keystring === undefined || keystring === null)\r\n throw new Error(\"The parameter 'keystring' must be defined.\");\r\n url_ = url_.replace(\"{keystring}\", encodeURIComponent(\"\" + keystring));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdonvihanhchinhDeletebyma(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdonvihanhchinhDeletebyma(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdonvihanhchinhDeletebyma(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdvhcListdvbycap(capdonvi: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDVHC/ListDVByCap/{capdonvi}\";\r\n if (capdonvi === undefined || capdonvi === null)\r\n throw new Error(\"The parameter 'capdonvi' must be defined.\");\r\n url_ = url_.replace(\"{capdonvi}\", encodeURIComponent(\"\" + capdonvi));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdvhcListdvbycap(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdvhcListdvbycap(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdvhcListdvbycap(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmdvhanhchinhEntityIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdvhcSelectdistrictorwardsbyparent(parentID: string, levelID: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDVHC/SelectDistrictOrWardsByParent/{parentID}/{levelID}\";\r\n if (parentID === undefined || parentID === null)\r\n throw new Error(\"The parameter 'parentID' must be defined.\");\r\n url_ = url_.replace(\"{parentID}\", encodeURIComponent(\"\" + parentID));\r\n if (levelID === undefined || levelID === null)\r\n throw new Error(\"The parameter 'levelID' must be defined.\");\r\n url_ = url_.replace(\"{levelID}\", encodeURIComponent(\"\" + levelID));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdvhcSelectdistrictorwardsbyparent(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdvhcSelectdistrictorwardsbyparent(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdvhcSelectdistrictorwardsbyparent(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmdvhanhchinhEntityIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdvhcSelectonebyunitid(unitId: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDVHC/SelectOneByUnitId/{unitId}\";\r\n if (unitId === undefined || unitId === null)\r\n throw new Error(\"The parameter 'unitId' must be defined.\");\r\n url_ = url_.replace(\"{unitId}\", encodeURIComponent(\"\" + unitId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdvhcSelectonebyunitid(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdvhcSelectonebyunitid(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdvhcSelectonebyunitid(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmdvhanhchinhEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdvhcPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDVHC/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdvhcPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdvhcPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdvhcPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdvhcSelectone(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDVHC/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdvhcSelectone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdvhcSelectone(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdvhcSelectone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmdvhanhchinhEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdvhcSelectall(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDVHC/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdvhcSelectall(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdvhcSelectall(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdvhcSelectall(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdvhcInsert(body: DmdvhanhchinhEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDVHC/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdvhcInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdvhcInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdvhcInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmdvhcUpdate(body: DmdvhanhchinhEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDVHC/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdvhcUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdvhcUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdvhcUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdvhcDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDVHC/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdvhcDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdvhcDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdvhcDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmdvhcDeletebyma(keystring: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmDVHC/DeleteByMa/{keystring}\";\r\n if (keystring === undefined || keystring === null)\r\n throw new Error(\"The parameter 'keystring' must be defined.\");\r\n url_ = url_.replace(\"{keystring}\", encodeURIComponent(\"\" + keystring));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmdvhcDeletebyma(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmdvhcDeletebyma(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmdvhcDeletebyma(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmgiaoducdaotaovnSyncdataapi(body: DmgddtvnEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmGiaoDucDaoTaoVn/SyncDataApi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmgiaoducdaotaovnSyncdataapi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmgiaoducdaotaovnSyncdataapi(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmgiaoducdaotaovnSyncdataapi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmgiaoducdaotaovnGetdataapingsp(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmGiaoDucDaoTaoVn/GetDataApiNgsp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmgiaoducdaotaovnGetdataapingsp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmgiaoducdaotaovnGetdataapingsp(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmgiaoducdaotaovnGetdataapingsp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmgiaoducdaotaovnGetdataapingspbytype(type: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmGiaoDucDaoTaoVn/GetDataApiNgspByType/{type}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmgiaoducdaotaovnGetdataapingspbytype(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmgiaoducdaotaovnGetdataapingspbytype(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmgiaoducdaotaovnGetdataapingspbytype(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmgiaoducdaotaovnPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmGiaoDucDaoTaoVn/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmgiaoducdaotaovnPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmgiaoducdaotaovnPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmgiaoducdaotaovnPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmgiaoducdaotaovnSelectone(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmGiaoDucDaoTaoVn/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmgiaoducdaotaovnSelectone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmgiaoducdaotaovnSelectone(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmgiaoducdaotaovnSelectone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmgddtvnEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmgiaoducdaotaovnSelectall(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmGiaoDucDaoTaoVn/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmgiaoducdaotaovnSelectall(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmgiaoducdaotaovnSelectall(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmgiaoducdaotaovnSelectall(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmgiaoducdaotaovnInsert(body: DmgddtvnEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmGiaoDucDaoTaoVn/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmgiaoducdaotaovnInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmgiaoducdaotaovnInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmgiaoducdaotaovnInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmgiaoducdaotaovnUpdate(body: DmgddtvnEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmGiaoDucDaoTaoVn/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmgiaoducdaotaovnUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmgiaoducdaotaovnUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmgiaoducdaotaovnUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmgiaoducdaotaovnDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmGiaoDucDaoTaoVn/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmgiaoducdaotaovnDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmgiaoducdaotaovnDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmgiaoducdaotaovnDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmgiaoducdaotaovnDeletebyma(keystring: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmGiaoDucDaoTaoVn/DeleteByMa/{keystring}\";\r\n if (keystring === undefined || keystring === null)\r\n throw new Error(\"The parameter 'keystring' must be defined.\");\r\n url_ = url_.replace(\"{keystring}\", encodeURIComponent(\"\" + keystring));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmgiaoducdaotaovnDeletebyma(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmgiaoducdaotaovnDeletebyma(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmgiaoducdaotaovnDeletebyma(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmgioitinhSyncdataapi(body: DmgioitinhEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmGioiTinh/SyncDataApi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmgioitinhSyncdataapi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmgioitinhSyncdataapi(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmgioitinhSyncdataapi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmgioitinhGetdataapingsp(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmGioiTinh/GetDataApiNgsp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmgioitinhGetdataapingsp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmgioitinhGetdataapingsp(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmgioitinhGetdataapingsp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmgioitinhGetdataapingspbytype(type: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmGioiTinh/GetDataApiNgspByType/{type}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmgioitinhGetdataapingspbytype(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmgioitinhGetdataapingspbytype(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmgioitinhGetdataapingspbytype(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmgioitinhPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmGioiTinh/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmgioitinhPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmgioitinhPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmgioitinhPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmgioitinhSelectone(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmGioiTinh/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmgioitinhSelectone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmgioitinhSelectone(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmgioitinhSelectone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmgioitinhEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmgioitinhSelectall(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmGioiTinh/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmgioitinhSelectall(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmgioitinhSelectall(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmgioitinhSelectall(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmgioitinhInsert(body: DmgioitinhEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmGioiTinh/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmgioitinhInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmgioitinhInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmgioitinhInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmgioitinhUpdate(body: DmgioitinhEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmGioiTinh/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmgioitinhUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmgioitinhUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmgioitinhUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmgioitinhDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmGioiTinh/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmgioitinhDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmgioitinhDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmgioitinhDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmgioitinhDeletebyma(keystring: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmGioiTinh/DeleteByMa/{keystring}\";\r\n if (keystring === undefined || keystring === null)\r\n throw new Error(\"The parameter 'keystring' must be defined.\");\r\n url_ = url_.replace(\"{keystring}\", encodeURIComponent(\"\" + keystring));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmgioitinhDeletebyma(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmgioitinhDeletebyma(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmgioitinhDeletebyma(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmhesoluongvungSyncdataapi(body: DmhesoluongvungEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmHesoluongvung/SyncDataApi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmhesoluongvungSyncdataapi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmhesoluongvungSyncdataapi(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmhesoluongvungSyncdataapi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmhesoluongvungGetdataapingsp(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmHesoluongvung/GetDataApiNgsp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmhesoluongvungGetdataapingsp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmhesoluongvungGetdataapingsp(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmhesoluongvungGetdataapingsp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmhesoluongvungGetdataapingspbytype(type: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmHesoluongvung/GetDataApiNgspByType/{type}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmhesoluongvungGetdataapingspbytype(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmhesoluongvungGetdataapingspbytype(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmhesoluongvungGetdataapingspbytype(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmhesoluongvungPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmHesoluongvung/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmhesoluongvungPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmhesoluongvungPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmhesoluongvungPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmhesoluongvungSelectone(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmHesoluongvung/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmhesoluongvungSelectone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmhesoluongvungSelectone(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmhesoluongvungSelectone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmhesoluongvungEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmhesoluongvungSelectall(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmHesoluongvung/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmhesoluongvungSelectall(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmhesoluongvungSelectall(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmhesoluongvungSelectall(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmhesoluongvungInsert(body: DmhesoluongvungEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmHesoluongvung/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmhesoluongvungInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmhesoluongvungInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmhesoluongvungInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmhesoluongvungUpdate(body: DmhesoluongvungEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmHesoluongvung/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmhesoluongvungUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmhesoluongvungUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmhesoluongvungUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmhesoluongvungDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmHesoluongvung/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmhesoluongvungDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmhesoluongvungDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmhesoluongvungDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmhesoluongvungDeletebyma(keystring: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmHesoluongvung/DeleteByMa/{keystring}\";\r\n if (keystring === undefined || keystring === null)\r\n throw new Error(\"The parameter 'keystring' must be defined.\");\r\n url_ = url_.replace(\"{keystring}\", encodeURIComponent(\"\" + keystring));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmhesoluongvungDeletebyma(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmhesoluongvungDeletebyma(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmhesoluongvungDeletebyma(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmloaicongchucSyncdataapi(body: DmloaicongchucEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmLoaiCongChuc/SyncDataApi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmloaicongchucSyncdataapi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmloaicongchucSyncdataapi(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmloaicongchucSyncdataapi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmloaicongchucGetdataapingsp(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmLoaiCongChuc/GetDataApiNgsp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmloaicongchucGetdataapingsp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmloaicongchucGetdataapingsp(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmloaicongchucGetdataapingsp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmloaicongchucGetdataapingspbytype(type: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmLoaiCongChuc/GetDataApiNgspByType/{type}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmloaicongchucGetdataapingspbytype(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmloaicongchucGetdataapingspbytype(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmloaicongchucGetdataapingspbytype(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmloaicongchucPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmLoaiCongChuc/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmloaicongchucPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmloaicongchucPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmloaicongchucPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmloaicongchucSelectone(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmLoaiCongChuc/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmloaicongchucSelectone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmloaicongchucSelectone(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmloaicongchucSelectone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmloaicongchucEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmloaicongchucSelectall(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmLoaiCongChuc/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmloaicongchucSelectall(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmloaicongchucSelectall(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmloaicongchucSelectall(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmloaicongchucInsert(body: DmloaicongchucEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmLoaiCongChuc/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmloaicongchucInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmloaicongchucInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmloaicongchucInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmloaicongchucUpdate(body: DmloaicongchucEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmLoaiCongChuc/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmloaicongchucUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmloaicongchucUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmloaicongchucUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmloaicongchucDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmLoaiCongChuc/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmloaicongchucDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmloaicongchucDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmloaicongchucDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmloaicongchucDeletebyma(keystring: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmLoaiCongChuc/DeleteByMa/{keystring}\";\r\n if (keystring === undefined || keystring === null)\r\n throw new Error(\"The parameter 'keystring' must be defined.\");\r\n url_ = url_.replace(\"{keystring}\", encodeURIComponent(\"\" + keystring));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmloaicongchucDeletebyma(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmloaicongchucDeletebyma(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmloaicongchucDeletebyma(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmmabuuchinhSyncdataapi(body: DmmabuuchinhEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmMaBuuChinh/SyncDataApi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmmabuuchinhSyncdataapi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmmabuuchinhSyncdataapi(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmmabuuchinhSyncdataapi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmmabuuchinhGetdataapingsp(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmMaBuuChinh/GetDataApiNgsp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmmabuuchinhGetdataapingsp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmmabuuchinhGetdataapingsp(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmmabuuchinhGetdataapingsp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmmabuuchinhGetdataapingspbytype(type: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmMaBuuChinh/GetDataApiNgspByType/{type}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmmabuuchinhGetdataapingspbytype(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmmabuuchinhGetdataapingspbytype(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmmabuuchinhGetdataapingspbytype(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmmabuuchinhPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmMaBuuChinh/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmmabuuchinhPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmmabuuchinhPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmmabuuchinhPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmmabuuchinhSelectone(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmMaBuuChinh/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmmabuuchinhSelectone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmmabuuchinhSelectone(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmmabuuchinhSelectone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmmabuuchinhEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmmabuuchinhSelectall(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmMaBuuChinh/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmmabuuchinhSelectall(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmmabuuchinhSelectall(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmmabuuchinhSelectall(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmmabuuchinhInsert(body: DmmabuuchinhEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmMaBuuChinh/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmmabuuchinhInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmmabuuchinhInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmmabuuchinhInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmmabuuchinhUpdate(body: DmmabuuchinhEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmMaBuuChinh/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmmabuuchinhUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmmabuuchinhUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmmabuuchinhUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmmabuuchinhDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmMaBuuChinh/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmmabuuchinhDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmmabuuchinhDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmmabuuchinhDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmmabuuchinhDeletebyma(keystring: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmMaBuuChinh/DeleteByMa/{keystring}\";\r\n if (keystring === undefined || keystring === null)\r\n throw new Error(\"The parameter 'keystring' must be defined.\");\r\n url_ = url_.replace(\"{keystring}\", encodeURIComponent(\"\" + keystring));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmmabuuchinhDeletebyma(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmmabuuchinhDeletebyma(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmmabuuchinhDeletebyma(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmmadinhdanhSyncdataapi(body: DmdinhdanhEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmMaDinhDanh/SyncDataApi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmmadinhdanhSyncdataapi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmmadinhdanhSyncdataapi(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmmadinhdanhSyncdataapi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmmadinhdanhGetdataapingsp(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmMaDinhDanh/GetDataApiNgsp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmmadinhdanhGetdataapingsp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmmadinhdanhGetdataapingsp(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmmadinhdanhGetdataapingsp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmmadinhdanhGetdataapingspbytype(type: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmMaDinhDanh/GetDataApiNgspByType/{type}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmmadinhdanhGetdataapingspbytype(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmmadinhdanhGetdataapingspbytype(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmmadinhdanhGetdataapingspbytype(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmmadinhdanhPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmMaDinhDanh/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmmadinhdanhPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmmadinhdanhPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmmadinhdanhPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmmadinhdanhSelectone(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmMaDinhDanh/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmmadinhdanhSelectone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmmadinhdanhSelectone(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmmadinhdanhSelectone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmdinhdanhEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmmadinhdanhSelectall(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmMaDinhDanh/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmmadinhdanhSelectall(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmmadinhdanhSelectall(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmmadinhdanhSelectall(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmmadinhdanhInsert(body: DmdinhdanhEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmMaDinhDanh/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmmadinhdanhInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmmadinhdanhInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmmadinhdanhInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmmadinhdanhUpdate(body: DmdinhdanhEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmMaDinhDanh/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmmadinhdanhUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmmadinhdanhUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmmadinhdanhUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmmadinhdanhDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmMaDinhDanh/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmmadinhdanhDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmmadinhdanhDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmmadinhdanhDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmmadinhdanhDeletebyma(keystring: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmMaDinhDanh/DeleteByMa/{keystring}\";\r\n if (keystring === undefined || keystring === null)\r\n throw new Error(\"The parameter 'keystring' must be defined.\");\r\n url_ = url_.replace(\"{keystring}\", encodeURIComponent(\"\" + keystring));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmmadinhdanhDeletebyma(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmmadinhdanhDeletebyma(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmmadinhdanhDeletebyma(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmnhomluongSyncdataapi(body: DmNhomluongEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmNhomLuong/SyncDataApi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmnhomluongSyncdataapi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmnhomluongSyncdataapi(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmnhomluongSyncdataapi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmnhomluongGetdataapingsp(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmNhomLuong/GetDataApiNgsp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmnhomluongGetdataapingsp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmnhomluongGetdataapingsp(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmnhomluongGetdataapingsp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmnhomluongGetdataapingspbytype(type: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmNhomLuong/GetDataApiNgspByType/{type}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmnhomluongGetdataapingspbytype(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmnhomluongGetdataapingspbytype(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmnhomluongGetdataapingspbytype(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmnhomluongPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmNhomLuong/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmnhomluongPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmnhomluongPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmnhomluongPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmnhomluongSelectone(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmNhomLuong/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmnhomluongSelectone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmnhomluongSelectone(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmnhomluongSelectone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmNhomluongEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmnhomluongSelectall(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmNhomLuong/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmnhomluongSelectall(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmnhomluongSelectall(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmnhomluongSelectall(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmnhomluongInsert(body: DmNhomluongEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmNhomLuong/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmnhomluongInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmnhomluongInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmnhomluongInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmnhomluongUpdate(body: DmNhomluongEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmNhomLuong/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmnhomluongUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmnhomluongUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmnhomluongUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmnhomluongDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmNhomLuong/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmnhomluongDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmnhomluongDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmnhomluongDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmnhomluongDeletebyma(keystring: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmNhomLuong/DeleteByMa/{keystring}\";\r\n if (keystring === undefined || keystring === null)\r\n throw new Error(\"The parameter 'keystring' must be defined.\");\r\n url_ = url_.replace(\"{keystring}\", encodeURIComponent(\"\" + keystring));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmnhomluongDeletebyma(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmnhomluongDeletebyma(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmnhomluongDeletebyma(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmnhommauSyncdataapi(body: DmnhommauEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmNhomMau/SyncDataApi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmnhommauSyncdataapi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmnhommauSyncdataapi(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmnhommauSyncdataapi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmnhommauGetdataapingsp(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmNhomMau/GetDataApiNgsp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmnhommauGetdataapingsp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmnhommauGetdataapingsp(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmnhommauGetdataapingsp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmnhommauGetdataapingspbytype(type: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmNhomMau/GetDataApiNgspByType/{type}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmnhommauGetdataapingspbytype(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmnhommauGetdataapingspbytype(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmnhommauGetdataapingspbytype(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmnhommauPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmNhomMau/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmnhommauPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmnhommauPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmnhommauPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmnhommauSelectone(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmNhomMau/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmnhommauSelectone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmnhommauSelectone(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmnhommauSelectone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmnhommauEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmnhommauSelectall(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmNhomMau/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmnhommauSelectall(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmnhommauSelectall(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmnhommauSelectall(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmnhommauInsert(body: DmnhommauEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmNhomMau/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmnhommauInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmnhommauInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmnhommauInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmnhommauUpdate(body: DmnhommauEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmNhomMau/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmnhommauUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmnhommauUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmnhommauUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmnhommauDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmNhomMau/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmnhommauDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmnhommauDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmnhommauDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmnhommauDeletebyma(keystring: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmNhomMau/DeleteByMa/{keystring}\";\r\n if (keystring === undefined || keystring === null)\r\n throw new Error(\"The parameter 'keystring' must be defined.\");\r\n url_ = url_.replace(\"{keystring}\", encodeURIComponent(\"\" + keystring));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmnhommauDeletebyma(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmnhommauDeletebyma(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmnhommauDeletebyma(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmquocgiaSyncdataapi(body: DmquocgiumEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmQuocGia/SyncDataApi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmquocgiaSyncdataapi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmquocgiaSyncdataapi(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmquocgiaSyncdataapi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmquocgiaGetdataapingsp(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmQuocGia/GetDataApiNgsp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmquocgiaGetdataapingsp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmquocgiaGetdataapingsp(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmquocgiaGetdataapingsp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmquocgiaGetdataapingspbytype(type: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmQuocGia/GetDataApiNgspByType/{type}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmquocgiaGetdataapingspbytype(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmquocgiaGetdataapingspbytype(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmquocgiaGetdataapingspbytype(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmquocgiaPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmQuocGia/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmquocgiaPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmquocgiaPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmquocgiaPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmquocgiaSelectone(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmQuocGia/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmquocgiaSelectone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmquocgiaSelectone(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmquocgiaSelectone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmquocgiumEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmquocgiaSelectall(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmQuocGia/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmquocgiaSelectall(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmquocgiaSelectall(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmquocgiaSelectall(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmquocgiaInsert(body: DmquocgiumEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmQuocGia/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmquocgiaInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmquocgiaInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmquocgiaInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmquocgiaUpdate(body: DmquocgiumEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmQuocGia/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmquocgiaUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmquocgiaUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmquocgiaUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmquocgiaDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmQuocGia/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmquocgiaDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmquocgiaDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmquocgiaDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmquocgiaDeletebyma(keystring: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmQuocGia/DeleteByMa/{keystring}\";\r\n if (keystring === undefined || keystring === null)\r\n throw new Error(\"The parameter 'keystring' must be defined.\");\r\n url_ = url_.replace(\"{keystring}\", encodeURIComponent(\"\" + keystring));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmquocgiaDeletebyma(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmquocgiaDeletebyma(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmquocgiaDeletebyma(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmthiduakhenthuongSyncdataapi(body: DmthiduakhenthuongEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmThiDuaKhenThuong/SyncDataApi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmthiduakhenthuongSyncdataapi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmthiduakhenthuongSyncdataapi(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmthiduakhenthuongSyncdataapi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmthiduakhenthuongGetdataapingsp(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmThiDuaKhenThuong/GetDataApiNgsp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmthiduakhenthuongGetdataapingsp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmthiduakhenthuongGetdataapingsp(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmthiduakhenthuongGetdataapingsp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmthiduakhenthuongGetdataapingspbytype(type: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmThiDuaKhenThuong/GetDataApiNgspByType/{type}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmthiduakhenthuongGetdataapingspbytype(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmthiduakhenthuongGetdataapingspbytype(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmthiduakhenthuongGetdataapingspbytype(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmthiduakhenthuongPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmThiDuaKhenThuong/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmthiduakhenthuongPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmthiduakhenthuongPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmthiduakhenthuongPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmthiduakhenthuongSelectone(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmThiDuaKhenThuong/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmthiduakhenthuongSelectone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmthiduakhenthuongSelectone(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmthiduakhenthuongSelectone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmthiduakhenthuongEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmthiduakhenthuongSelectall(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmThiDuaKhenThuong/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmthiduakhenthuongSelectall(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmthiduakhenthuongSelectall(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmthiduakhenthuongSelectall(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmthiduakhenthuongInsert(body: DmthiduakhenthuongEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmThiDuaKhenThuong/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmthiduakhenthuongInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmthiduakhenthuongInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmthiduakhenthuongInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmthiduakhenthuongUpdate(body: DmthiduakhenthuongEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmThiDuaKhenThuong/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmthiduakhenthuongUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmthiduakhenthuongUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmthiduakhenthuongUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmthiduakhenthuongDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmThiDuaKhenThuong/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmthiduakhenthuongDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmthiduakhenthuongDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmthiduakhenthuongDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmthiduakhenthuongDeletebyma(keystring: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmThiDuaKhenThuong/DeleteByMa/{keystring}\";\r\n if (keystring === undefined || keystring === null)\r\n throw new Error(\"The parameter 'keystring' must be defined.\");\r\n url_ = url_.replace(\"{keystring}\", encodeURIComponent(\"\" + keystring));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmthiduakhenthuongDeletebyma(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmthiduakhenthuongDeletebyma(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmthiduakhenthuongDeletebyma(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmtinhtranghonnhanSyncdataapi(body: DmtinhtranghonnhanEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmTinhTrangHonNhan/SyncDataApi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmtinhtranghonnhanSyncdataapi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmtinhtranghonnhanSyncdataapi(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmtinhtranghonnhanSyncdataapi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtinhtranghonnhanGetdataapingsp(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmTinhTrangHonNhan/GetDataApiNgsp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmtinhtranghonnhanGetdataapingsp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmtinhtranghonnhanGetdataapingsp(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmtinhtranghonnhanGetdataapingsp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtinhtranghonnhanGetdataapingspbytype(type: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmTinhTrangHonNhan/GetDataApiNgspByType/{type}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmtinhtranghonnhanGetdataapingspbytype(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmtinhtranghonnhanGetdataapingspbytype(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmtinhtranghonnhanGetdataapingspbytype(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmtinhtranghonnhanPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmTinhTrangHonNhan/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmtinhtranghonnhanPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmtinhtranghonnhanPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmtinhtranghonnhanPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtinhtranghonnhanSelectone(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmTinhTrangHonNhan/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmtinhtranghonnhanSelectone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmtinhtranghonnhanSelectone(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmtinhtranghonnhanSelectone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmtinhtranghonnhanEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtinhtranghonnhanSelectall(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmTinhTrangHonNhan/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmtinhtranghonnhanSelectall(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmtinhtranghonnhanSelectall(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmtinhtranghonnhanSelectall(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmtinhtranghonnhanInsert(body: DmtinhtranghonnhanEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmTinhTrangHonNhan/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmtinhtranghonnhanInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmtinhtranghonnhanInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmtinhtranghonnhanInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmtinhtranghonnhanUpdate(body: DmtinhtranghonnhanEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmTinhTrangHonNhan/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmtinhtranghonnhanUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmtinhtranghonnhanUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmtinhtranghonnhanUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtinhtranghonnhanDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmTinhTrangHonNhan/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmtinhtranghonnhanDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmtinhtranghonnhanDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmtinhtranghonnhanDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtinhtranghonnhanDeletebyma(keystring: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmTinhTrangHonNhan/DeleteByMa/{keystring}\";\r\n if (keystring === undefined || keystring === null)\r\n throw new Error(\"The parameter 'keystring' must be defined.\");\r\n url_ = url_.replace(\"{keystring}\", encodeURIComponent(\"\" + keystring));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmtinhtranghonnhanDeletebyma(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmtinhtranghonnhanDeletebyma(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmtinhtranghonnhanDeletebyma(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmtongiaoSyncdataapi(body: DmtongiaoEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmTonGiao/SyncDataApi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmtongiaoSyncdataapi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmtongiaoSyncdataapi(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmtongiaoSyncdataapi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtongiaoGetdataapingsp(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmTonGiao/GetDataApiNgsp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmtongiaoGetdataapingsp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmtongiaoGetdataapingsp(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmtongiaoGetdataapingsp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtongiaoGetdataapingspbytype(type: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmTonGiao/GetDataApiNgspByType/{type}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmtongiaoGetdataapingspbytype(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmtongiaoGetdataapingspbytype(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmtongiaoGetdataapingspbytype(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmtongiaoPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmTonGiao/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmtongiaoPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmtongiaoPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmtongiaoPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtongiaoSelectone(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmTonGiao/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmtongiaoSelectone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmtongiaoSelectone(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmtongiaoSelectone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmtongiaoEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtongiaoSelectall(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmTonGiao/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmtongiaoSelectall(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmtongiaoSelectall(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmtongiaoSelectall(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmtongiaoInsert(body: DmtongiaoEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmTonGiao/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmtongiaoInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmtongiaoInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmtongiaoInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmtongiaoUpdate(body: DmtongiaoEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmTonGiao/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmtongiaoUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmtongiaoUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmtongiaoUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtongiaoDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmTonGiao/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmtongiaoDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmtongiaoDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmtongiaoDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtongiaoDeletebyma(keystring: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmTonGiao/DeleteByMa/{keystring}\";\r\n if (keystring === undefined || keystring === null)\r\n throw new Error(\"The parameter 'keystring' must be defined.\");\r\n url_ = url_.replace(\"{keystring}\", encodeURIComponent(\"\" + keystring));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmtongiaoDeletebyma(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmtongiaoDeletebyma(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmtongiaoDeletebyma(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param types (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmtudienGetdatabytypes(types: string[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmTuDien/GetDataByTypes?\";\r\n if (types === null)\r\n throw new Error(\"The parameter 'types' cannot be null.\");\r\n else if (types !== undefined)\r\n types && types.forEach(item => { url_ += \"types=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmtudienGetdatabytypes(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmtudienGetdatabytypes(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmtudienGetdatabytypes(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmTudienEntityEntityCollectionApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmtudienPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmTuDien/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmtudienPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmtudienPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmtudienPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtudienSelectone(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmTuDien/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmtudienSelectone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmtudienSelectone(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmtudienSelectone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmTudienEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtudienSelectall(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmTuDien/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmtudienSelectall(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmtudienSelectall(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmtudienSelectall(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmtudienInsert(body: DmTudienEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmTuDien/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmtudienInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmtudienInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmtudienInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmtudienUpdate(body: DmTudienEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmTuDien/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmtudienUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmtudienUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmtudienUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtudienDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmTuDien/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmtudienDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmtudienDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmtudienDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmtudienDeletebyma(keystring: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmTuDien/DeleteByMa/{keystring}\";\r\n if (keystring === undefined || keystring === null)\r\n throw new Error(\"The parameter 'keystring' must be defined.\");\r\n url_ = url_.replace(\"{keystring}\", encodeURIComponent(\"\" + keystring));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmtudienDeletebyma(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmtudienDeletebyma(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmtudienDeletebyma(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanhanhchinhSyncdataapi(body: DmvanbanhanhchinhEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanHanhChinh/SyncDataApi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanhanhchinhSyncdataapi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanhanhchinhSyncdataapi(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanhanhchinhSyncdataapi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanhanhchinhGetdataapingsp(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanHanhChinh/GetDataApiNgsp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanhanhchinhGetdataapingsp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanhanhchinhGetdataapingsp(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanhanhchinhGetdataapingsp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanhanhchinhGetdataapingspbytype(type: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanHanhChinh/GetDataApiNgspByType/{type}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanhanhchinhGetdataapingspbytype(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanhanhchinhGetdataapingspbytype(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanhanhchinhGetdataapingspbytype(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanhanhchinhPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanHanhChinh/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanhanhchinhPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanhanhchinhPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanhanhchinhPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanhanhchinhSelectone(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanHanhChinh/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanhanhchinhSelectone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanhanhchinhSelectone(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanhanhchinhSelectone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmvanbanhanhchinhEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanhanhchinhSelectall(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanHanhChinh/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanhanhchinhSelectall(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanhanhchinhSelectall(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanhanhchinhSelectall(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanhanhchinhInsert(body: DmvanbanhanhchinhEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanHanhChinh/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanhanhchinhInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanhanhchinhInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanhanhchinhInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanhanhchinhUpdate(body: DmvanbanhanhchinhEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanHanhChinh/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanhanhchinhUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanhanhchinhUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanhanhchinhUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanhanhchinhDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanHanhChinh/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanhanhchinhDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanhanhchinhDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanhanhchinhDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanhanhchinhDeletebyma(keystring: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanHanhChinh/DeleteByMa/{keystring}\";\r\n if (keystring === undefined || keystring === null)\r\n throw new Error(\"The parameter 'keystring' must be defined.\");\r\n url_ = url_.replace(\"{keystring}\", encodeURIComponent(\"\" + keystring));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanhanhchinhDeletebyma(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanhanhchinhDeletebyma(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanhanhchinhDeletebyma(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquydinhphapluatSyncdataapi(body: DmvanbanquydinhphapluatEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanQuyDinhPhapLuat/SyncDataApi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanquydinhphapluatSyncdataapi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanquydinhphapluatSyncdataapi(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanquydinhphapluatSyncdataapi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquydinhphapluatGetdataapingsp(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanQuyDinhPhapLuat/GetDataApiNgsp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanquydinhphapluatGetdataapingsp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanquydinhphapluatGetdataapingsp(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanquydinhphapluatGetdataapingsp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquydinhphapluatGetdataapingspbytype(type: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanQuyDinhPhapLuat/GetDataApiNgspByType/{type}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanquydinhphapluatGetdataapingspbytype(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanquydinhphapluatGetdataapingspbytype(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanquydinhphapluatGetdataapingspbytype(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquydinhphapluatPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanQuyDinhPhapLuat/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanquydinhphapluatPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanquydinhphapluatPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanquydinhphapluatPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquydinhphapluatSelectone(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanQuyDinhPhapLuat/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanquydinhphapluatSelectone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanquydinhphapluatSelectone(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanquydinhphapluatSelectone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmvanbanquydinhphapluatEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquydinhphapluatSelectall(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanQuyDinhPhapLuat/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanquydinhphapluatSelectall(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanquydinhphapluatSelectall(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanquydinhphapluatSelectall(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquydinhphapluatInsert(body: DmvanbanquydinhphapluatEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanQuyDinhPhapLuat/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanquydinhphapluatInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanquydinhphapluatInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanquydinhphapluatInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquydinhphapluatUpdate(body: DmvanbanquydinhphapluatEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanQuyDinhPhapLuat/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanquydinhphapluatUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanquydinhphapluatUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanquydinhphapluatUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquydinhphapluatDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanQuyDinhPhapLuat/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanquydinhphapluatDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanquydinhphapluatDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanquydinhphapluatDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquydinhphapluatDeletebyma(keystring: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanQuyDinhPhapLuat/DeleteByMa/{keystring}\";\r\n if (keystring === undefined || keystring === null)\r\n throw new Error(\"The parameter 'keystring' must be defined.\");\r\n url_ = url_.replace(\"{keystring}\", encodeURIComponent(\"\" + keystring));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanquydinhphapluatDeletebyma(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanquydinhphapluatDeletebyma(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanquydinhphapluatDeletebyma(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquyphamphapluatSyncdataapi(body: DmquyphamphapluatEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanQuyPhamPhapLuat/SyncDataApi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanquyphamphapluatSyncdataapi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanquyphamphapluatSyncdataapi(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanquyphamphapluatSyncdataapi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquyphamphapluatGetdataapingsp(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanQuyPhamPhapLuat/GetDataApiNgsp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanquyphamphapluatGetdataapingsp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanquyphamphapluatGetdataapingsp(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanquyphamphapluatGetdataapingsp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquyphamphapluatGetdataapingspbytype(type: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanQuyPhamPhapLuat/GetDataApiNgspByType/{type}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanquyphamphapluatGetdataapingspbytype(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanquyphamphapluatGetdataapingspbytype(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanquyphamphapluatGetdataapingspbytype(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquyphamphapluatPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanQuyPhamPhapLuat/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanquyphamphapluatPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanquyphamphapluatPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanquyphamphapluatPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquyphamphapluatSelectone(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanQuyPhamPhapLuat/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanquyphamphapluatSelectone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanquyphamphapluatSelectone(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanquyphamphapluatSelectone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmquyphamphapluatEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquyphamphapluatSelectall(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanQuyPhamPhapLuat/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanquyphamphapluatSelectall(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanquyphamphapluatSelectall(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanquyphamphapluatSelectall(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquyphamphapluatInsert(body: DmquyphamphapluatEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanQuyPhamPhapLuat/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanquyphamphapluatInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanquyphamphapluatInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanquyphamphapluatInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquyphamphapluatUpdate(body: DmquyphamphapluatEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanQuyPhamPhapLuat/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanquyphamphapluatUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanquyphamphapluatUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanquyphamphapluatUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquyphamphapluatDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanQuyPhamPhapLuat/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanquyphamphapluatDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanquyphamphapluatDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanquyphamphapluatDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmvanbanquyphamphapluatDeletebyma(keystring: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmVanBanQuyPhamPhapLuat/DeleteByMa/{keystring}\";\r\n if (keystring === undefined || keystring === null)\r\n throw new Error(\"The parameter 'keystring' must be defined.\");\r\n url_ = url_.replace(\"{keystring}\", encodeURIComponent(\"\" + keystring));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmvanbanquyphamphapluatDeletebyma(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmvanbanquyphamphapluatDeletebyma(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmvanbanquyphamphapluatDeletebyma(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmynghianhommauSyncdataapi(body: DmynghianhommauEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmYNghiaNhomMau/SyncDataApi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmynghianhommauSyncdataapi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmynghianhommauSyncdataapi(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmynghianhommauSyncdataapi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmynghianhommauGetdataapingsp(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmYNghiaNhomMau/GetDataApiNgsp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmynghianhommauGetdataapingsp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmynghianhommauGetdataapingsp(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmynghianhommauGetdataapingsp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmynghianhommauGetdataapingspbytype(type: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmYNghiaNhomMau/GetDataApiNgspByType/{type}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmynghianhommauGetdataapingspbytype(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmynghianhommauGetdataapingspbytype(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmynghianhommauGetdataapingspbytype(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmynghianhommauPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmYNghiaNhomMau/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmynghianhommauPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmynghianhommauPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmynghianhommauPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmynghianhommauSelectone(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmYNghiaNhomMau/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmynghianhommauSelectone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmynghianhommauSelectone(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmynghianhommauSelectone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmynghianhommauEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmynghianhommauSelectall(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmYNghiaNhomMau/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmynghianhommauSelectall(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmynghianhommauSelectall(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmynghianhommauSelectall(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmynghianhommauInsert(body: DmynghianhommauEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmYNghiaNhomMau/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmynghianhommauInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmynghianhommauInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmynghianhommauInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiDmynghianhommauUpdate(body: DmynghianhommauEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmYNghiaNhomMau/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmynghianhommauUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmynghianhommauUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmynghianhommauUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmynghianhommauDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmYNghiaNhomMau/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmynghianhommauDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmynghianhommauDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmynghianhommauDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiDmynghianhommauDeletebyma(keystring: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/DmYNghiaNhomMau/DeleteByMa/{keystring}\";\r\n if (keystring === undefined || keystring === null)\r\n throw new Error(\"The parameter 'keystring' must be defined.\");\r\n url_ = url_.replace(\"{keystring}\", encodeURIComponent(\"\" + keystring));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiDmynghianhommauDeletebyma(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiDmynghianhommauDeletebyma(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiDmynghianhommauDeletebyma(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiExampleSelectallwithmodel(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/Example/SelectAllWithModel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiExampleSelectallwithmodel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiExampleSelectallwithmodel(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiExampleSelectallwithmodel(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DanTocExampleModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiExampleSelectoneexample(maDanToc: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/Example/SelectOneExample/{maDanToc}\";\r\n if (maDanToc === undefined || maDanToc === null)\r\n throw new Error(\"The parameter 'maDanToc' must be defined.\");\r\n url_ = url_.replace(\"{maDanToc}\", encodeURIComponent(\"\" + maDanToc));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiExampleSelectoneexample(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiExampleSelectoneexample(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiExampleSelectoneexample(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiExampleSelectoneexampleusinglinq(maDanToc: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/Example/SelectOneExampleUsingLinq/{maDanToc}\";\r\n if (maDanToc === undefined || maDanToc === null)\r\n throw new Error(\"The parameter 'maDanToc' must be defined.\");\r\n url_ = url_.replace(\"{maDanToc}\", encodeURIComponent(\"\" + maDanToc));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiExampleSelectoneexampleusinglinq(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiExampleSelectoneexampleusinglinq(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiExampleSelectoneexampleusinglinq(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiExamplePaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/Example/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiExamplePaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiExamplePaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiExamplePaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiExampleSelectone(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/Example/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiExampleSelectone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiExampleSelectone(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiExampleSelectone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmdantocEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiExampleSelectall(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/Example/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiExampleSelectall(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiExampleSelectall(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiExampleSelectall(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiExampleInsert(body: DmdantocEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/Example/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiExampleInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiExampleInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiExampleInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiExampleUpdate(body: DmdantocEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/Example/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiExampleUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiExampleUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiExampleUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiExampleDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/Example/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiExampleDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiExampleDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiExampleDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiExampleDeletebyma(keystring: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/Example/DeleteByMa/{keystring}\";\r\n if (keystring === undefined || keystring === null)\r\n throw new Error(\"The parameter 'keystring' must be defined.\");\r\n url_ = url_.replace(\"{keystring}\", encodeURIComponent(\"\" + keystring));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiExampleDeletebyma(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiExampleDeletebyma(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiExampleDeletebyma(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiPublicHomepaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/Public/HomePaging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiPublicHomepaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiPublicHomepaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiPublicHomepaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiPublicSelectinfobytype(type: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/Public/SelectInfoByType/{type}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiPublicSelectinfobytype(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiPublicSelectinfobytype(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiPublicSelectinfobytype(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ChiaseinfoEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiPublicGetconfigleftmenu(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/Public/GetConfigLeftMenu\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiPublicGetconfigleftmenu(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiPublicGetconfigleftmenu(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiPublicGetconfigleftmenu(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LeftmenuconfigEntityEntityCollectionApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiPublicPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/Public/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiPublicPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiPublicPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiPublicPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiPublicSelectone(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/Public/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiPublicSelectone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiPublicSelectone(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiPublicSelectone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ChiaseinfoEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiPublicSelectall(): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/Public/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiPublicSelectall(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiPublicSelectall(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiPublicSelectall(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiPublicInsert(body: ChiaseinfoEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/Public/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiPublicInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiPublicInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiPublicInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appDmhtApiPublicUpdate(body: ChiaseinfoEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/Public/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiPublicUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiPublicUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiPublicUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiPublicDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/Public/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiPublicDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiPublicDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiPublicDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appDmhtApiPublicDeletebyma(keystring: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Dmht/api/Public/DeleteByMa/{keystring}\";\r\n if (keystring === undefined || keystring === null)\r\n throw new Error(\"The parameter 'keystring' must be defined.\");\r\n url_ = url_.replace(\"{keystring}\", encodeURIComponent(\"\" + keystring));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppDmhtApiPublicDeletebyma(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppDmhtApiPublicDeletebyma(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppDmhtApiPublicDeletebyma(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n sharedata(body: ShareModelBc | undefined): Observable {\r\n let url_ = this.baseUrl + \"/ShareData\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSharedata(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSharedata(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processSharedata(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n selectformshare(type: string): Observable {\r\n let url_ = this.baseUrl + \"/SelectFormShare/{type}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSelectformshare(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSelectformshare(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processSelectformshare(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ShareModelBcApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n syncdataapi(body: ChiaseinfoEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/SyncDataApi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSyncdataapi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSyncdataapi(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processSyncdataapi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getdataapingsp(): Observable {\r\n let url_ = this.baseUrl + \"/GetDataApiNgsp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetdataapingsp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetdataapingsp(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetdataapingsp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getdataapingspbytype(type: number): Observable {\r\n let url_ = this.baseUrl + \"/GetDataApiNgspByType/{type}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetdataapingspbytype(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetdataapingspbytype(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetdataapingspbytype(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataExistsWithApiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n paging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n selectone(key: number): Observable {\r\n let url_ = this.baseUrl + \"/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSelectone(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSelectone(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processSelectone(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ChiaseinfoEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n selectall(): Observable {\r\n let url_ = this.baseUrl + \"/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSelectall(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSelectall(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processSelectall(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n insert(body: ChiaseinfoEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n update(body: ChiaseinfoEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n delete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n deletebyma(keystring: string): Observable {\r\n let url_ = this.baseUrl + \"/DeleteByMa/{keystring}\";\r\n if (keystring === undefined || keystring === null)\r\n throw new Error(\"The parameter 'keystring' must be defined.\");\r\n url_ = url_.replace(\"{keystring}\", encodeURIComponent(\"\" + keystring));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDeletebyma(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDeletebyma(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processDeletebyma(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n}\r\n\r\nexport enum AggregateFunction {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n _6 = 6,\r\n _7 = 7,\r\n _8 = 8,\r\n _9 = 9,\r\n _10 = 10,\r\n _11 = 11,\r\n _12 = 12,\r\n _13 = 13,\r\n _14 = 14,\r\n _15 = 15,\r\n _16 = 16,\r\n}\r\n\r\nexport class ApiResponse implements IApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: boolean;\r\n\r\n constructor(data?: IApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data;\r\n return data; \r\n }\r\n\r\n clone(): ApiResponse {\r\n const json = this.toJSON();\r\n let result = new ApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: boolean;\r\n}\r\n\r\nexport class Assembly implements IAssembly {\r\n readonly definedTypes?: TypeInfo[] | undefined;\r\n readonly exportedTypes?: Type[] | undefined;\r\n readonly codeBase?: string | undefined;\r\n entryPoint?: MethodInfo;\r\n readonly fullName?: string | undefined;\r\n readonly imageRuntimeVersion?: string | undefined;\r\n readonly isDynamic?: boolean;\r\n readonly location?: string | undefined;\r\n readonly reflectionOnly?: boolean;\r\n readonly isCollectible?: boolean;\r\n readonly isFullyTrusted?: boolean;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly escapedCodeBase?: string | undefined;\r\n manifestModule?: Module;\r\n readonly modules?: Module[] | undefined;\r\n readonly globalAssemblyCache?: boolean;\r\n readonly hostContext?: number;\r\n securityRuleSet?: SecurityRuleSet;\r\n\r\n constructor(data?: IAssembly) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.definedTypes) {\r\n this.definedTypes = [];\r\n for (let i = 0; i < data.definedTypes.length; i++) {\r\n let item = data.definedTypes[i];\r\n this.definedTypes[i] = item && !(item).toJSON ? new TypeInfo(item) : item;\r\n }\r\n }\r\n if (data.exportedTypes) {\r\n this.exportedTypes = [];\r\n for (let i = 0; i < data.exportedTypes.length; i++) {\r\n let item = data.exportedTypes[i];\r\n this.exportedTypes[i] = item && !(item).toJSON ? new Type(item) : item;\r\n }\r\n }\r\n this.entryPoint = data.entryPoint && !(data.entryPoint).toJSON ? new MethodInfo(data.entryPoint) : this.entryPoint; \r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.manifestModule = data.manifestModule && !(data.manifestModule).toJSON ? new Module(data.manifestModule) : this.manifestModule; \r\n if (data.modules) {\r\n this.modules = [];\r\n for (let i = 0; i < data.modules.length; i++) {\r\n let item = data.modules[i];\r\n this.modules[i] = item && !(item).toJSON ? new Module(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"definedTypes\"])) {\r\n (this).definedTypes = [] as any;\r\n for (let item of _data[\"definedTypes\"])\r\n (this).definedTypes!.push(TypeInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"exportedTypes\"])) {\r\n (this).exportedTypes = [] as any;\r\n for (let item of _data[\"exportedTypes\"])\r\n (this).exportedTypes!.push(Type.fromJS(item));\r\n }\r\n (this).codeBase = _data[\"codeBase\"];\r\n this.entryPoint = _data[\"entryPoint\"] ? MethodInfo.fromJS(_data[\"entryPoint\"]) : undefined;\r\n (this).fullName = _data[\"fullName\"];\r\n (this).imageRuntimeVersion = _data[\"imageRuntimeVersion\"];\r\n (this).isDynamic = _data[\"isDynamic\"];\r\n (this).location = _data[\"location\"];\r\n (this).reflectionOnly = _data[\"reflectionOnly\"];\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).isFullyTrusted = _data[\"isFullyTrusted\"];\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).escapedCodeBase = _data[\"escapedCodeBase\"];\r\n this.manifestModule = _data[\"manifestModule\"] ? Module.fromJS(_data[\"manifestModule\"]) : undefined;\r\n if (Array.isArray(_data[\"modules\"])) {\r\n (this).modules = [] as any;\r\n for (let item of _data[\"modules\"])\r\n (this).modules!.push(Module.fromJS(item));\r\n }\r\n (this).globalAssemblyCache = _data[\"globalAssemblyCache\"];\r\n (this).hostContext = _data[\"hostContext\"];\r\n this.securityRuleSet = _data[\"securityRuleSet\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Assembly {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Assembly();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.definedTypes)) {\r\n data[\"definedTypes\"] = [];\r\n for (let item of this.definedTypes)\r\n data[\"definedTypes\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.exportedTypes)) {\r\n data[\"exportedTypes\"] = [];\r\n for (let item of this.exportedTypes)\r\n data[\"exportedTypes\"].push(item.toJSON());\r\n }\r\n data[\"codeBase\"] = this.codeBase;\r\n data[\"entryPoint\"] = this.entryPoint ? this.entryPoint.toJSON() : undefined;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"imageRuntimeVersion\"] = this.imageRuntimeVersion;\r\n data[\"isDynamic\"] = this.isDynamic;\r\n data[\"location\"] = this.location;\r\n data[\"reflectionOnly\"] = this.reflectionOnly;\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"isFullyTrusted\"] = this.isFullyTrusted;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"escapedCodeBase\"] = this.escapedCodeBase;\r\n data[\"manifestModule\"] = this.manifestModule ? this.manifestModule.toJSON() : undefined;\r\n if (Array.isArray(this.modules)) {\r\n data[\"modules\"] = [];\r\n for (let item of this.modules)\r\n data[\"modules\"].push(item.toJSON());\r\n }\r\n data[\"globalAssemblyCache\"] = this.globalAssemblyCache;\r\n data[\"hostContext\"] = this.hostContext;\r\n data[\"securityRuleSet\"] = this.securityRuleSet;\r\n return data; \r\n }\r\n\r\n clone(): Assembly {\r\n const json = this.toJSON();\r\n let result = new Assembly();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IAssembly {\r\n definedTypes?: ITypeInfo[] | undefined;\r\n exportedTypes?: IType[] | undefined;\r\n codeBase?: string | undefined;\r\n entryPoint?: IMethodInfo;\r\n fullName?: string | undefined;\r\n imageRuntimeVersion?: string | undefined;\r\n isDynamic?: boolean;\r\n location?: string | undefined;\r\n reflectionOnly?: boolean;\r\n isCollectible?: boolean;\r\n isFullyTrusted?: boolean;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n escapedCodeBase?: string | undefined;\r\n manifestModule?: IModule;\r\n modules?: IModule[] | undefined;\r\n globalAssemblyCache?: boolean;\r\n hostContext?: number;\r\n securityRuleSet?: SecurityRuleSet;\r\n}\r\n\r\nexport class BooleanApiResponse implements IBooleanApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: boolean;\r\n\r\n constructor(data?: IBooleanApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BooleanApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BooleanApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data;\r\n return data; \r\n }\r\n\r\n clone(): BooleanApiResponse {\r\n const json = this.toJSON();\r\n let result = new BooleanApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IBooleanApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: boolean;\r\n}\r\n\r\nexport enum CallingConventions {\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _32 = 32,\r\n _64 = 64,\r\n}\r\n\r\nexport class ChiaseinfoEntity implements IChiaseinfoEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n cscqnn?: number | undefined;\r\n csnd?: number | undefined;\r\n id?: number;\r\n mota?: string | undefined;\r\n ngaychiase?: Date | undefined;\r\n tieudebv?: string | undefined;\r\n type?: string | undefined;\r\n\r\n constructor(data?: IChiaseinfoEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.cscqnn = _data[\"cscqnn\"];\r\n this.csnd = _data[\"csnd\"];\r\n this.id = _data[\"id\"];\r\n this.mota = _data[\"mota\"];\r\n this.ngaychiase = _data[\"ngaychiase\"] ? new Date(_data[\"ngaychiase\"].toString()) : undefined;\r\n this.tieudebv = _data[\"tieudebv\"];\r\n this.type = _data[\"type\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChiaseinfoEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChiaseinfoEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"cscqnn\"] = this.cscqnn;\r\n data[\"csnd\"] = this.csnd;\r\n data[\"id\"] = this.id;\r\n data[\"mota\"] = this.mota;\r\n data[\"ngaychiase\"] = this.ngaychiase ? this.ngaychiase.toISOString() : undefined;\r\n data[\"tieudebv\"] = this.tieudebv;\r\n data[\"type\"] = this.type;\r\n return data; \r\n }\r\n\r\n clone(): ChiaseinfoEntity {\r\n const json = this.toJSON();\r\n let result = new ChiaseinfoEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IChiaseinfoEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n cscqnn?: number | undefined;\r\n csnd?: number | undefined;\r\n id?: number;\r\n mota?: string | undefined;\r\n ngaychiase?: Date | undefined;\r\n tieudebv?: string | undefined;\r\n type?: string | undefined;\r\n}\r\n\r\nexport class ChiaseinfoEntityApiResponse implements IChiaseinfoEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ChiaseinfoEntity;\r\n\r\n constructor(data?: IChiaseinfoEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ChiaseinfoEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ChiaseinfoEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChiaseinfoEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChiaseinfoEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): ChiaseinfoEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new ChiaseinfoEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IChiaseinfoEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IChiaseinfoEntity;\r\n}\r\n\r\nexport class ConstructorInfo implements IConstructorInfo {\r\n readonly name?: string | undefined;\r\n declaringType?: Type;\r\n reflectedType?: Type;\r\n module?: Module;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n attributes?: MethodAttributes;\r\n methodImplementationFlags?: MethodImplAttributes;\r\n callingConvention?: CallingConventions;\r\n readonly isAbstract?: boolean;\r\n readonly isConstructor?: boolean;\r\n readonly isFinal?: boolean;\r\n readonly isHideBySig?: boolean;\r\n readonly isSpecialName?: boolean;\r\n readonly isStatic?: boolean;\r\n readonly isVirtual?: boolean;\r\n readonly isAssembly?: boolean;\r\n readonly isFamily?: boolean;\r\n readonly isFamilyAndAssembly?: boolean;\r\n readonly isFamilyOrAssembly?: boolean;\r\n readonly isPrivate?: boolean;\r\n readonly isPublic?: boolean;\r\n readonly isConstructedGenericMethod?: boolean;\r\n readonly isGenericMethod?: boolean;\r\n readonly isGenericMethodDefinition?: boolean;\r\n readonly containsGenericParameters?: boolean;\r\n methodHandle?: RuntimeMethodHandle;\r\n readonly isSecurityCritical?: boolean;\r\n readonly isSecuritySafeCritical?: boolean;\r\n readonly isSecurityTransparent?: boolean;\r\n memberType?: MemberTypes;\r\n\r\n constructor(data?: IConstructorInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType; \r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType; \r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module; \r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.methodHandle = data.methodHandle && !(data.methodHandle).toJSON ? new RuntimeMethodHandle(data.methodHandle) : this.methodHandle; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n this.attributes = _data[\"attributes\"];\r\n this.methodImplementationFlags = _data[\"methodImplementationFlags\"];\r\n this.callingConvention = _data[\"callingConvention\"];\r\n (this).isAbstract = _data[\"isAbstract\"];\r\n (this).isConstructor = _data[\"isConstructor\"];\r\n (this).isFinal = _data[\"isFinal\"];\r\n (this).isHideBySig = _data[\"isHideBySig\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n (this).isStatic = _data[\"isStatic\"];\r\n (this).isVirtual = _data[\"isVirtual\"];\r\n (this).isAssembly = _data[\"isAssembly\"];\r\n (this).isFamily = _data[\"isFamily\"];\r\n (this).isFamilyAndAssembly = _data[\"isFamilyAndAssembly\"];\r\n (this).isFamilyOrAssembly = _data[\"isFamilyOrAssembly\"];\r\n (this).isPrivate = _data[\"isPrivate\"];\r\n (this).isPublic = _data[\"isPublic\"];\r\n (this).isConstructedGenericMethod = _data[\"isConstructedGenericMethod\"];\r\n (this).isGenericMethod = _data[\"isGenericMethod\"];\r\n (this).isGenericMethodDefinition = _data[\"isGenericMethodDefinition\"];\r\n (this).containsGenericParameters = _data[\"containsGenericParameters\"];\r\n this.methodHandle = _data[\"methodHandle\"] ? RuntimeMethodHandle.fromJS(_data[\"methodHandle\"]) : undefined;\r\n (this).isSecurityCritical = _data[\"isSecurityCritical\"];\r\n (this).isSecuritySafeCritical = _data[\"isSecuritySafeCritical\"];\r\n (this).isSecurityTransparent = _data[\"isSecurityTransparent\"];\r\n this.memberType = _data[\"memberType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ConstructorInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ConstructorInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"methodImplementationFlags\"] = this.methodImplementationFlags;\r\n data[\"callingConvention\"] = this.callingConvention;\r\n data[\"isAbstract\"] = this.isAbstract;\r\n data[\"isConstructor\"] = this.isConstructor;\r\n data[\"isFinal\"] = this.isFinal;\r\n data[\"isHideBySig\"] = this.isHideBySig;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"isStatic\"] = this.isStatic;\r\n data[\"isVirtual\"] = this.isVirtual;\r\n data[\"isAssembly\"] = this.isAssembly;\r\n data[\"isFamily\"] = this.isFamily;\r\n data[\"isFamilyAndAssembly\"] = this.isFamilyAndAssembly;\r\n data[\"isFamilyOrAssembly\"] = this.isFamilyOrAssembly;\r\n data[\"isPrivate\"] = this.isPrivate;\r\n data[\"isPublic\"] = this.isPublic;\r\n data[\"isConstructedGenericMethod\"] = this.isConstructedGenericMethod;\r\n data[\"isGenericMethod\"] = this.isGenericMethod;\r\n data[\"isGenericMethodDefinition\"] = this.isGenericMethodDefinition;\r\n data[\"containsGenericParameters\"] = this.containsGenericParameters;\r\n data[\"methodHandle\"] = this.methodHandle ? this.methodHandle.toJSON() : undefined;\r\n data[\"isSecurityCritical\"] = this.isSecurityCritical;\r\n data[\"isSecuritySafeCritical\"] = this.isSecuritySafeCritical;\r\n data[\"isSecurityTransparent\"] = this.isSecurityTransparent;\r\n data[\"memberType\"] = this.memberType;\r\n return data; \r\n }\r\n\r\n clone(): ConstructorInfo {\r\n const json = this.toJSON();\r\n let result = new ConstructorInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IConstructorInfo {\r\n name?: string | undefined;\r\n declaringType?: IType;\r\n reflectedType?: IType;\r\n module?: IModule;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n attributes?: MethodAttributes;\r\n methodImplementationFlags?: MethodImplAttributes;\r\n callingConvention?: CallingConventions;\r\n isAbstract?: boolean;\r\n isConstructor?: boolean;\r\n isFinal?: boolean;\r\n isHideBySig?: boolean;\r\n isSpecialName?: boolean;\r\n isStatic?: boolean;\r\n isVirtual?: boolean;\r\n isAssembly?: boolean;\r\n isFamily?: boolean;\r\n isFamilyAndAssembly?: boolean;\r\n isFamilyOrAssembly?: boolean;\r\n isPrivate?: boolean;\r\n isPublic?: boolean;\r\n isConstructedGenericMethod?: boolean;\r\n isGenericMethod?: boolean;\r\n isGenericMethodDefinition?: boolean;\r\n containsGenericParameters?: boolean;\r\n methodHandle?: IRuntimeMethodHandle;\r\n isSecurityCritical?: boolean;\r\n isSecuritySafeCritical?: boolean;\r\n isSecurityTransparent?: boolean;\r\n memberType?: MemberTypes;\r\n}\r\n\r\nexport class Context implements IContext {\r\n setExistingEntityFieldsInGet?: boolean;\r\n\r\n constructor(data?: IContext) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.setExistingEntityFieldsInGet = _data[\"setExistingEntityFieldsInGet\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Context {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Context();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"setExistingEntityFieldsInGet\"] = this.setExistingEntityFieldsInGet;\r\n return data; \r\n }\r\n\r\n clone(): Context {\r\n const json = this.toJSON();\r\n let result = new Context();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IContext {\r\n setExistingEntityFieldsInGet?: boolean;\r\n}\r\n\r\nexport class CustomAttributeData implements ICustomAttributeData {\r\n attributeType?: Type;\r\n constructor_?: ConstructorInfo;\r\n readonly constructorArguments?: CustomAttributeTypedArgument[] | undefined;\r\n readonly namedArguments?: CustomAttributeNamedArgument[] | undefined;\r\n\r\n constructor(data?: ICustomAttributeData) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.attributeType = data.attributeType && !(data.attributeType).toJSON ? new Type(data.attributeType) : this.attributeType; \r\n this.constructor_ = data.constructor_ && !(data.constructor_).toJSON ? new ConstructorInfo(data.constructor_) : this.constructor_; \r\n if (data.constructorArguments) {\r\n this.constructorArguments = [];\r\n for (let i = 0; i < data.constructorArguments.length; i++) {\r\n let item = data.constructorArguments[i];\r\n this.constructorArguments[i] = item && !(item).toJSON ? new CustomAttributeTypedArgument(item) : item;\r\n }\r\n }\r\n if (data.namedArguments) {\r\n this.namedArguments = [];\r\n for (let i = 0; i < data.namedArguments.length; i++) {\r\n let item = data.namedArguments[i];\r\n this.namedArguments[i] = item && !(item).toJSON ? new CustomAttributeNamedArgument(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.attributeType = _data[\"attributeType\"] ? Type.fromJS(_data[\"attributeType\"]) : undefined;\r\n this.constructor_ = _data[\"constructor\"] ? ConstructorInfo.fromJS(_data[\"constructor\"]) : undefined;\r\n if (Array.isArray(_data[\"constructorArguments\"])) {\r\n (this).constructorArguments = [] as any;\r\n for (let item of _data[\"constructorArguments\"])\r\n (this).constructorArguments!.push(CustomAttributeTypedArgument.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"namedArguments\"])) {\r\n (this).namedArguments = [] as any;\r\n for (let item of _data[\"namedArguments\"])\r\n (this).namedArguments!.push(CustomAttributeNamedArgument.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CustomAttributeData {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CustomAttributeData();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"attributeType\"] = this.attributeType ? this.attributeType.toJSON() : undefined;\r\n data[\"constructor\"] = this.constructor_ ? this.constructor_.toJSON() : undefined;\r\n if (Array.isArray(this.constructorArguments)) {\r\n data[\"constructorArguments\"] = [];\r\n for (let item of this.constructorArguments)\r\n data[\"constructorArguments\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.namedArguments)) {\r\n data[\"namedArguments\"] = [];\r\n for (let item of this.namedArguments)\r\n data[\"namedArguments\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): CustomAttributeData {\r\n const json = this.toJSON();\r\n let result = new CustomAttributeData();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICustomAttributeData {\r\n attributeType?: IType;\r\n constructor_?: IConstructorInfo;\r\n constructorArguments?: ICustomAttributeTypedArgument[] | undefined;\r\n namedArguments?: ICustomAttributeNamedArgument[] | undefined;\r\n}\r\n\r\nexport class CustomAttributeNamedArgument implements ICustomAttributeNamedArgument {\r\n memberInfo?: MemberInfo;\r\n typedValue?: CustomAttributeTypedArgument;\r\n readonly memberName?: string | undefined;\r\n readonly isField?: boolean;\r\n\r\n constructor(data?: ICustomAttributeNamedArgument) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.memberInfo = data.memberInfo && !(data.memberInfo).toJSON ? new MemberInfo(data.memberInfo) : this.memberInfo; \r\n this.typedValue = data.typedValue && !(data.typedValue).toJSON ? new CustomAttributeTypedArgument(data.typedValue) : this.typedValue; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberInfo = _data[\"memberInfo\"] ? MemberInfo.fromJS(_data[\"memberInfo\"]) : undefined;\r\n this.typedValue = _data[\"typedValue\"] ? CustomAttributeTypedArgument.fromJS(_data[\"typedValue\"]) : undefined;\r\n (this).memberName = _data[\"memberName\"];\r\n (this).isField = _data[\"isField\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CustomAttributeNamedArgument {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CustomAttributeNamedArgument();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberInfo\"] = this.memberInfo ? this.memberInfo.toJSON() : undefined;\r\n data[\"typedValue\"] = this.typedValue ? this.typedValue.toJSON() : undefined;\r\n data[\"memberName\"] = this.memberName;\r\n data[\"isField\"] = this.isField;\r\n return data; \r\n }\r\n\r\n clone(): CustomAttributeNamedArgument {\r\n const json = this.toJSON();\r\n let result = new CustomAttributeNamedArgument();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICustomAttributeNamedArgument {\r\n memberInfo?: IMemberInfo;\r\n typedValue?: ICustomAttributeTypedArgument;\r\n memberName?: string | undefined;\r\n isField?: boolean;\r\n}\r\n\r\nexport class CustomAttributeTypedArgument implements ICustomAttributeTypedArgument {\r\n argumentType?: Type;\r\n readonly value?: any | undefined;\r\n\r\n constructor(data?: ICustomAttributeTypedArgument) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.argumentType = data.argumentType && !(data.argumentType).toJSON ? new Type(data.argumentType) : this.argumentType; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.argumentType = _data[\"argumentType\"] ? Type.fromJS(_data[\"argumentType\"]) : undefined;\r\n (this).value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CustomAttributeTypedArgument {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CustomAttributeTypedArgument();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"argumentType\"] = this.argumentType ? this.argumentType.toJSON() : undefined;\r\n data[\"value\"] = this.value;\r\n return data; \r\n }\r\n\r\n clone(): CustomAttributeTypedArgument {\r\n const json = this.toJSON();\r\n let result = new CustomAttributeTypedArgument();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICustomAttributeTypedArgument {\r\n argumentType?: IType;\r\n value?: any | undefined;\r\n}\r\n\r\nexport class DanTocExampleMapModel implements IDanTocExampleMapModel {\r\n id?: number;\r\n tenDanToc?: string | undefined;\r\n maDanToc?: string | undefined;\r\n\r\n constructor(data?: IDanTocExampleMapModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tenDanToc = _data[\"tenDanToc\"];\r\n this.maDanToc = _data[\"maDanToc\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DanTocExampleMapModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DanTocExampleMapModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tenDanToc\"] = this.tenDanToc;\r\n data[\"maDanToc\"] = this.maDanToc;\r\n return data; \r\n }\r\n\r\n clone(): DanTocExampleMapModel {\r\n const json = this.toJSON();\r\n let result = new DanTocExampleMapModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDanTocExampleMapModel {\r\n id?: number;\r\n tenDanToc?: string | undefined;\r\n maDanToc?: string | undefined;\r\n}\r\n\r\nexport class DanTocExampleModel implements IDanTocExampleModel {\r\n id?: number;\r\n lstExample?: DanTocExampleMapModel[] | undefined;\r\n\r\n constructor(data?: IDanTocExampleModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstExample) {\r\n this.lstExample = [];\r\n for (let i = 0; i < data.lstExample.length; i++) {\r\n let item = data.lstExample[i];\r\n this.lstExample[i] = item && !(item).toJSON ? new DanTocExampleMapModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n if (Array.isArray(_data[\"lstExample\"])) {\r\n this.lstExample = [] as any;\r\n for (let item of _data[\"lstExample\"])\r\n this.lstExample!.push(DanTocExampleMapModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DanTocExampleModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DanTocExampleModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n if (Array.isArray(this.lstExample)) {\r\n data[\"lstExample\"] = [];\r\n for (let item of this.lstExample)\r\n data[\"lstExample\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): DanTocExampleModel {\r\n const json = this.toJSON();\r\n let result = new DanTocExampleModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDanTocExampleModel {\r\n id?: number;\r\n lstExample?: IDanTocExampleMapModel[] | undefined;\r\n}\r\n\r\nexport class DanTocExampleModelApiResponse implements IDanTocExampleModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DanTocExampleModel;\r\n\r\n constructor(data?: IDanTocExampleModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DanTocExampleModel(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DanTocExampleModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DanTocExampleModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DanTocExampleModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DanTocExampleModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new DanTocExampleModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDanTocExampleModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDanTocExampleModel;\r\n}\r\n\r\nexport class DataExistsWithApiModel implements IDataExistsWithApiModel {\r\n syncModel?: any[] | undefined;\r\n dataExists?: any[] | undefined;\r\n\r\n constructor(data?: IDataExistsWithApiModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"syncModel\"])) {\r\n this.syncModel = [] as any;\r\n for (let item of _data[\"syncModel\"])\r\n this.syncModel!.push(item);\r\n }\r\n if (Array.isArray(_data[\"dataExists\"])) {\r\n this.dataExists = [] as any;\r\n for (let item of _data[\"dataExists\"])\r\n this.dataExists!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DataExistsWithApiModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DataExistsWithApiModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.syncModel)) {\r\n data[\"syncModel\"] = [];\r\n for (let item of this.syncModel)\r\n data[\"syncModel\"].push(item);\r\n }\r\n if (Array.isArray(this.dataExists)) {\r\n data[\"dataExists\"] = [];\r\n for (let item of this.dataExists)\r\n data[\"dataExists\"].push(item);\r\n }\r\n return data; \r\n }\r\n\r\n clone(): DataExistsWithApiModel {\r\n const json = this.toJSON();\r\n let result = new DataExistsWithApiModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDataExistsWithApiModel {\r\n syncModel?: any[] | undefined;\r\n dataExists?: any[] | undefined;\r\n}\r\n\r\nexport class DataExistsWithApiModelApiResponse implements IDataExistsWithApiModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DataExistsWithApiModel;\r\n\r\n constructor(data?: IDataExistsWithApiModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DataExistsWithApiModel(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DataExistsWithApiModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DataExistsWithApiModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DataExistsWithApiModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DataExistsWithApiModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new DataExistsWithApiModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDataExistsWithApiModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDataExistsWithApiModel;\r\n}\r\n\r\nexport enum DataRowVersion {\r\n _256 = 256,\r\n _512 = 512,\r\n _1024 = 1024,\r\n _1536 = 1536,\r\n}\r\n\r\nexport class DbParameter implements IDbParameter {\r\n dbType?: DbType;\r\n direction?: ParameterDirection;\r\n isNullable?: boolean;\r\n parameterName?: string | undefined;\r\n precision?: number;\r\n scale?: number;\r\n size?: number;\r\n sourceColumn?: string | undefined;\r\n sourceColumnNullMapping?: boolean;\r\n sourceVersion?: DataRowVersion;\r\n value?: any | undefined;\r\n\r\n constructor(data?: IDbParameter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n if (!data) {\r\n this.parameterName = \"\";\r\n this.sourceColumn = \"\";\r\n this.sourceColumnNullMapping = false;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.dbType = _data[\"dbType\"];\r\n this.direction = _data[\"direction\"];\r\n this.isNullable = _data[\"isNullable\"];\r\n this.parameterName = _data[\"parameterName\"] !== undefined ? _data[\"parameterName\"] : \"\";\r\n this.precision = _data[\"precision\"];\r\n this.scale = _data[\"scale\"];\r\n this.size = _data[\"size\"];\r\n this.sourceColumn = _data[\"sourceColumn\"] !== undefined ? _data[\"sourceColumn\"] : \"\";\r\n this.sourceColumnNullMapping = _data[\"sourceColumnNullMapping\"] !== undefined ? _data[\"sourceColumnNullMapping\"] : false;\r\n this.sourceVersion = _data[\"sourceVersion\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DbParameter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DbParameter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"dbType\"] = this.dbType;\r\n data[\"direction\"] = this.direction;\r\n data[\"isNullable\"] = this.isNullable;\r\n data[\"parameterName\"] = this.parameterName;\r\n data[\"precision\"] = this.precision;\r\n data[\"scale\"] = this.scale;\r\n data[\"size\"] = this.size;\r\n data[\"sourceColumn\"] = this.sourceColumn;\r\n data[\"sourceColumnNullMapping\"] = this.sourceColumnNullMapping;\r\n data[\"sourceVersion\"] = this.sourceVersion;\r\n data[\"value\"] = this.value;\r\n return data; \r\n }\r\n\r\n clone(): DbParameter {\r\n const json = this.toJSON();\r\n let result = new DbParameter();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDbParameter {\r\n dbType?: DbType;\r\n direction?: ParameterDirection;\r\n isNullable?: boolean;\r\n parameterName?: string | undefined;\r\n precision?: number;\r\n scale?: number;\r\n size?: number;\r\n sourceColumn?: string | undefined;\r\n sourceColumnNullMapping?: boolean;\r\n sourceVersion?: DataRowVersion;\r\n value?: any | undefined;\r\n}\r\n\r\nexport class DbProviderFactory implements IDbProviderFactory {\r\n readonly canCreateDataSourceEnumerator?: boolean;\r\n readonly canCreateDataAdapter?: boolean;\r\n readonly canCreateCommandBuilder?: boolean;\r\n\r\n constructor(data?: IDbProviderFactory) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).canCreateDataSourceEnumerator = _data[\"canCreateDataSourceEnumerator\"];\r\n (this).canCreateDataAdapter = _data[\"canCreateDataAdapter\"];\r\n (this).canCreateCommandBuilder = _data[\"canCreateCommandBuilder\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DbProviderFactory {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DbProviderFactory();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"canCreateDataSourceEnumerator\"] = this.canCreateDataSourceEnumerator;\r\n data[\"canCreateDataAdapter\"] = this.canCreateDataAdapter;\r\n data[\"canCreateCommandBuilder\"] = this.canCreateCommandBuilder;\r\n return data; \r\n }\r\n\r\n clone(): DbProviderFactory {\r\n const json = this.toJSON();\r\n let result = new DbProviderFactory();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDbProviderFactory {\r\n canCreateDataSourceEnumerator?: boolean;\r\n canCreateDataAdapter?: boolean;\r\n canCreateCommandBuilder?: boolean;\r\n}\r\n\r\nexport enum DbType {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n _6 = 6,\r\n _7 = 7,\r\n _8 = 8,\r\n _9 = 9,\r\n _10 = 10,\r\n _11 = 11,\r\n _12 = 12,\r\n _13 = 13,\r\n _14 = 14,\r\n _15 = 15,\r\n _16 = 16,\r\n _17 = 17,\r\n _18 = 18,\r\n _19 = 19,\r\n _20 = 20,\r\n _21 = 21,\r\n _22 = 22,\r\n _23 = 23,\r\n _25 = 25,\r\n _26 = 26,\r\n _27 = 27,\r\n}\r\n\r\nexport class DmbacluongEntity implements IDmbacluongEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhquyetdinh?: string | undefined;\r\n id?: number;\r\n mabacluong?: string | undefined;\r\n ngaybanhanhquyetdinh?: Date | undefined;\r\n quyetdinhbanhanhsuadoi?: string | undefined;\r\n tenbacluong?: string | undefined;\r\n\r\n constructor(data?: IDmbacluongEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.coquanbanhanhquyetdinh = _data[\"coquanbanhanhquyetdinh\"];\r\n this.id = _data[\"id\"];\r\n this.mabacluong = _data[\"mabacluong\"];\r\n this.ngaybanhanhquyetdinh = _data[\"ngaybanhanhquyetdinh\"] ? new Date(_data[\"ngaybanhanhquyetdinh\"].toString()) : undefined;\r\n this.quyetdinhbanhanhsuadoi = _data[\"quyetdinhbanhanhsuadoi\"];\r\n this.tenbacluong = _data[\"tenbacluong\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmbacluongEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmbacluongEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"coquanbanhanhquyetdinh\"] = this.coquanbanhanhquyetdinh;\r\n data[\"id\"] = this.id;\r\n data[\"mabacluong\"] = this.mabacluong;\r\n data[\"ngaybanhanhquyetdinh\"] = this.ngaybanhanhquyetdinh ? this.ngaybanhanhquyetdinh.toISOString() : undefined;\r\n data[\"quyetdinhbanhanhsuadoi\"] = this.quyetdinhbanhanhsuadoi;\r\n data[\"tenbacluong\"] = this.tenbacluong;\r\n return data; \r\n }\r\n\r\n clone(): DmbacluongEntity {\r\n const json = this.toJSON();\r\n let result = new DmbacluongEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmbacluongEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhquyetdinh?: string | undefined;\r\n id?: number;\r\n mabacluong?: string | undefined;\r\n ngaybanhanhquyetdinh?: Date | undefined;\r\n quyetdinhbanhanhsuadoi?: string | undefined;\r\n tenbacluong?: string | undefined;\r\n}\r\n\r\nexport class DmbacluongEntityApiResponse implements IDmbacluongEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmbacluongEntity;\r\n\r\n constructor(data?: IDmbacluongEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmbacluongEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmbacluongEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmbacluongEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmbacluongEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmbacluongEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmbacluongEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmbacluongEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmbacluongEntity;\r\n}\r\n\r\nexport class DmbangluongEntity implements IDmbangluongEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhquyetdinh?: string | undefined;\r\n id?: number;\r\n mabangluong?: string | undefined;\r\n ngaybanhanhquyetdinh?: Date | undefined;\r\n quyetdinhbanhanhsuadoi?: string | undefined;\r\n tenbangluong?: string | undefined;\r\n\r\n constructor(data?: IDmbangluongEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.coquanbanhanhquyetdinh = _data[\"coquanbanhanhquyetdinh\"];\r\n this.id = _data[\"id\"];\r\n this.mabangluong = _data[\"mabangluong\"];\r\n this.ngaybanhanhquyetdinh = _data[\"ngaybanhanhquyetdinh\"] ? new Date(_data[\"ngaybanhanhquyetdinh\"].toString()) : undefined;\r\n this.quyetdinhbanhanhsuadoi = _data[\"quyetdinhbanhanhsuadoi\"];\r\n this.tenbangluong = _data[\"tenbangluong\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmbangluongEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmbangluongEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"coquanbanhanhquyetdinh\"] = this.coquanbanhanhquyetdinh;\r\n data[\"id\"] = this.id;\r\n data[\"mabangluong\"] = this.mabangluong;\r\n data[\"ngaybanhanhquyetdinh\"] = this.ngaybanhanhquyetdinh ? this.ngaybanhanhquyetdinh.toISOString() : undefined;\r\n data[\"quyetdinhbanhanhsuadoi\"] = this.quyetdinhbanhanhsuadoi;\r\n data[\"tenbangluong\"] = this.tenbangluong;\r\n return data; \r\n }\r\n\r\n clone(): DmbangluongEntity {\r\n const json = this.toJSON();\r\n let result = new DmbangluongEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmbangluongEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhquyetdinh?: string | undefined;\r\n id?: number;\r\n mabangluong?: string | undefined;\r\n ngaybanhanhquyetdinh?: Date | undefined;\r\n quyetdinhbanhanhsuadoi?: string | undefined;\r\n tenbangluong?: string | undefined;\r\n}\r\n\r\nexport class DmbangluongEntityApiResponse implements IDmbangluongEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmbangluongEntity;\r\n\r\n constructor(data?: IDmbangluongEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmbangluongEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmbangluongEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmbangluongEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmbangluongEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmbangluongEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmbangluongEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmbangluongEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmbangluongEntity;\r\n}\r\n\r\nexport class DmbuuchinhEntity implements IDmbuuchinhEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n cap?: number | undefined;\r\n coquanbanhanhqd?: string | undefined;\r\n email?: string | undefined;\r\n id?: number;\r\n makhuvuc?: string | undefined;\r\n maquanhuyen?: string | undefined;\r\n matinh?: string | undefined;\r\n ngaybanhanhqd?: Date | undefined;\r\n qdbanhanhqdsuadoi?: string | undefined;\r\n sodienthoai?: number | undefined;\r\n tenkhuvuc?: string | undefined;\r\n tenquanhuyen?: string | undefined;\r\n tentinh?: string | undefined;\r\n website?: string | undefined;\r\n\r\n constructor(data?: IDmbuuchinhEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.cap = _data[\"cap\"];\r\n this.coquanbanhanhqd = _data[\"coquanbanhanhqd\"];\r\n this.email = _data[\"email\"];\r\n this.id = _data[\"id\"];\r\n this.makhuvuc = _data[\"makhuvuc\"];\r\n this.maquanhuyen = _data[\"maquanhuyen\"];\r\n this.matinh = _data[\"matinh\"];\r\n this.ngaybanhanhqd = _data[\"ngaybanhanhqd\"] ? new Date(_data[\"ngaybanhanhqd\"].toString()) : undefined;\r\n this.qdbanhanhqdsuadoi = _data[\"qdbanhanhqdsuadoi\"];\r\n this.sodienthoai = _data[\"sodienthoai\"];\r\n this.tenkhuvuc = _data[\"tenkhuvuc\"];\r\n this.tenquanhuyen = _data[\"tenquanhuyen\"];\r\n this.tentinh = _data[\"tentinh\"];\r\n this.website = _data[\"website\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmbuuchinhEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmbuuchinhEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"cap\"] = this.cap;\r\n data[\"coquanbanhanhqd\"] = this.coquanbanhanhqd;\r\n data[\"email\"] = this.email;\r\n data[\"id\"] = this.id;\r\n data[\"makhuvuc\"] = this.makhuvuc;\r\n data[\"maquanhuyen\"] = this.maquanhuyen;\r\n data[\"matinh\"] = this.matinh;\r\n data[\"ngaybanhanhqd\"] = this.ngaybanhanhqd ? this.ngaybanhanhqd.toISOString() : undefined;\r\n data[\"qdbanhanhqdsuadoi\"] = this.qdbanhanhqdsuadoi;\r\n data[\"sodienthoai\"] = this.sodienthoai;\r\n data[\"tenkhuvuc\"] = this.tenkhuvuc;\r\n data[\"tenquanhuyen\"] = this.tenquanhuyen;\r\n data[\"tentinh\"] = this.tentinh;\r\n data[\"website\"] = this.website;\r\n return data; \r\n }\r\n\r\n clone(): DmbuuchinhEntity {\r\n const json = this.toJSON();\r\n let result = new DmbuuchinhEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmbuuchinhEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n cap?: number | undefined;\r\n coquanbanhanhqd?: string | undefined;\r\n email?: string | undefined;\r\n id?: number;\r\n makhuvuc?: string | undefined;\r\n maquanhuyen?: string | undefined;\r\n matinh?: string | undefined;\r\n ngaybanhanhqd?: Date | undefined;\r\n qdbanhanhqdsuadoi?: string | undefined;\r\n sodienthoai?: number | undefined;\r\n tenkhuvuc?: string | undefined;\r\n tenquanhuyen?: string | undefined;\r\n tentinh?: string | undefined;\r\n website?: string | undefined;\r\n}\r\n\r\nexport class DmbuuchinhEntityApiResponse implements IDmbuuchinhEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmbuuchinhEntity;\r\n\r\n constructor(data?: IDmbuuchinhEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmbuuchinhEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmbuuchinhEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmbuuchinhEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmbuuchinhEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmbuuchinhEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmbuuchinhEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmbuuchinhEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmbuuchinhEntity;\r\n}\r\n\r\nexport class DmchucdanhEntity implements IDmchucdanhEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhqd?: string | undefined;\r\n id?: number;\r\n machucdanh?: string | undefined;\r\n ngaybanhanhqd?: Date | undefined;\r\n qdbanhanhqdsuadoi?: string | undefined;\r\n tenchucdanh?: string | undefined;\r\n\r\n constructor(data?: IDmchucdanhEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.coquanbanhanhqd = _data[\"coquanbanhanhqd\"];\r\n this.id = _data[\"id\"];\r\n this.machucdanh = _data[\"machucdanh\"];\r\n this.ngaybanhanhqd = _data[\"ngaybanhanhqd\"] ? new Date(_data[\"ngaybanhanhqd\"].toString()) : undefined;\r\n this.qdbanhanhqdsuadoi = _data[\"qdbanhanhqdsuadoi\"];\r\n this.tenchucdanh = _data[\"tenchucdanh\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmchucdanhEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmchucdanhEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"coquanbanhanhqd\"] = this.coquanbanhanhqd;\r\n data[\"id\"] = this.id;\r\n data[\"machucdanh\"] = this.machucdanh;\r\n data[\"ngaybanhanhqd\"] = this.ngaybanhanhqd ? this.ngaybanhanhqd.toISOString() : undefined;\r\n data[\"qdbanhanhqdsuadoi\"] = this.qdbanhanhqdsuadoi;\r\n data[\"tenchucdanh\"] = this.tenchucdanh;\r\n return data; \r\n }\r\n\r\n clone(): DmchucdanhEntity {\r\n const json = this.toJSON();\r\n let result = new DmchucdanhEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmchucdanhEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhqd?: string | undefined;\r\n id?: number;\r\n machucdanh?: string | undefined;\r\n ngaybanhanhqd?: Date | undefined;\r\n qdbanhanhqdsuadoi?: string | undefined;\r\n tenchucdanh?: string | undefined;\r\n}\r\n\r\nexport class DmchucdanhEntityApiResponse implements IDmchucdanhEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmchucdanhEntity;\r\n\r\n constructor(data?: IDmchucdanhEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmchucdanhEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmchucdanhEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmchucdanhEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmchucdanhEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmchucdanhEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmchucdanhEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmchucdanhEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmchucdanhEntity;\r\n}\r\n\r\nexport class DmdantocEntity implements IDmdantocEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhquyetdinh?: string | undefined;\r\n id?: number;\r\n madantoc?: string | undefined;\r\n ngaybanhanhquyetdinh?: Date | undefined;\r\n quyetdinhbanhanhsuadoi?: string | undefined;\r\n tendantoc?: string | undefined;\r\n\r\n constructor(data?: IDmdantocEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.coquanbanhanhquyetdinh = _data[\"coquanbanhanhquyetdinh\"];\r\n this.id = _data[\"id\"];\r\n this.madantoc = _data[\"madantoc\"];\r\n this.ngaybanhanhquyetdinh = _data[\"ngaybanhanhquyetdinh\"] ? new Date(_data[\"ngaybanhanhquyetdinh\"].toString()) : undefined;\r\n this.quyetdinhbanhanhsuadoi = _data[\"quyetdinhbanhanhsuadoi\"];\r\n this.tendantoc = _data[\"tendantoc\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmdantocEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmdantocEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"coquanbanhanhquyetdinh\"] = this.coquanbanhanhquyetdinh;\r\n data[\"id\"] = this.id;\r\n data[\"madantoc\"] = this.madantoc;\r\n data[\"ngaybanhanhquyetdinh\"] = this.ngaybanhanhquyetdinh ? this.ngaybanhanhquyetdinh.toISOString() : undefined;\r\n data[\"quyetdinhbanhanhsuadoi\"] = this.quyetdinhbanhanhsuadoi;\r\n data[\"tendantoc\"] = this.tendantoc;\r\n return data; \r\n }\r\n\r\n clone(): DmdantocEntity {\r\n const json = this.toJSON();\r\n let result = new DmdantocEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmdantocEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhquyetdinh?: string | undefined;\r\n id?: number;\r\n madantoc?: string | undefined;\r\n ngaybanhanhquyetdinh?: Date | undefined;\r\n quyetdinhbanhanhsuadoi?: string | undefined;\r\n tendantoc?: string | undefined;\r\n}\r\n\r\nexport class DmdantocEntityApiResponse implements IDmdantocEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmdantocEntity;\r\n\r\n constructor(data?: IDmdantocEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmdantocEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmdantocEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmdantocEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmdantocEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmdantocEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmdantocEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmdantocEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmdantocEntity;\r\n}\r\n\r\nexport class DmdantockhacEntity implements IDmdantockhacEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhquyetdinh?: string | undefined;\r\n id?: number;\r\n madantockhac?: string | undefined;\r\n ngaybanhanhquyetdinh?: Date | undefined;\r\n quyetdinhbanhanhsuadoi?: string | undefined;\r\n tendantockhac?: string | undefined;\r\n\r\n constructor(data?: IDmdantockhacEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.coquanbanhanhquyetdinh = _data[\"coquanbanhanhquyetdinh\"];\r\n this.id = _data[\"id\"];\r\n this.madantockhac = _data[\"madantockhac\"];\r\n this.ngaybanhanhquyetdinh = _data[\"ngaybanhanhquyetdinh\"] ? new Date(_data[\"ngaybanhanhquyetdinh\"].toString()) : undefined;\r\n this.quyetdinhbanhanhsuadoi = _data[\"quyetdinhbanhanhsuadoi\"];\r\n this.tendantockhac = _data[\"tendantockhac\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmdantockhacEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmdantockhacEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"coquanbanhanhquyetdinh\"] = this.coquanbanhanhquyetdinh;\r\n data[\"id\"] = this.id;\r\n data[\"madantockhac\"] = this.madantockhac;\r\n data[\"ngaybanhanhquyetdinh\"] = this.ngaybanhanhquyetdinh ? this.ngaybanhanhquyetdinh.toISOString() : undefined;\r\n data[\"quyetdinhbanhanhsuadoi\"] = this.quyetdinhbanhanhsuadoi;\r\n data[\"tendantockhac\"] = this.tendantockhac;\r\n return data; \r\n }\r\n\r\n clone(): DmdantockhacEntity {\r\n const json = this.toJSON();\r\n let result = new DmdantockhacEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmdantockhacEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhquyetdinh?: string | undefined;\r\n id?: number;\r\n madantockhac?: string | undefined;\r\n ngaybanhanhquyetdinh?: Date | undefined;\r\n quyetdinhbanhanhsuadoi?: string | undefined;\r\n tendantockhac?: string | undefined;\r\n}\r\n\r\nexport class DmdantockhacEntityApiResponse implements IDmdantockhacEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmdantockhacEntity;\r\n\r\n constructor(data?: IDmdantockhacEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmdantockhacEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmdantockhacEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmdantockhacEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmdantockhacEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmdantockhacEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmdantockhacEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmdantockhacEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmdantockhacEntity;\r\n}\r\n\r\nexport class DmdinhdanhEntity implements IDmdinhdanhEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n capDinhdanh?: number;\r\n coquanBanhanh?: string | undefined;\r\n diaChi?: string | undefined;\r\n email?: string | undefined;\r\n fax?: string | undefined;\r\n id?: number;\r\n maDinhdanh?: string | undefined;\r\n maDvqhns?: string | undefined;\r\n maHuyen?: string | undefined;\r\n maTinh?: string | undefined;\r\n maXa?: string | undefined;\r\n ngayBanhanh?: Date | undefined;\r\n ngayHhl?: Date | undefined;\r\n ngayHl?: Date | undefined;\r\n qdBanhanh?: string | undefined;\r\n soDienthoai?: string | undefined;\r\n tenDonvi?: string | undefined;\r\n website?: string | undefined;\r\n\r\n constructor(data?: IDmdinhdanhEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.capDinhdanh = _data[\"capDinhdanh\"];\r\n this.coquanBanhanh = _data[\"coquanBanhanh\"];\r\n this.diaChi = _data[\"diaChi\"];\r\n this.email = _data[\"email\"];\r\n this.fax = _data[\"fax\"];\r\n this.id = _data[\"id\"];\r\n this.maDinhdanh = _data[\"maDinhdanh\"];\r\n this.maDvqhns = _data[\"maDvqhns\"];\r\n this.maHuyen = _data[\"maHuyen\"];\r\n this.maTinh = _data[\"maTinh\"];\r\n this.maXa = _data[\"maXa\"];\r\n this.ngayBanhanh = _data[\"ngayBanhanh\"] ? new Date(_data[\"ngayBanhanh\"].toString()) : undefined;\r\n this.ngayHhl = _data[\"ngayHhl\"] ? new Date(_data[\"ngayHhl\"].toString()) : undefined;\r\n this.ngayHl = _data[\"ngayHl\"] ? new Date(_data[\"ngayHl\"].toString()) : undefined;\r\n this.qdBanhanh = _data[\"qdBanhanh\"];\r\n this.soDienthoai = _data[\"soDienthoai\"];\r\n this.tenDonvi = _data[\"tenDonvi\"];\r\n this.website = _data[\"website\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmdinhdanhEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmdinhdanhEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"capDinhdanh\"] = this.capDinhdanh;\r\n data[\"coquanBanhanh\"] = this.coquanBanhanh;\r\n data[\"diaChi\"] = this.diaChi;\r\n data[\"email\"] = this.email;\r\n data[\"fax\"] = this.fax;\r\n data[\"id\"] = this.id;\r\n data[\"maDinhdanh\"] = this.maDinhdanh;\r\n data[\"maDvqhns\"] = this.maDvqhns;\r\n data[\"maHuyen\"] = this.maHuyen;\r\n data[\"maTinh\"] = this.maTinh;\r\n data[\"maXa\"] = this.maXa;\r\n data[\"ngayBanhanh\"] = this.ngayBanhanh ? this.ngayBanhanh.toISOString() : undefined;\r\n data[\"ngayHhl\"] = this.ngayHhl ? this.ngayHhl.toISOString() : undefined;\r\n data[\"ngayHl\"] = this.ngayHl ? this.ngayHl.toISOString() : undefined;\r\n data[\"qdBanhanh\"] = this.qdBanhanh;\r\n data[\"soDienthoai\"] = this.soDienthoai;\r\n data[\"tenDonvi\"] = this.tenDonvi;\r\n data[\"website\"] = this.website;\r\n return data; \r\n }\r\n\r\n clone(): DmdinhdanhEntity {\r\n const json = this.toJSON();\r\n let result = new DmdinhdanhEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmdinhdanhEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n capDinhdanh?: number;\r\n coquanBanhanh?: string | undefined;\r\n diaChi?: string | undefined;\r\n email?: string | undefined;\r\n fax?: string | undefined;\r\n id?: number;\r\n maDinhdanh?: string | undefined;\r\n maDvqhns?: string | undefined;\r\n maHuyen?: string | undefined;\r\n maTinh?: string | undefined;\r\n maXa?: string | undefined;\r\n ngayBanhanh?: Date | undefined;\r\n ngayHhl?: Date | undefined;\r\n ngayHl?: Date | undefined;\r\n qdBanhanh?: string | undefined;\r\n soDienthoai?: string | undefined;\r\n tenDonvi?: string | undefined;\r\n website?: string | undefined;\r\n}\r\n\r\nexport class DmdinhdanhEntityApiResponse implements IDmdinhdanhEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmdinhdanhEntity;\r\n\r\n constructor(data?: IDmdinhdanhEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmdinhdanhEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmdinhdanhEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmdinhdanhEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmdinhdanhEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmdinhdanhEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmdinhdanhEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmdinhdanhEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmdinhdanhEntity;\r\n}\r\n\r\nexport class DmdokhanEntity implements IDmdokhanEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhqd?: string | undefined;\r\n id?: number;\r\n maloaivanban?: string | undefined;\r\n ngaybanhanhqd?: Date | undefined;\r\n qdbanhanhqdsuadoi?: string | undefined;\r\n tenloaivanban?: string | undefined;\r\n\r\n constructor(data?: IDmdokhanEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.coquanbanhanhqd = _data[\"coquanbanhanhqd\"];\r\n this.id = _data[\"id\"];\r\n this.maloaivanban = _data[\"maloaivanban\"];\r\n this.ngaybanhanhqd = _data[\"ngaybanhanhqd\"] ? new Date(_data[\"ngaybanhanhqd\"].toString()) : undefined;\r\n this.qdbanhanhqdsuadoi = _data[\"qdbanhanhqdsuadoi\"];\r\n this.tenloaivanban = _data[\"tenloaivanban\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmdokhanEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmdokhanEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"coquanbanhanhqd\"] = this.coquanbanhanhqd;\r\n data[\"id\"] = this.id;\r\n data[\"maloaivanban\"] = this.maloaivanban;\r\n data[\"ngaybanhanhqd\"] = this.ngaybanhanhqd ? this.ngaybanhanhqd.toISOString() : undefined;\r\n data[\"qdbanhanhqdsuadoi\"] = this.qdbanhanhqdsuadoi;\r\n data[\"tenloaivanban\"] = this.tenloaivanban;\r\n return data; \r\n }\r\n\r\n clone(): DmdokhanEntity {\r\n const json = this.toJSON();\r\n let result = new DmdokhanEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmdokhanEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhqd?: string | undefined;\r\n id?: number;\r\n maloaivanban?: string | undefined;\r\n ngaybanhanhqd?: Date | undefined;\r\n qdbanhanhqdsuadoi?: string | undefined;\r\n tenloaivanban?: string | undefined;\r\n}\r\n\r\nexport class DmdokhanEntityApiResponse implements IDmdokhanEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmdokhanEntity;\r\n\r\n constructor(data?: IDmdokhanEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmdokhanEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmdokhanEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmdokhanEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmdokhanEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmdokhanEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmdokhanEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmdokhanEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmdokhanEntity;\r\n}\r\n\r\nexport class DmdvhanhchinhEntity implements IDmdvhanhchinhEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n capdbhc?: number;\r\n id?: number;\r\n madbhc?: string | undefined;\r\n madbhccha?: string | undefined;\r\n madinhdanhtinh?: string | undefined;\r\n ngayhhl?: Date | undefined;\r\n ngayhl?: Date | undefined;\r\n tendbhc?: string | undefined;\r\n\r\n constructor(data?: IDmdvhanhchinhEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.capdbhc = _data[\"capdbhc\"];\r\n this.id = _data[\"id\"];\r\n this.madbhc = _data[\"madbhc\"];\r\n this.madbhccha = _data[\"madbhccha\"];\r\n this.madinhdanhtinh = _data[\"madinhdanhtinh\"];\r\n this.ngayhhl = _data[\"ngayhhl\"] ? new Date(_data[\"ngayhhl\"].toString()) : undefined;\r\n this.ngayhl = _data[\"ngayhl\"] ? new Date(_data[\"ngayhl\"].toString()) : undefined;\r\n this.tendbhc = _data[\"tendbhc\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmdvhanhchinhEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmdvhanhchinhEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"capdbhc\"] = this.capdbhc;\r\n data[\"id\"] = this.id;\r\n data[\"madbhc\"] = this.madbhc;\r\n data[\"madbhccha\"] = this.madbhccha;\r\n data[\"madinhdanhtinh\"] = this.madinhdanhtinh;\r\n data[\"ngayhhl\"] = this.ngayhhl ? this.ngayhhl.toISOString() : undefined;\r\n data[\"ngayhl\"] = this.ngayhl ? this.ngayhl.toISOString() : undefined;\r\n data[\"tendbhc\"] = this.tendbhc;\r\n return data; \r\n }\r\n\r\n clone(): DmdvhanhchinhEntity {\r\n const json = this.toJSON();\r\n let result = new DmdvhanhchinhEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmdvhanhchinhEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n capdbhc?: number;\r\n id?: number;\r\n madbhc?: string | undefined;\r\n madbhccha?: string | undefined;\r\n madinhdanhtinh?: string | undefined;\r\n ngayhhl?: Date | undefined;\r\n ngayhl?: Date | undefined;\r\n tendbhc?: string | undefined;\r\n}\r\n\r\nexport class DmdvhanhchinhEntityApiResponse implements IDmdvhanhchinhEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmdvhanhchinhEntity;\r\n\r\n constructor(data?: IDmdvhanhchinhEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmdvhanhchinhEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmdvhanhchinhEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmdvhanhchinhEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmdvhanhchinhEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmdvhanhchinhEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmdvhanhchinhEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmdvhanhchinhEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmdvhanhchinhEntity;\r\n}\r\n\r\nexport class DmdvhanhchinhEntityIEnumerableApiResponse implements IDmdvhanhchinhEntityIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmdvhanhchinhEntity[] | undefined;\r\n\r\n constructor(data?: IDmdvhanhchinhEntityIEnumerableApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new DmdvhanhchinhEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(DmdvhanhchinhEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmdvhanhchinhEntityIEnumerableApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmdvhanhchinhEntityIEnumerableApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): DmdvhanhchinhEntityIEnumerableApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmdvhanhchinhEntityIEnumerableApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmdvhanhchinhEntityIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmdvhanhchinhEntity[] | undefined;\r\n}\r\n\r\nexport class DmgddtvnEntity implements IDmgddtvnEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n cap?: number | undefined;\r\n coquanbanhanhqd?: string | undefined;\r\n id?: number;\r\n ma?: string | undefined;\r\n ngaybanhanhqd?: Date | undefined;\r\n noidung?: string | undefined;\r\n qdbanhanhqdsuadoi?: string | undefined;\r\n tengoi?: string | undefined;\r\n tentiengeng?: string | undefined;\r\n tentiengviet?: string | undefined;\r\n\r\n constructor(data?: IDmgddtvnEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.cap = _data[\"cap\"];\r\n this.coquanbanhanhqd = _data[\"coquanbanhanhqd\"];\r\n this.id = _data[\"id\"];\r\n this.ma = _data[\"ma\"];\r\n this.ngaybanhanhqd = _data[\"ngaybanhanhqd\"] ? new Date(_data[\"ngaybanhanhqd\"].toString()) : undefined;\r\n this.noidung = _data[\"noidung\"];\r\n this.qdbanhanhqdsuadoi = _data[\"qdbanhanhqdsuadoi\"];\r\n this.tengoi = _data[\"tengoi\"];\r\n this.tentiengeng = _data[\"tentiengeng\"];\r\n this.tentiengviet = _data[\"tentiengviet\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmgddtvnEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmgddtvnEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"cap\"] = this.cap;\r\n data[\"coquanbanhanhqd\"] = this.coquanbanhanhqd;\r\n data[\"id\"] = this.id;\r\n data[\"ma\"] = this.ma;\r\n data[\"ngaybanhanhqd\"] = this.ngaybanhanhqd ? this.ngaybanhanhqd.toISOString() : undefined;\r\n data[\"noidung\"] = this.noidung;\r\n data[\"qdbanhanhqdsuadoi\"] = this.qdbanhanhqdsuadoi;\r\n data[\"tengoi\"] = this.tengoi;\r\n data[\"tentiengeng\"] = this.tentiengeng;\r\n data[\"tentiengviet\"] = this.tentiengviet;\r\n return data; \r\n }\r\n\r\n clone(): DmgddtvnEntity {\r\n const json = this.toJSON();\r\n let result = new DmgddtvnEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmgddtvnEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n cap?: number | undefined;\r\n coquanbanhanhqd?: string | undefined;\r\n id?: number;\r\n ma?: string | undefined;\r\n ngaybanhanhqd?: Date | undefined;\r\n noidung?: string | undefined;\r\n qdbanhanhqdsuadoi?: string | undefined;\r\n tengoi?: string | undefined;\r\n tentiengeng?: string | undefined;\r\n tentiengviet?: string | undefined;\r\n}\r\n\r\nexport class DmgddtvnEntityApiResponse implements IDmgddtvnEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmgddtvnEntity;\r\n\r\n constructor(data?: IDmgddtvnEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmgddtvnEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmgddtvnEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmgddtvnEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmgddtvnEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmgddtvnEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmgddtvnEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmgddtvnEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmgddtvnEntity;\r\n}\r\n\r\nexport class DmgioitinhEntity implements IDmgioitinhEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhquyetdinh?: string | undefined;\r\n id?: number;\r\n magioitinh?: string | undefined;\r\n ngaybanhanhquyetdinh?: Date | undefined;\r\n qdbanhanhsuadoi?: string | undefined;\r\n tengioitinh?: string | undefined;\r\n\r\n constructor(data?: IDmgioitinhEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.coquanbanhanhquyetdinh = _data[\"coquanbanhanhquyetdinh\"];\r\n this.id = _data[\"id\"];\r\n this.magioitinh = _data[\"magioitinh\"];\r\n this.ngaybanhanhquyetdinh = _data[\"ngaybanhanhquyetdinh\"] ? new Date(_data[\"ngaybanhanhquyetdinh\"].toString()) : undefined;\r\n this.qdbanhanhsuadoi = _data[\"qdbanhanhsuadoi\"];\r\n this.tengioitinh = _data[\"tengioitinh\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmgioitinhEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmgioitinhEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"coquanbanhanhquyetdinh\"] = this.coquanbanhanhquyetdinh;\r\n data[\"id\"] = this.id;\r\n data[\"magioitinh\"] = this.magioitinh;\r\n data[\"ngaybanhanhquyetdinh\"] = this.ngaybanhanhquyetdinh ? this.ngaybanhanhquyetdinh.toISOString() : undefined;\r\n data[\"qdbanhanhsuadoi\"] = this.qdbanhanhsuadoi;\r\n data[\"tengioitinh\"] = this.tengioitinh;\r\n return data; \r\n }\r\n\r\n clone(): DmgioitinhEntity {\r\n const json = this.toJSON();\r\n let result = new DmgioitinhEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmgioitinhEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhquyetdinh?: string | undefined;\r\n id?: number;\r\n magioitinh?: string | undefined;\r\n ngaybanhanhquyetdinh?: Date | undefined;\r\n qdbanhanhsuadoi?: string | undefined;\r\n tengioitinh?: string | undefined;\r\n}\r\n\r\nexport class DmgioitinhEntityApiResponse implements IDmgioitinhEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmgioitinhEntity;\r\n\r\n constructor(data?: IDmgioitinhEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmgioitinhEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmgioitinhEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmgioitinhEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmgioitinhEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmgioitinhEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmgioitinhEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmgioitinhEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmgioitinhEntity;\r\n}\r\n\r\nexport class DmhesoluongvungEntity implements IDmhesoluongvungEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhqd?: string | undefined;\r\n id?: number;\r\n ma?: string | undefined;\r\n mucluongnamhientai?: number | undefined;\r\n mucluongnamtruocdo?: number | undefined;\r\n ngaybanhanhqd?: Date | undefined;\r\n qdbanhanhqdsuadoi?: string | undefined;\r\n vung?: string | undefined;\r\n\r\n constructor(data?: IDmhesoluongvungEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.coquanbanhanhqd = _data[\"coquanbanhanhqd\"];\r\n this.id = _data[\"id\"];\r\n this.ma = _data[\"ma\"];\r\n this.mucluongnamhientai = _data[\"mucluongnamhientai\"];\r\n this.mucluongnamtruocdo = _data[\"mucluongnamtruocdo\"];\r\n this.ngaybanhanhqd = _data[\"ngaybanhanhqd\"] ? new Date(_data[\"ngaybanhanhqd\"].toString()) : undefined;\r\n this.qdbanhanhqdsuadoi = _data[\"qdbanhanhqdsuadoi\"];\r\n this.vung = _data[\"vung\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmhesoluongvungEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmhesoluongvungEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"coquanbanhanhqd\"] = this.coquanbanhanhqd;\r\n data[\"id\"] = this.id;\r\n data[\"ma\"] = this.ma;\r\n data[\"mucluongnamhientai\"] = this.mucluongnamhientai;\r\n data[\"mucluongnamtruocdo\"] = this.mucluongnamtruocdo;\r\n data[\"ngaybanhanhqd\"] = this.ngaybanhanhqd ? this.ngaybanhanhqd.toISOString() : undefined;\r\n data[\"qdbanhanhqdsuadoi\"] = this.qdbanhanhqdsuadoi;\r\n data[\"vung\"] = this.vung;\r\n return data; \r\n }\r\n\r\n clone(): DmhesoluongvungEntity {\r\n const json = this.toJSON();\r\n let result = new DmhesoluongvungEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmhesoluongvungEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhqd?: string | undefined;\r\n id?: number;\r\n ma?: string | undefined;\r\n mucluongnamhientai?: number | undefined;\r\n mucluongnamtruocdo?: number | undefined;\r\n ngaybanhanhqd?: Date | undefined;\r\n qdbanhanhqdsuadoi?: string | undefined;\r\n vung?: string | undefined;\r\n}\r\n\r\nexport class DmhesoluongvungEntityApiResponse implements IDmhesoluongvungEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmhesoluongvungEntity;\r\n\r\n constructor(data?: IDmhesoluongvungEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmhesoluongvungEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmhesoluongvungEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmhesoluongvungEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmhesoluongvungEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmhesoluongvungEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmhesoluongvungEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmhesoluongvungEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmhesoluongvungEntity;\r\n}\r\n\r\nexport class DmloaicongchucEntity implements IDmloaicongchucEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhqd?: string | undefined;\r\n id?: number;\r\n maloaicongchuc?: string | undefined;\r\n ngaybanhanh?: Date | undefined;\r\n qdbanhanhqdsuadoi?: string | undefined;\r\n tendanhmuc?: string | undefined;\r\n\r\n constructor(data?: IDmloaicongchucEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.coquanbanhanhqd = _data[\"coquanbanhanhqd\"];\r\n this.id = _data[\"id\"];\r\n this.maloaicongchuc = _data[\"maloaicongchuc\"];\r\n this.ngaybanhanh = _data[\"ngaybanhanh\"] ? new Date(_data[\"ngaybanhanh\"].toString()) : undefined;\r\n this.qdbanhanhqdsuadoi = _data[\"qdbanhanhqdsuadoi\"];\r\n this.tendanhmuc = _data[\"tendanhmuc\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmloaicongchucEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmloaicongchucEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"coquanbanhanhqd\"] = this.coquanbanhanhqd;\r\n data[\"id\"] = this.id;\r\n data[\"maloaicongchuc\"] = this.maloaicongchuc;\r\n data[\"ngaybanhanh\"] = this.ngaybanhanh ? this.ngaybanhanh.toISOString() : undefined;\r\n data[\"qdbanhanhqdsuadoi\"] = this.qdbanhanhqdsuadoi;\r\n data[\"tendanhmuc\"] = this.tendanhmuc;\r\n return data; \r\n }\r\n\r\n clone(): DmloaicongchucEntity {\r\n const json = this.toJSON();\r\n let result = new DmloaicongchucEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmloaicongchucEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhqd?: string | undefined;\r\n id?: number;\r\n maloaicongchuc?: string | undefined;\r\n ngaybanhanh?: Date | undefined;\r\n qdbanhanhqdsuadoi?: string | undefined;\r\n tendanhmuc?: string | undefined;\r\n}\r\n\r\nexport class DmloaicongchucEntityApiResponse implements IDmloaicongchucEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmloaicongchucEntity;\r\n\r\n constructor(data?: IDmloaicongchucEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmloaicongchucEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmloaicongchucEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmloaicongchucEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmloaicongchucEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmloaicongchucEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmloaicongchucEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmloaicongchucEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmloaicongchucEntity;\r\n}\r\n\r\nexport class DmmabuuchinhEntity implements IDmmabuuchinhEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhqd?: string | undefined;\r\n email?: string | undefined;\r\n id?: number;\r\n maphuongxa?: string | undefined;\r\n maquanhuyen?: string | undefined;\r\n ngaybanhanhqd?: string | undefined;\r\n qdbanhanhqdsuadoi?: string | undefined;\r\n sodienthoai?: number | undefined;\r\n tenphuongxa?: string | undefined;\r\n website?: string | undefined;\r\n\r\n constructor(data?: IDmmabuuchinhEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.coquanbanhanhqd = _data[\"coquanbanhanhqd\"];\r\n this.email = _data[\"email\"];\r\n this.id = _data[\"id\"];\r\n this.maphuongxa = _data[\"maphuongxa\"];\r\n this.maquanhuyen = _data[\"maquanhuyen\"];\r\n this.ngaybanhanhqd = _data[\"ngaybanhanhqd\"];\r\n this.qdbanhanhqdsuadoi = _data[\"qdbanhanhqdsuadoi\"];\r\n this.sodienthoai = _data[\"sodienthoai\"];\r\n this.tenphuongxa = _data[\"tenphuongxa\"];\r\n this.website = _data[\"website\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmmabuuchinhEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmmabuuchinhEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"coquanbanhanhqd\"] = this.coquanbanhanhqd;\r\n data[\"email\"] = this.email;\r\n data[\"id\"] = this.id;\r\n data[\"maphuongxa\"] = this.maphuongxa;\r\n data[\"maquanhuyen\"] = this.maquanhuyen;\r\n data[\"ngaybanhanhqd\"] = this.ngaybanhanhqd;\r\n data[\"qdbanhanhqdsuadoi\"] = this.qdbanhanhqdsuadoi;\r\n data[\"sodienthoai\"] = this.sodienthoai;\r\n data[\"tenphuongxa\"] = this.tenphuongxa;\r\n data[\"website\"] = this.website;\r\n return data; \r\n }\r\n\r\n clone(): DmmabuuchinhEntity {\r\n const json = this.toJSON();\r\n let result = new DmmabuuchinhEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmmabuuchinhEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhqd?: string | undefined;\r\n email?: string | undefined;\r\n id?: number;\r\n maphuongxa?: string | undefined;\r\n maquanhuyen?: string | undefined;\r\n ngaybanhanhqd?: string | undefined;\r\n qdbanhanhqdsuadoi?: string | undefined;\r\n sodienthoai?: number | undefined;\r\n tenphuongxa?: string | undefined;\r\n website?: string | undefined;\r\n}\r\n\r\nexport class DmmabuuchinhEntityApiResponse implements IDmmabuuchinhEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmmabuuchinhEntity;\r\n\r\n constructor(data?: IDmmabuuchinhEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmmabuuchinhEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmmabuuchinhEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmmabuuchinhEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmmabuuchinhEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmmabuuchinhEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmmabuuchinhEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmmabuuchinhEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmmabuuchinhEntity;\r\n}\r\n\r\nexport class DmNhomluongEntity implements IDmNhomluongEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhqd?: string | undefined;\r\n iCreateBy?: string | undefined;\r\n iCreateDate?: Date | undefined;\r\n id?: number;\r\n iState?: string | undefined;\r\n iUpdateBy?: string | undefined;\r\n iUpdateDate?: Date | undefined;\r\n manhom?: string | undefined;\r\n ngaybanhanhqd?: Date;\r\n qdbanhanhqdsuadoi?: string | undefined;\r\n tennhom?: string | undefined;\r\n unitcode?: string | undefined;\r\n\r\n constructor(data?: IDmNhomluongEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.coquanbanhanhqd = _data[\"coquanbanhanhqd\"];\r\n this.iCreateBy = _data[\"iCreateBy\"];\r\n this.iCreateDate = _data[\"iCreateDate\"] ? new Date(_data[\"iCreateDate\"].toString()) : undefined;\r\n this.id = _data[\"id\"];\r\n this.iState = _data[\"iState\"];\r\n this.iUpdateBy = _data[\"iUpdateBy\"];\r\n this.iUpdateDate = _data[\"iUpdateDate\"] ? new Date(_data[\"iUpdateDate\"].toString()) : undefined;\r\n this.manhom = _data[\"manhom\"];\r\n this.ngaybanhanhqd = _data[\"ngaybanhanhqd\"] ? new Date(_data[\"ngaybanhanhqd\"].toString()) : undefined;\r\n this.qdbanhanhqdsuadoi = _data[\"qdbanhanhqdsuadoi\"];\r\n this.tennhom = _data[\"tennhom\"];\r\n this.unitcode = _data[\"unitcode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmNhomluongEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmNhomluongEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"coquanbanhanhqd\"] = this.coquanbanhanhqd;\r\n data[\"iCreateBy\"] = this.iCreateBy;\r\n data[\"iCreateDate\"] = this.iCreateDate ? this.iCreateDate.toISOString() : undefined;\r\n data[\"id\"] = this.id;\r\n data[\"iState\"] = this.iState;\r\n data[\"iUpdateBy\"] = this.iUpdateBy;\r\n data[\"iUpdateDate\"] = this.iUpdateDate ? this.iUpdateDate.toISOString() : undefined;\r\n data[\"manhom\"] = this.manhom;\r\n data[\"ngaybanhanhqd\"] = this.ngaybanhanhqd ? this.ngaybanhanhqd.toISOString() : undefined;\r\n data[\"qdbanhanhqdsuadoi\"] = this.qdbanhanhqdsuadoi;\r\n data[\"tennhom\"] = this.tennhom;\r\n data[\"unitcode\"] = this.unitcode;\r\n return data; \r\n }\r\n\r\n clone(): DmNhomluongEntity {\r\n const json = this.toJSON();\r\n let result = new DmNhomluongEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmNhomluongEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhqd?: string | undefined;\r\n iCreateBy?: string | undefined;\r\n iCreateDate?: Date | undefined;\r\n id?: number;\r\n iState?: string | undefined;\r\n iUpdateBy?: string | undefined;\r\n iUpdateDate?: Date | undefined;\r\n manhom?: string | undefined;\r\n ngaybanhanhqd?: Date;\r\n qdbanhanhqdsuadoi?: string | undefined;\r\n tennhom?: string | undefined;\r\n unitcode?: string | undefined;\r\n}\r\n\r\nexport class DmNhomluongEntityApiResponse implements IDmNhomluongEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmNhomluongEntity;\r\n\r\n constructor(data?: IDmNhomluongEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmNhomluongEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmNhomluongEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmNhomluongEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmNhomluongEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmNhomluongEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmNhomluongEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmNhomluongEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmNhomluongEntity;\r\n}\r\n\r\nexport class DmnhommauEntity implements IDmnhommauEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhqd?: string | undefined;\r\n ghichu?: string | undefined;\r\n iCreateBy?: string | undefined;\r\n iCreateDate?: Date | undefined;\r\n id?: number;\r\n iState?: string | undefined;\r\n iUpdateBy?: string | undefined;\r\n iUpdateDate?: Date | undefined;\r\n manhommau?: string | undefined;\r\n ngaybanhanhqd?: Date | undefined;\r\n qdbanhanhqdsuadoi?: string | undefined;\r\n unitcode?: string | undefined;\r\n ynghia?: string | undefined;\r\n\r\n constructor(data?: IDmnhommauEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.coquanbanhanhqd = _data[\"coquanbanhanhqd\"];\r\n this.ghichu = _data[\"ghichu\"];\r\n this.iCreateBy = _data[\"iCreateBy\"];\r\n this.iCreateDate = _data[\"iCreateDate\"] ? new Date(_data[\"iCreateDate\"].toString()) : undefined;\r\n this.id = _data[\"id\"];\r\n this.iState = _data[\"iState\"];\r\n this.iUpdateBy = _data[\"iUpdateBy\"];\r\n this.iUpdateDate = _data[\"iUpdateDate\"] ? new Date(_data[\"iUpdateDate\"].toString()) : undefined;\r\n this.manhommau = _data[\"manhommau\"];\r\n this.ngaybanhanhqd = _data[\"ngaybanhanhqd\"] ? new Date(_data[\"ngaybanhanhqd\"].toString()) : undefined;\r\n this.qdbanhanhqdsuadoi = _data[\"qdbanhanhqdsuadoi\"];\r\n this.unitcode = _data[\"unitcode\"];\r\n this.ynghia = _data[\"ynghia\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmnhommauEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmnhommauEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"coquanbanhanhqd\"] = this.coquanbanhanhqd;\r\n data[\"ghichu\"] = this.ghichu;\r\n data[\"iCreateBy\"] = this.iCreateBy;\r\n data[\"iCreateDate\"] = this.iCreateDate ? this.iCreateDate.toISOString() : undefined;\r\n data[\"id\"] = this.id;\r\n data[\"iState\"] = this.iState;\r\n data[\"iUpdateBy\"] = this.iUpdateBy;\r\n data[\"iUpdateDate\"] = this.iUpdateDate ? this.iUpdateDate.toISOString() : undefined;\r\n data[\"manhommau\"] = this.manhommau;\r\n data[\"ngaybanhanhqd\"] = this.ngaybanhanhqd ? this.ngaybanhanhqd.toISOString() : undefined;\r\n data[\"qdbanhanhqdsuadoi\"] = this.qdbanhanhqdsuadoi;\r\n data[\"unitcode\"] = this.unitcode;\r\n data[\"ynghia\"] = this.ynghia;\r\n return data; \r\n }\r\n\r\n clone(): DmnhommauEntity {\r\n const json = this.toJSON();\r\n let result = new DmnhommauEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmnhommauEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhqd?: string | undefined;\r\n ghichu?: string | undefined;\r\n iCreateBy?: string | undefined;\r\n iCreateDate?: Date | undefined;\r\n id?: number;\r\n iState?: string | undefined;\r\n iUpdateBy?: string | undefined;\r\n iUpdateDate?: Date | undefined;\r\n manhommau?: string | undefined;\r\n ngaybanhanhqd?: Date | undefined;\r\n qdbanhanhqdsuadoi?: string | undefined;\r\n unitcode?: string | undefined;\r\n ynghia?: string | undefined;\r\n}\r\n\r\nexport class DmnhommauEntityApiResponse implements IDmnhommauEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmnhommauEntity;\r\n\r\n constructor(data?: IDmnhommauEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmnhommauEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmnhommauEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmnhommauEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmnhommauEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmnhommauEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmnhommauEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmnhommauEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmnhommauEntity;\r\n}\r\n\r\nexport class DmquocgiumEntity implements IDmquocgiumEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhqd?: string | undefined;\r\n id?: number;\r\n maalpha3?: string | undefined;\r\n maquocgia?: string | undefined;\r\n ngaybanhanhqd?: Date | undefined;\r\n nnhcalpha2?: string | undefined;\r\n nnhcalpha3?: string | undefined;\r\n nuocdoclap?: string | undefined;\r\n qdbanhanhqd?: string | undefined;\r\n tendaydueng?: string | undefined;\r\n tendayduvie?: string | undefined;\r\n tendpvietgon?: string | undefined;\r\n tenvietgoneng?: string | undefined;\r\n tenvietgonvie?: string | undefined;\r\n\r\n constructor(data?: IDmquocgiumEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.coquanbanhanhqd = _data[\"coquanbanhanhqd\"];\r\n this.id = _data[\"id\"];\r\n this.maalpha3 = _data[\"maalpha3\"];\r\n this.maquocgia = _data[\"maquocgia\"];\r\n this.ngaybanhanhqd = _data[\"ngaybanhanhqd\"] ? new Date(_data[\"ngaybanhanhqd\"].toString()) : undefined;\r\n this.nnhcalpha2 = _data[\"nnhcalpha2\"];\r\n this.nnhcalpha3 = _data[\"nnhcalpha3\"];\r\n this.nuocdoclap = _data[\"nuocdoclap\"];\r\n this.qdbanhanhqd = _data[\"qdbanhanhqd\"];\r\n this.tendaydueng = _data[\"tendaydueng\"];\r\n this.tendayduvie = _data[\"tendayduvie\"];\r\n this.tendpvietgon = _data[\"tendpvietgon\"];\r\n this.tenvietgoneng = _data[\"tenvietgoneng\"];\r\n this.tenvietgonvie = _data[\"tenvietgonvie\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmquocgiumEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmquocgiumEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"coquanbanhanhqd\"] = this.coquanbanhanhqd;\r\n data[\"id\"] = this.id;\r\n data[\"maalpha3\"] = this.maalpha3;\r\n data[\"maquocgia\"] = this.maquocgia;\r\n data[\"ngaybanhanhqd\"] = this.ngaybanhanhqd ? this.ngaybanhanhqd.toISOString() : undefined;\r\n data[\"nnhcalpha2\"] = this.nnhcalpha2;\r\n data[\"nnhcalpha3\"] = this.nnhcalpha3;\r\n data[\"nuocdoclap\"] = this.nuocdoclap;\r\n data[\"qdbanhanhqd\"] = this.qdbanhanhqd;\r\n data[\"tendaydueng\"] = this.tendaydueng;\r\n data[\"tendayduvie\"] = this.tendayduvie;\r\n data[\"tendpvietgon\"] = this.tendpvietgon;\r\n data[\"tenvietgoneng\"] = this.tenvietgoneng;\r\n data[\"tenvietgonvie\"] = this.tenvietgonvie;\r\n return data; \r\n }\r\n\r\n clone(): DmquocgiumEntity {\r\n const json = this.toJSON();\r\n let result = new DmquocgiumEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmquocgiumEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhqd?: string | undefined;\r\n id?: number;\r\n maalpha3?: string | undefined;\r\n maquocgia?: string | undefined;\r\n ngaybanhanhqd?: Date | undefined;\r\n nnhcalpha2?: string | undefined;\r\n nnhcalpha3?: string | undefined;\r\n nuocdoclap?: string | undefined;\r\n qdbanhanhqd?: string | undefined;\r\n tendaydueng?: string | undefined;\r\n tendayduvie?: string | undefined;\r\n tendpvietgon?: string | undefined;\r\n tenvietgoneng?: string | undefined;\r\n tenvietgonvie?: string | undefined;\r\n}\r\n\r\nexport class DmquocgiumEntityApiResponse implements IDmquocgiumEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmquocgiumEntity;\r\n\r\n constructor(data?: IDmquocgiumEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmquocgiumEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmquocgiumEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmquocgiumEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmquocgiumEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmquocgiumEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmquocgiumEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmquocgiumEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmquocgiumEntity;\r\n}\r\n\r\nexport class DmquyphamphapluatEntity implements IDmquyphamphapluatEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhqd?: string | undefined;\r\n ghichu?: string | undefined;\r\n id?: number;\r\n maloaivanban?: string | undefined;\r\n ngaybanhanhqd?: Date | undefined;\r\n qdbanhanhqdsuadoi?: string | undefined;\r\n tenloaivanban?: string | undefined;\r\n\r\n constructor(data?: IDmquyphamphapluatEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.coquanbanhanhqd = _data[\"coquanbanhanhqd\"];\r\n this.ghichu = _data[\"ghichu\"];\r\n this.id = _data[\"id\"];\r\n this.maloaivanban = _data[\"maloaivanban\"];\r\n this.ngaybanhanhqd = _data[\"ngaybanhanhqd\"] ? new Date(_data[\"ngaybanhanhqd\"].toString()) : undefined;\r\n this.qdbanhanhqdsuadoi = _data[\"qdbanhanhqdsuadoi\"];\r\n this.tenloaivanban = _data[\"tenloaivanban\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmquyphamphapluatEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmquyphamphapluatEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"coquanbanhanhqd\"] = this.coquanbanhanhqd;\r\n data[\"ghichu\"] = this.ghichu;\r\n data[\"id\"] = this.id;\r\n data[\"maloaivanban\"] = this.maloaivanban;\r\n data[\"ngaybanhanhqd\"] = this.ngaybanhanhqd ? this.ngaybanhanhqd.toISOString() : undefined;\r\n data[\"qdbanhanhqdsuadoi\"] = this.qdbanhanhqdsuadoi;\r\n data[\"tenloaivanban\"] = this.tenloaivanban;\r\n return data; \r\n }\r\n\r\n clone(): DmquyphamphapluatEntity {\r\n const json = this.toJSON();\r\n let result = new DmquyphamphapluatEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmquyphamphapluatEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhqd?: string | undefined;\r\n ghichu?: string | undefined;\r\n id?: number;\r\n maloaivanban?: string | undefined;\r\n ngaybanhanhqd?: Date | undefined;\r\n qdbanhanhqdsuadoi?: string | undefined;\r\n tenloaivanban?: string | undefined;\r\n}\r\n\r\nexport class DmquyphamphapluatEntityApiResponse implements IDmquyphamphapluatEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmquyphamphapluatEntity;\r\n\r\n constructor(data?: IDmquyphamphapluatEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmquyphamphapluatEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmquyphamphapluatEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmquyphamphapluatEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmquyphamphapluatEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmquyphamphapluatEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmquyphamphapluatEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmquyphamphapluatEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmquyphamphapluatEntity;\r\n}\r\n\r\nexport class DmthiduakhenthuongEntity implements IDmthiduakhenthuongEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhquyetdinh?: string | undefined;\r\n id?: number;\r\n mathiduakhenthuong?: string | undefined;\r\n ngaybanhanhquyetdinh?: Date | undefined;\r\n quyetdinhbanhanhsuadoi?: string | undefined;\r\n tenthiduakhenthuong?: string | undefined;\r\n\r\n constructor(data?: IDmthiduakhenthuongEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.coquanbanhanhquyetdinh = _data[\"coquanbanhanhquyetdinh\"];\r\n this.id = _data[\"id\"];\r\n this.mathiduakhenthuong = _data[\"mathiduakhenthuong\"];\r\n this.ngaybanhanhquyetdinh = _data[\"ngaybanhanhquyetdinh\"] ? new Date(_data[\"ngaybanhanhquyetdinh\"].toString()) : undefined;\r\n this.quyetdinhbanhanhsuadoi = _data[\"quyetdinhbanhanhsuadoi\"];\r\n this.tenthiduakhenthuong = _data[\"tenthiduakhenthuong\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmthiduakhenthuongEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmthiduakhenthuongEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"coquanbanhanhquyetdinh\"] = this.coquanbanhanhquyetdinh;\r\n data[\"id\"] = this.id;\r\n data[\"mathiduakhenthuong\"] = this.mathiduakhenthuong;\r\n data[\"ngaybanhanhquyetdinh\"] = this.ngaybanhanhquyetdinh ? this.ngaybanhanhquyetdinh.toISOString() : undefined;\r\n data[\"quyetdinhbanhanhsuadoi\"] = this.quyetdinhbanhanhsuadoi;\r\n data[\"tenthiduakhenthuong\"] = this.tenthiduakhenthuong;\r\n return data; \r\n }\r\n\r\n clone(): DmthiduakhenthuongEntity {\r\n const json = this.toJSON();\r\n let result = new DmthiduakhenthuongEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmthiduakhenthuongEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhquyetdinh?: string | undefined;\r\n id?: number;\r\n mathiduakhenthuong?: string | undefined;\r\n ngaybanhanhquyetdinh?: Date | undefined;\r\n quyetdinhbanhanhsuadoi?: string | undefined;\r\n tenthiduakhenthuong?: string | undefined;\r\n}\r\n\r\nexport class DmthiduakhenthuongEntityApiResponse implements IDmthiduakhenthuongEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmthiduakhenthuongEntity;\r\n\r\n constructor(data?: IDmthiduakhenthuongEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmthiduakhenthuongEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmthiduakhenthuongEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmthiduakhenthuongEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmthiduakhenthuongEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmthiduakhenthuongEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmthiduakhenthuongEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmthiduakhenthuongEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmthiduakhenthuongEntity;\r\n}\r\n\r\nexport class DmtinhtranghonnhanEntity implements IDmtinhtranghonnhanEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhquyetdinh?: string | undefined;\r\n ghichu?: string | undefined;\r\n id?: number;\r\n matinhtranghonnhan?: string | undefined;\r\n ngaybanhanhquyetdinh?: Date | undefined;\r\n quyetdinhbanhanhsuadoi?: string | undefined;\r\n tinhtranghonnhan?: string | undefined;\r\n\r\n constructor(data?: IDmtinhtranghonnhanEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.coquanbanhanhquyetdinh = _data[\"coquanbanhanhquyetdinh\"];\r\n this.ghichu = _data[\"ghichu\"];\r\n this.id = _data[\"id\"];\r\n this.matinhtranghonnhan = _data[\"matinhtranghonnhan\"];\r\n this.ngaybanhanhquyetdinh = _data[\"ngaybanhanhquyetdinh\"] ? new Date(_data[\"ngaybanhanhquyetdinh\"].toString()) : undefined;\r\n this.quyetdinhbanhanhsuadoi = _data[\"quyetdinhbanhanhsuadoi\"];\r\n this.tinhtranghonnhan = _data[\"tinhtranghonnhan\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmtinhtranghonnhanEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmtinhtranghonnhanEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"coquanbanhanhquyetdinh\"] = this.coquanbanhanhquyetdinh;\r\n data[\"ghichu\"] = this.ghichu;\r\n data[\"id\"] = this.id;\r\n data[\"matinhtranghonnhan\"] = this.matinhtranghonnhan;\r\n data[\"ngaybanhanhquyetdinh\"] = this.ngaybanhanhquyetdinh ? this.ngaybanhanhquyetdinh.toISOString() : undefined;\r\n data[\"quyetdinhbanhanhsuadoi\"] = this.quyetdinhbanhanhsuadoi;\r\n data[\"tinhtranghonnhan\"] = this.tinhtranghonnhan;\r\n return data; \r\n }\r\n\r\n clone(): DmtinhtranghonnhanEntity {\r\n const json = this.toJSON();\r\n let result = new DmtinhtranghonnhanEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmtinhtranghonnhanEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhquyetdinh?: string | undefined;\r\n ghichu?: string | undefined;\r\n id?: number;\r\n matinhtranghonnhan?: string | undefined;\r\n ngaybanhanhquyetdinh?: Date | undefined;\r\n quyetdinhbanhanhsuadoi?: string | undefined;\r\n tinhtranghonnhan?: string | undefined;\r\n}\r\n\r\nexport class DmtinhtranghonnhanEntityApiResponse implements IDmtinhtranghonnhanEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmtinhtranghonnhanEntity;\r\n\r\n constructor(data?: IDmtinhtranghonnhanEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmtinhtranghonnhanEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmtinhtranghonnhanEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmtinhtranghonnhanEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmtinhtranghonnhanEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmtinhtranghonnhanEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmtinhtranghonnhanEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmtinhtranghonnhanEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmtinhtranghonnhanEntity;\r\n}\r\n\r\nexport class DmtongiaoEntity implements IDmtongiaoEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n cactochuctongiaochinh?: string | undefined;\r\n coquanbanhanhqd?: string | undefined;\r\n id?: number;\r\n matongiao?: string | undefined;\r\n ngaybanhanhquyetdinh?: Date | undefined;\r\n quyetdinhbanhanhsuadoi?: string | undefined;\r\n tentongiao?: string | undefined;\r\n\r\n constructor(data?: IDmtongiaoEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.cactochuctongiaochinh = _data[\"cactochuctongiaochinh\"];\r\n this.coquanbanhanhqd = _data[\"coquanbanhanhqd\"];\r\n this.id = _data[\"id\"];\r\n this.matongiao = _data[\"matongiao\"];\r\n this.ngaybanhanhquyetdinh = _data[\"ngaybanhanhquyetdinh\"] ? new Date(_data[\"ngaybanhanhquyetdinh\"].toString()) : undefined;\r\n this.quyetdinhbanhanhsuadoi = _data[\"quyetdinhbanhanhsuadoi\"];\r\n this.tentongiao = _data[\"tentongiao\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmtongiaoEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmtongiaoEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"cactochuctongiaochinh\"] = this.cactochuctongiaochinh;\r\n data[\"coquanbanhanhqd\"] = this.coquanbanhanhqd;\r\n data[\"id\"] = this.id;\r\n data[\"matongiao\"] = this.matongiao;\r\n data[\"ngaybanhanhquyetdinh\"] = this.ngaybanhanhquyetdinh ? this.ngaybanhanhquyetdinh.toISOString() : undefined;\r\n data[\"quyetdinhbanhanhsuadoi\"] = this.quyetdinhbanhanhsuadoi;\r\n data[\"tentongiao\"] = this.tentongiao;\r\n return data; \r\n }\r\n\r\n clone(): DmtongiaoEntity {\r\n const json = this.toJSON();\r\n let result = new DmtongiaoEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmtongiaoEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n cactochuctongiaochinh?: string | undefined;\r\n coquanbanhanhqd?: string | undefined;\r\n id?: number;\r\n matongiao?: string | undefined;\r\n ngaybanhanhquyetdinh?: Date | undefined;\r\n quyetdinhbanhanhsuadoi?: string | undefined;\r\n tentongiao?: string | undefined;\r\n}\r\n\r\nexport class DmtongiaoEntityApiResponse implements IDmtongiaoEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmtongiaoEntity;\r\n\r\n constructor(data?: IDmtongiaoEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmtongiaoEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmtongiaoEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmtongiaoEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmtongiaoEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmtongiaoEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmtongiaoEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmtongiaoEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmtongiaoEntity;\r\n}\r\n\r\nexport class DmTudienEntity implements IDmTudienEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n matudien?: string | undefined;\r\n tentudien?: string | undefined;\r\n trangthai?: number | undefined;\r\n type?: string | undefined;\r\n typename?: string | undefined;\r\n\r\n constructor(data?: IDmTudienEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.id = _data[\"id\"];\r\n this.matudien = _data[\"matudien\"];\r\n this.tentudien = _data[\"tentudien\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.type = _data[\"type\"];\r\n this.typename = _data[\"typename\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmTudienEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmTudienEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"id\"] = this.id;\r\n data[\"matudien\"] = this.matudien;\r\n data[\"tentudien\"] = this.tentudien;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"type\"] = this.type;\r\n data[\"typename\"] = this.typename;\r\n return data; \r\n }\r\n\r\n clone(): DmTudienEntity {\r\n const json = this.toJSON();\r\n let result = new DmTudienEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmTudienEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n matudien?: string | undefined;\r\n tentudien?: string | undefined;\r\n trangthai?: number | undefined;\r\n type?: string | undefined;\r\n typename?: string | undefined;\r\n}\r\n\r\nexport class DmTudienEntityApiResponse implements IDmTudienEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmTudienEntity;\r\n\r\n constructor(data?: IDmTudienEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmTudienEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmTudienEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmTudienEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmTudienEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmTudienEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmTudienEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmTudienEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmTudienEntity;\r\n}\r\n\r\nexport class DmTudienEntityEntityCollectionApiResponse implements IDmTudienEntityEntityCollectionApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmTudienEntity[] | undefined;\r\n\r\n constructor(data?: IDmTudienEntityEntityCollectionApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new DmTudienEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(DmTudienEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmTudienEntityEntityCollectionApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmTudienEntityEntityCollectionApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): DmTudienEntityEntityCollectionApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmTudienEntityEntityCollectionApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmTudienEntityEntityCollectionApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmTudienEntity[] | undefined;\r\n}\r\n\r\nexport class DmvanbanhanhchinhEntity implements IDmvanbanhanhchinhEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n chuviettat?: string | undefined;\r\n coquanbanhanhquyetdinh?: string | undefined;\r\n id?: number;\r\n maloaivanbanhanhchinh?: string | undefined;\r\n ngaybanhanhquyetdinh?: Date | undefined;\r\n quyetdinhbanhanhsuadoi?: string | undefined;\r\n tenloaivanbanhanhchinh?: string | undefined;\r\n\r\n constructor(data?: IDmvanbanhanhchinhEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.chuviettat = _data[\"chuviettat\"];\r\n this.coquanbanhanhquyetdinh = _data[\"coquanbanhanhquyetdinh\"];\r\n this.id = _data[\"id\"];\r\n this.maloaivanbanhanhchinh = _data[\"maloaivanbanhanhchinh\"];\r\n this.ngaybanhanhquyetdinh = _data[\"ngaybanhanhquyetdinh\"] ? new Date(_data[\"ngaybanhanhquyetdinh\"].toString()) : undefined;\r\n this.quyetdinhbanhanhsuadoi = _data[\"quyetdinhbanhanhsuadoi\"];\r\n this.tenloaivanbanhanhchinh = _data[\"tenloaivanbanhanhchinh\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmvanbanhanhchinhEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmvanbanhanhchinhEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"chuviettat\"] = this.chuviettat;\r\n data[\"coquanbanhanhquyetdinh\"] = this.coquanbanhanhquyetdinh;\r\n data[\"id\"] = this.id;\r\n data[\"maloaivanbanhanhchinh\"] = this.maloaivanbanhanhchinh;\r\n data[\"ngaybanhanhquyetdinh\"] = this.ngaybanhanhquyetdinh ? this.ngaybanhanhquyetdinh.toISOString() : undefined;\r\n data[\"quyetdinhbanhanhsuadoi\"] = this.quyetdinhbanhanhsuadoi;\r\n data[\"tenloaivanbanhanhchinh\"] = this.tenloaivanbanhanhchinh;\r\n return data; \r\n }\r\n\r\n clone(): DmvanbanhanhchinhEntity {\r\n const json = this.toJSON();\r\n let result = new DmvanbanhanhchinhEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmvanbanhanhchinhEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n chuviettat?: string | undefined;\r\n coquanbanhanhquyetdinh?: string | undefined;\r\n id?: number;\r\n maloaivanbanhanhchinh?: string | undefined;\r\n ngaybanhanhquyetdinh?: Date | undefined;\r\n quyetdinhbanhanhsuadoi?: string | undefined;\r\n tenloaivanbanhanhchinh?: string | undefined;\r\n}\r\n\r\nexport class DmvanbanhanhchinhEntityApiResponse implements IDmvanbanhanhchinhEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmvanbanhanhchinhEntity;\r\n\r\n constructor(data?: IDmvanbanhanhchinhEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmvanbanhanhchinhEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmvanbanhanhchinhEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmvanbanhanhchinhEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmvanbanhanhchinhEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmvanbanhanhchinhEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmvanbanhanhchinhEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmvanbanhanhchinhEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmvanbanhanhchinhEntity;\r\n}\r\n\r\nexport class DmvanbanquydinhphapluatEntity implements IDmvanbanquydinhphapluatEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhquyetdinh?: string | undefined;\r\n id?: number;\r\n mavanbantheoquydinhphapluat?: string | undefined;\r\n ngaybanhanhquyetdinh?: Date | undefined;\r\n quyetdinhbanhanhsuadoi?: string | undefined;\r\n tenvanbantheoquydinhphapluat?: string | undefined;\r\n\r\n constructor(data?: IDmvanbanquydinhphapluatEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.coquanbanhanhquyetdinh = _data[\"coquanbanhanhquyetdinh\"];\r\n this.id = _data[\"id\"];\r\n this.mavanbantheoquydinhphapluat = _data[\"mavanbantheoquydinhphapluat\"];\r\n this.ngaybanhanhquyetdinh = _data[\"ngaybanhanhquyetdinh\"] ? new Date(_data[\"ngaybanhanhquyetdinh\"].toString()) : undefined;\r\n this.quyetdinhbanhanhsuadoi = _data[\"quyetdinhbanhanhsuadoi\"];\r\n this.tenvanbantheoquydinhphapluat = _data[\"tenvanbantheoquydinhphapluat\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmvanbanquydinhphapluatEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmvanbanquydinhphapluatEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"coquanbanhanhquyetdinh\"] = this.coquanbanhanhquyetdinh;\r\n data[\"id\"] = this.id;\r\n data[\"mavanbantheoquydinhphapluat\"] = this.mavanbantheoquydinhphapluat;\r\n data[\"ngaybanhanhquyetdinh\"] = this.ngaybanhanhquyetdinh ? this.ngaybanhanhquyetdinh.toISOString() : undefined;\r\n data[\"quyetdinhbanhanhsuadoi\"] = this.quyetdinhbanhanhsuadoi;\r\n data[\"tenvanbantheoquydinhphapluat\"] = this.tenvanbantheoquydinhphapluat;\r\n return data; \r\n }\r\n\r\n clone(): DmvanbanquydinhphapluatEntity {\r\n const json = this.toJSON();\r\n let result = new DmvanbanquydinhphapluatEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmvanbanquydinhphapluatEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhquyetdinh?: string | undefined;\r\n id?: number;\r\n mavanbantheoquydinhphapluat?: string | undefined;\r\n ngaybanhanhquyetdinh?: Date | undefined;\r\n quyetdinhbanhanhsuadoi?: string | undefined;\r\n tenvanbantheoquydinhphapluat?: string | undefined;\r\n}\r\n\r\nexport class DmvanbanquydinhphapluatEntityApiResponse implements IDmvanbanquydinhphapluatEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmvanbanquydinhphapluatEntity;\r\n\r\n constructor(data?: IDmvanbanquydinhphapluatEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmvanbanquydinhphapluatEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmvanbanquydinhphapluatEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmvanbanquydinhphapluatEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmvanbanquydinhphapluatEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmvanbanquydinhphapluatEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmvanbanquydinhphapluatEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmvanbanquydinhphapluatEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmvanbanquydinhphapluatEntity;\r\n}\r\n\r\nexport class DmynghianhommauEntity implements IDmynghianhommauEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhquyetdinh?: string | undefined;\r\n id?: number;\r\n marh?: string | undefined;\r\n ngaybanhanhquyetdinh?: Date | undefined;\r\n quyetdinhbanhanhsuadoi?: string | undefined;\r\n ynghia?: string | undefined;\r\n\r\n constructor(data?: IDmynghianhommauEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.coquanbanhanhquyetdinh = _data[\"coquanbanhanhquyetdinh\"];\r\n this.id = _data[\"id\"];\r\n this.marh = _data[\"marh\"];\r\n this.ngaybanhanhquyetdinh = _data[\"ngaybanhanhquyetdinh\"] ? new Date(_data[\"ngaybanhanhquyetdinh\"].toString()) : undefined;\r\n this.quyetdinhbanhanhsuadoi = _data[\"quyetdinhbanhanhsuadoi\"];\r\n this.ynghia = _data[\"ynghia\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmynghianhommauEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmynghianhommauEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"coquanbanhanhquyetdinh\"] = this.coquanbanhanhquyetdinh;\r\n data[\"id\"] = this.id;\r\n data[\"marh\"] = this.marh;\r\n data[\"ngaybanhanhquyetdinh\"] = this.ngaybanhanhquyetdinh ? this.ngaybanhanhquyetdinh.toISOString() : undefined;\r\n data[\"quyetdinhbanhanhsuadoi\"] = this.quyetdinhbanhanhsuadoi;\r\n data[\"ynghia\"] = this.ynghia;\r\n return data; \r\n }\r\n\r\n clone(): DmynghianhommauEntity {\r\n const json = this.toJSON();\r\n let result = new DmynghianhommauEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmynghianhommauEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n coquanbanhanhquyetdinh?: string | undefined;\r\n id?: number;\r\n marh?: string | undefined;\r\n ngaybanhanhquyetdinh?: Date | undefined;\r\n quyetdinhbanhanhsuadoi?: string | undefined;\r\n ynghia?: string | undefined;\r\n}\r\n\r\nexport class DmynghianhommauEntityApiResponse implements IDmynghianhommauEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmynghianhommauEntity;\r\n\r\n constructor(data?: IDmynghianhommauEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmynghianhommauEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmynghianhommauEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmynghianhommauEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmynghianhommauEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmynghianhommauEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmynghianhommauEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmynghianhommauEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmynghianhommauEntity;\r\n}\r\n\r\nexport enum EventAttributes {\r\n _0 = 0,\r\n _512 = 512,\r\n _1024 = 1024,\r\n}\r\n\r\nexport class EventInfo implements IEventInfo {\r\n readonly name?: string | undefined;\r\n declaringType?: Type;\r\n reflectedType?: Type;\r\n module?: Module;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n memberType?: MemberTypes;\r\n attributes?: EventAttributes;\r\n readonly isSpecialName?: boolean;\r\n addMethod?: MethodInfo;\r\n removeMethod?: MethodInfo;\r\n raiseMethod?: MethodInfo;\r\n readonly isMulticast?: boolean;\r\n eventHandlerType?: Type;\r\n\r\n constructor(data?: IEventInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType; \r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType; \r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module; \r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.addMethod = data.addMethod && !(data.addMethod).toJSON ? new MethodInfo(data.addMethod) : this.addMethod; \r\n this.removeMethod = data.removeMethod && !(data.removeMethod).toJSON ? new MethodInfo(data.removeMethod) : this.removeMethod; \r\n this.raiseMethod = data.raiseMethod && !(data.raiseMethod).toJSON ? new MethodInfo(data.raiseMethod) : this.raiseMethod; \r\n this.eventHandlerType = data.eventHandlerType && !(data.eventHandlerType).toJSON ? new Type(data.eventHandlerType) : this.eventHandlerType; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n this.memberType = _data[\"memberType\"];\r\n this.attributes = _data[\"attributes\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n this.addMethod = _data[\"addMethod\"] ? MethodInfo.fromJS(_data[\"addMethod\"]) : undefined;\r\n this.removeMethod = _data[\"removeMethod\"] ? MethodInfo.fromJS(_data[\"removeMethod\"]) : undefined;\r\n this.raiseMethod = _data[\"raiseMethod\"] ? MethodInfo.fromJS(_data[\"raiseMethod\"]) : undefined;\r\n (this).isMulticast = _data[\"isMulticast\"];\r\n this.eventHandlerType = _data[\"eventHandlerType\"] ? Type.fromJS(_data[\"eventHandlerType\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): EventInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EventInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"memberType\"] = this.memberType;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"addMethod\"] = this.addMethod ? this.addMethod.toJSON() : undefined;\r\n data[\"removeMethod\"] = this.removeMethod ? this.removeMethod.toJSON() : undefined;\r\n data[\"raiseMethod\"] = this.raiseMethod ? this.raiseMethod.toJSON() : undefined;\r\n data[\"isMulticast\"] = this.isMulticast;\r\n data[\"eventHandlerType\"] = this.eventHandlerType ? this.eventHandlerType.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): EventInfo {\r\n const json = this.toJSON();\r\n let result = new EventInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IEventInfo {\r\n name?: string | undefined;\r\n declaringType?: IType;\r\n reflectedType?: IType;\r\n module?: IModule;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n memberType?: MemberTypes;\r\n attributes?: EventAttributes;\r\n isSpecialName?: boolean;\r\n addMethod?: IMethodInfo;\r\n removeMethod?: IMethodInfo;\r\n raiseMethod?: IMethodInfo;\r\n isMulticast?: boolean;\r\n eventHandlerType?: IType;\r\n}\r\n\r\nexport enum ExOp {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n _6 = 6,\r\n _7 = 7,\r\n _8 = 8,\r\n _9 = 9,\r\n _10 = 10,\r\n _11 = 11,\r\n _12 = 12,\r\n _13 = 13,\r\n _14 = 14,\r\n _15 = 15,\r\n _16 = 16,\r\n}\r\n\r\nexport enum ExpressionElementType {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n}\r\n\r\nexport enum FieldAttributes {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n _6 = 6,\r\n _7 = 7,\r\n _16 = 16,\r\n _32 = 32,\r\n _64 = 64,\r\n _128 = 128,\r\n _256 = 256,\r\n _512 = 512,\r\n _1024 = 1024,\r\n _4096 = 4096,\r\n _8192 = 8192,\r\n _32768 = 32768,\r\n _38144 = 38144,\r\n}\r\n\r\nexport class FieldInfo implements IFieldInfo {\r\n readonly name?: string | undefined;\r\n declaringType?: Type;\r\n reflectedType?: Type;\r\n module?: Module;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n memberType?: MemberTypes;\r\n attributes?: FieldAttributes;\r\n fieldType?: Type;\r\n readonly isInitOnly?: boolean;\r\n readonly isLiteral?: boolean;\r\n readonly isNotSerialized?: boolean;\r\n readonly isPinvokeImpl?: boolean;\r\n readonly isSpecialName?: boolean;\r\n readonly isStatic?: boolean;\r\n readonly isAssembly?: boolean;\r\n readonly isFamily?: boolean;\r\n readonly isFamilyAndAssembly?: boolean;\r\n readonly isFamilyOrAssembly?: boolean;\r\n readonly isPrivate?: boolean;\r\n readonly isPublic?: boolean;\r\n readonly isSecurityCritical?: boolean;\r\n readonly isSecuritySafeCritical?: boolean;\r\n readonly isSecurityTransparent?: boolean;\r\n fieldHandle?: RuntimeFieldHandle;\r\n\r\n constructor(data?: IFieldInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType; \r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType; \r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module; \r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.fieldType = data.fieldType && !(data.fieldType).toJSON ? new Type(data.fieldType) : this.fieldType; \r\n this.fieldHandle = data.fieldHandle && !(data.fieldHandle).toJSON ? new RuntimeFieldHandle(data.fieldHandle) : this.fieldHandle; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n this.memberType = _data[\"memberType\"];\r\n this.attributes = _data[\"attributes\"];\r\n this.fieldType = _data[\"fieldType\"] ? Type.fromJS(_data[\"fieldType\"]) : undefined;\r\n (this).isInitOnly = _data[\"isInitOnly\"];\r\n (this).isLiteral = _data[\"isLiteral\"];\r\n (this).isNotSerialized = _data[\"isNotSerialized\"];\r\n (this).isPinvokeImpl = _data[\"isPinvokeImpl\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n (this).isStatic = _data[\"isStatic\"];\r\n (this).isAssembly = _data[\"isAssembly\"];\r\n (this).isFamily = _data[\"isFamily\"];\r\n (this).isFamilyAndAssembly = _data[\"isFamilyAndAssembly\"];\r\n (this).isFamilyOrAssembly = _data[\"isFamilyOrAssembly\"];\r\n (this).isPrivate = _data[\"isPrivate\"];\r\n (this).isPublic = _data[\"isPublic\"];\r\n (this).isSecurityCritical = _data[\"isSecurityCritical\"];\r\n (this).isSecuritySafeCritical = _data[\"isSecuritySafeCritical\"];\r\n (this).isSecurityTransparent = _data[\"isSecurityTransparent\"];\r\n this.fieldHandle = _data[\"fieldHandle\"] ? RuntimeFieldHandle.fromJS(_data[\"fieldHandle\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): FieldInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FieldInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"memberType\"] = this.memberType;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"fieldType\"] = this.fieldType ? this.fieldType.toJSON() : undefined;\r\n data[\"isInitOnly\"] = this.isInitOnly;\r\n data[\"isLiteral\"] = this.isLiteral;\r\n data[\"isNotSerialized\"] = this.isNotSerialized;\r\n data[\"isPinvokeImpl\"] = this.isPinvokeImpl;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"isStatic\"] = this.isStatic;\r\n data[\"isAssembly\"] = this.isAssembly;\r\n data[\"isFamily\"] = this.isFamily;\r\n data[\"isFamilyAndAssembly\"] = this.isFamilyAndAssembly;\r\n data[\"isFamilyOrAssembly\"] = this.isFamilyOrAssembly;\r\n data[\"isPrivate\"] = this.isPrivate;\r\n data[\"isPublic\"] = this.isPublic;\r\n data[\"isSecurityCritical\"] = this.isSecurityCritical;\r\n data[\"isSecuritySafeCritical\"] = this.isSecuritySafeCritical;\r\n data[\"isSecurityTransparent\"] = this.isSecurityTransparent;\r\n data[\"fieldHandle\"] = this.fieldHandle ? this.fieldHandle.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): FieldInfo {\r\n const json = this.toJSON();\r\n let result = new FieldInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFieldInfo {\r\n name?: string | undefined;\r\n declaringType?: IType;\r\n reflectedType?: IType;\r\n module?: IModule;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n memberType?: MemberTypes;\r\n attributes?: FieldAttributes;\r\n fieldType?: IType;\r\n isInitOnly?: boolean;\r\n isLiteral?: boolean;\r\n isNotSerialized?: boolean;\r\n isPinvokeImpl?: boolean;\r\n isSpecialName?: boolean;\r\n isStatic?: boolean;\r\n isAssembly?: boolean;\r\n isFamily?: boolean;\r\n isFamilyAndAssembly?: boolean;\r\n isFamilyOrAssembly?: boolean;\r\n isPrivate?: boolean;\r\n isPublic?: boolean;\r\n isSecurityCritical?: boolean;\r\n isSecuritySafeCritical?: boolean;\r\n isSecurityTransparent?: boolean;\r\n fieldHandle?: IRuntimeFieldHandle;\r\n}\r\n\r\nexport enum GenericParameterAttributes {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _8 = 8,\r\n _16 = 16,\r\n _28 = 28,\r\n}\r\n\r\nexport class IAuditor implements IIAuditor {\r\n readonly hasDataToXmlSerialize?: boolean;\r\n\r\n constructor(data?: IIAuditor) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).hasDataToXmlSerialize = _data[\"hasDataToXmlSerialize\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): IAuditor {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IAuditor();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"hasDataToXmlSerialize\"] = this.hasDataToXmlSerialize;\r\n return data; \r\n }\r\n\r\n clone(): IAuditor {\r\n const json = this.toJSON();\r\n let result = new IAuditor();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIAuditor {\r\n hasDataToXmlSerialize?: boolean;\r\n}\r\n\r\nexport class IAuthorizer implements IIAuthorizer {\r\n\r\n constructor(data?: IIAuthorizer) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): IAuthorizer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IAuthorizer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data; \r\n }\r\n\r\n clone(): IAuthorizer {\r\n const json = this.toJSON();\r\n let result = new IAuthorizer();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIAuthorizer {\r\n}\r\n\r\nexport class IConcurrencyPredicateFactory implements IIConcurrencyPredicateFactory {\r\n\r\n constructor(data?: IIConcurrencyPredicateFactory) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): IConcurrencyPredicateFactory {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IConcurrencyPredicateFactory();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data; \r\n }\r\n\r\n clone(): IConcurrencyPredicateFactory {\r\n const json = this.toJSON();\r\n let result = new IConcurrencyPredicateFactory();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIConcurrencyPredicateFactory {\r\n}\r\n\r\nexport class ICustomAttributeProvider implements IICustomAttributeProvider {\r\n\r\n constructor(data?: IICustomAttributeProvider) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): ICustomAttributeProvider {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ICustomAttributeProvider();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data; \r\n }\r\n\r\n clone(): ICustomAttributeProvider {\r\n const json = this.toJSON();\r\n let result = new ICustomAttributeProvider();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IICustomAttributeProvider {\r\n}\r\n\r\nexport class IDbSpecificCreator implements IIDbSpecificCreator {\r\n perCallCatalogNameOverwrites?: { [key: string]: string; } | undefined;\r\n perCallSchemaNameOverwrites?: { [key: string]: string; } | undefined;\r\n readonly creatingSubQuery?: boolean;\r\n factoryToUse?: DbProviderFactory;\r\n\r\n constructor(data?: IIDbSpecificCreator) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.factoryToUse = data.factoryToUse && !(data.factoryToUse).toJSON ? new DbProviderFactory(data.factoryToUse) : this.factoryToUse; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (_data[\"perCallCatalogNameOverwrites\"]) {\r\n this.perCallCatalogNameOverwrites = {} as any;\r\n for (let key in _data[\"perCallCatalogNameOverwrites\"]) {\r\n if (_data[\"perCallCatalogNameOverwrites\"].hasOwnProperty(key))\r\n (this.perCallCatalogNameOverwrites)![key] = _data[\"perCallCatalogNameOverwrites\"][key];\r\n }\r\n }\r\n if (_data[\"perCallSchemaNameOverwrites\"]) {\r\n this.perCallSchemaNameOverwrites = {} as any;\r\n for (let key in _data[\"perCallSchemaNameOverwrites\"]) {\r\n if (_data[\"perCallSchemaNameOverwrites\"].hasOwnProperty(key))\r\n (this.perCallSchemaNameOverwrites)![key] = _data[\"perCallSchemaNameOverwrites\"][key];\r\n }\r\n }\r\n (this).creatingSubQuery = _data[\"creatingSubQuery\"];\r\n this.factoryToUse = _data[\"factoryToUse\"] ? DbProviderFactory.fromJS(_data[\"factoryToUse\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): IDbSpecificCreator {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IDbSpecificCreator();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (this.perCallCatalogNameOverwrites) {\r\n data[\"perCallCatalogNameOverwrites\"] = {};\r\n for (let key in this.perCallCatalogNameOverwrites) {\r\n if (this.perCallCatalogNameOverwrites.hasOwnProperty(key))\r\n (data[\"perCallCatalogNameOverwrites\"])[key] = this.perCallCatalogNameOverwrites[key];\r\n }\r\n }\r\n if (this.perCallSchemaNameOverwrites) {\r\n data[\"perCallSchemaNameOverwrites\"] = {};\r\n for (let key in this.perCallSchemaNameOverwrites) {\r\n if (this.perCallSchemaNameOverwrites.hasOwnProperty(key))\r\n (data[\"perCallSchemaNameOverwrites\"])[key] = this.perCallSchemaNameOverwrites[key];\r\n }\r\n }\r\n data[\"creatingSubQuery\"] = this.creatingSubQuery;\r\n data[\"factoryToUse\"] = this.factoryToUse ? this.factoryToUse.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): IDbSpecificCreator {\r\n const json = this.toJSON();\r\n let result = new IDbSpecificCreator();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIDbSpecificCreator {\r\n perCallCatalogNameOverwrites?: { [key: string]: string; } | undefined;\r\n perCallSchemaNameOverwrites?: { [key: string]: string; } | undefined;\r\n creatingSubQuery?: boolean;\r\n factoryToUse?: IDbProviderFactory;\r\n}\r\n\r\nexport class IEntityFieldCore implements IIEntityFieldCore {\r\n alias?: string | undefined;\r\n currentValue?: any | undefined;\r\n readonly dbValue?: any | undefined;\r\n isChanged?: boolean;\r\n isNull?: boolean;\r\n objectAlias?: string | undefined;\r\n aggregateFunctionToApply?: AggregateFunction;\r\n expressionToApply?: IExpression;\r\n overClauseToApply?: WindowSpecification;\r\n readonly actAsDerivedTableField?: boolean;\r\n linkedSuperTypeField?: IEntityFieldCore;\r\n readonly name?: string | undefined;\r\n dataType?: Type;\r\n readonly isPrimaryKey?: boolean;\r\n readonly isNullable?: boolean;\r\n readonly fieldIndex?: number;\r\n readonly containingObjectName?: string | undefined;\r\n readonly isForeignKey?: boolean;\r\n readonly isReadOnly?: boolean;\r\n readonly maxLength?: number;\r\n readonly scale?: number;\r\n readonly precision?: number;\r\n readonly actualContainingObjectName?: string | undefined;\r\n readonly isInMultiTargetEntity?: boolean;\r\n readonly isOfEnumDataType?: boolean;\r\n realDataType?: Type;\r\n\r\n constructor(data?: IIEntityFieldCore) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.expressionToApply = data.expressionToApply && !(data.expressionToApply).toJSON ? new IExpression(data.expressionToApply) : this.expressionToApply; \r\n this.overClauseToApply = data.overClauseToApply && !(data.overClauseToApply).toJSON ? new WindowSpecification(data.overClauseToApply) : this.overClauseToApply; \r\n this.linkedSuperTypeField = data.linkedSuperTypeField && !(data.linkedSuperTypeField).toJSON ? new IEntityFieldCore(data.linkedSuperTypeField) : this.linkedSuperTypeField; \r\n this.dataType = data.dataType && !(data.dataType).toJSON ? new Type(data.dataType) : this.dataType; \r\n this.realDataType = data.realDataType && !(data.realDataType).toJSON ? new Type(data.realDataType) : this.realDataType; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.alias = _data[\"alias\"];\r\n this.currentValue = _data[\"currentValue\"];\r\n (this).dbValue = _data[\"dbValue\"];\r\n this.isChanged = _data[\"isChanged\"];\r\n this.isNull = _data[\"isNull\"];\r\n this.objectAlias = _data[\"objectAlias\"];\r\n this.aggregateFunctionToApply = _data[\"aggregateFunctionToApply\"];\r\n this.expressionToApply = _data[\"expressionToApply\"] ? IExpression.fromJS(_data[\"expressionToApply\"]) : undefined;\r\n this.overClauseToApply = _data[\"overClauseToApply\"] ? WindowSpecification.fromJS(_data[\"overClauseToApply\"]) : undefined;\r\n (this).actAsDerivedTableField = _data[\"actAsDerivedTableField\"];\r\n this.linkedSuperTypeField = _data[\"linkedSuperTypeField\"] ? IEntityFieldCore.fromJS(_data[\"linkedSuperTypeField\"]) : undefined;\r\n (this).name = _data[\"name\"];\r\n this.dataType = _data[\"dataType\"] ? Type.fromJS(_data[\"dataType\"]) : undefined;\r\n (this).isPrimaryKey = _data[\"isPrimaryKey\"];\r\n (this).isNullable = _data[\"isNullable\"];\r\n (this).fieldIndex = _data[\"fieldIndex\"];\r\n (this).containingObjectName = _data[\"containingObjectName\"];\r\n (this).isForeignKey = _data[\"isForeignKey\"];\r\n (this).isReadOnly = _data[\"isReadOnly\"];\r\n (this).maxLength = _data[\"maxLength\"];\r\n (this).scale = _data[\"scale\"];\r\n (this).precision = _data[\"precision\"];\r\n (this).actualContainingObjectName = _data[\"actualContainingObjectName\"];\r\n (this).isInMultiTargetEntity = _data[\"isInMultiTargetEntity\"];\r\n (this).isOfEnumDataType = _data[\"isOfEnumDataType\"];\r\n this.realDataType = _data[\"realDataType\"] ? Type.fromJS(_data[\"realDataType\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): IEntityFieldCore {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IEntityFieldCore();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"alias\"] = this.alias;\r\n data[\"currentValue\"] = this.currentValue;\r\n data[\"dbValue\"] = this.dbValue;\r\n data[\"isChanged\"] = this.isChanged;\r\n data[\"isNull\"] = this.isNull;\r\n data[\"objectAlias\"] = this.objectAlias;\r\n data[\"aggregateFunctionToApply\"] = this.aggregateFunctionToApply;\r\n data[\"expressionToApply\"] = this.expressionToApply ? this.expressionToApply.toJSON() : undefined;\r\n data[\"overClauseToApply\"] = this.overClauseToApply ? this.overClauseToApply.toJSON() : undefined;\r\n data[\"actAsDerivedTableField\"] = this.actAsDerivedTableField;\r\n data[\"linkedSuperTypeField\"] = this.linkedSuperTypeField ? this.linkedSuperTypeField.toJSON() : undefined;\r\n data[\"name\"] = this.name;\r\n data[\"dataType\"] = this.dataType ? this.dataType.toJSON() : undefined;\r\n data[\"isPrimaryKey\"] = this.isPrimaryKey;\r\n data[\"isNullable\"] = this.isNullable;\r\n data[\"fieldIndex\"] = this.fieldIndex;\r\n data[\"containingObjectName\"] = this.containingObjectName;\r\n data[\"isForeignKey\"] = this.isForeignKey;\r\n data[\"isReadOnly\"] = this.isReadOnly;\r\n data[\"maxLength\"] = this.maxLength;\r\n data[\"scale\"] = this.scale;\r\n data[\"precision\"] = this.precision;\r\n data[\"actualContainingObjectName\"] = this.actualContainingObjectName;\r\n data[\"isInMultiTargetEntity\"] = this.isInMultiTargetEntity;\r\n data[\"isOfEnumDataType\"] = this.isOfEnumDataType;\r\n data[\"realDataType\"] = this.realDataType ? this.realDataType.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): IEntityFieldCore {\r\n const json = this.toJSON();\r\n let result = new IEntityFieldCore();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIEntityFieldCore {\r\n alias?: string | undefined;\r\n currentValue?: any | undefined;\r\n dbValue?: any | undefined;\r\n isChanged?: boolean;\r\n isNull?: boolean;\r\n objectAlias?: string | undefined;\r\n aggregateFunctionToApply?: AggregateFunction;\r\n expressionToApply?: IIExpression;\r\n overClauseToApply?: IWindowSpecification;\r\n actAsDerivedTableField?: boolean;\r\n linkedSuperTypeField?: IIEntityFieldCore;\r\n name?: string | undefined;\r\n dataType?: IType;\r\n isPrimaryKey?: boolean;\r\n isNullable?: boolean;\r\n fieldIndex?: number;\r\n containingObjectName?: string | undefined;\r\n isForeignKey?: boolean;\r\n isReadOnly?: boolean;\r\n maxLength?: number;\r\n scale?: number;\r\n precision?: number;\r\n actualContainingObjectName?: string | undefined;\r\n isInMultiTargetEntity?: boolean;\r\n isOfEnumDataType?: boolean;\r\n realDataType?: IType;\r\n}\r\n\r\nexport class IExpression implements IIExpression {\r\n readonly parameters?: DbParameter[] | undefined;\r\n databaseSpecificCreator?: IDbSpecificCreator;\r\n leftOperand?: IExpressionElement;\r\n rightOperand?: IExpressionElement;\r\n operator?: ExOp;\r\n\r\n constructor(data?: IIExpression) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.parameters) {\r\n this.parameters = [];\r\n for (let i = 0; i < data.parameters.length; i++) {\r\n let item = data.parameters[i];\r\n this.parameters[i] = item && !(item).toJSON ? new DbParameter(item) : item;\r\n }\r\n }\r\n this.databaseSpecificCreator = data.databaseSpecificCreator && !(data.databaseSpecificCreator).toJSON ? new IDbSpecificCreator(data.databaseSpecificCreator) : this.databaseSpecificCreator; \r\n this.leftOperand = data.leftOperand && !(data.leftOperand).toJSON ? new IExpressionElement(data.leftOperand) : this.leftOperand; \r\n this.rightOperand = data.rightOperand && !(data.rightOperand).toJSON ? new IExpressionElement(data.rightOperand) : this.rightOperand; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"parameters\"])) {\r\n (this).parameters = [] as any;\r\n for (let item of _data[\"parameters\"])\r\n (this).parameters!.push(DbParameter.fromJS(item));\r\n }\r\n this.databaseSpecificCreator = _data[\"databaseSpecificCreator\"] ? IDbSpecificCreator.fromJS(_data[\"databaseSpecificCreator\"]) : undefined;\r\n this.leftOperand = _data[\"leftOperand\"] ? IExpressionElement.fromJS(_data[\"leftOperand\"]) : undefined;\r\n this.rightOperand = _data[\"rightOperand\"] ? IExpressionElement.fromJS(_data[\"rightOperand\"]) : undefined;\r\n this.operator = _data[\"operator\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): IExpression {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IExpression();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.parameters)) {\r\n data[\"parameters\"] = [];\r\n for (let item of this.parameters)\r\n data[\"parameters\"].push(item.toJSON());\r\n }\r\n data[\"databaseSpecificCreator\"] = this.databaseSpecificCreator ? this.databaseSpecificCreator.toJSON() : undefined;\r\n data[\"leftOperand\"] = this.leftOperand ? this.leftOperand.toJSON() : undefined;\r\n data[\"rightOperand\"] = this.rightOperand ? this.rightOperand.toJSON() : undefined;\r\n data[\"operator\"] = this.operator;\r\n return data; \r\n }\r\n\r\n clone(): IExpression {\r\n const json = this.toJSON();\r\n let result = new IExpression();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIExpression {\r\n parameters?: IDbParameter[] | undefined;\r\n databaseSpecificCreator?: IIDbSpecificCreator;\r\n leftOperand?: IIExpressionElement;\r\n rightOperand?: IIExpressionElement;\r\n operator?: ExOp;\r\n}\r\n\r\nexport class IExpressionElement implements IIExpressionElement {\r\n type?: ExpressionElementType;\r\n contents?: any | undefined;\r\n\r\n constructor(data?: IIExpressionElement) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.type = _data[\"type\"];\r\n this.contents = _data[\"contents\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): IExpressionElement {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IExpressionElement();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"type\"] = this.type;\r\n data[\"contents\"] = this.contents;\r\n return data; \r\n }\r\n\r\n clone(): IExpressionElement {\r\n const json = this.toJSON();\r\n let result = new IExpressionElement();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIExpressionElement {\r\n type?: ExpressionElementType;\r\n contents?: any | undefined;\r\n}\r\n\r\nexport class IntPtr implements IIntPtr {\r\n\r\n constructor(data?: IIntPtr) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): IntPtr {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IntPtr();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data; \r\n }\r\n\r\n clone(): IntPtr {\r\n const json = this.toJSON();\r\n let result = new IntPtr();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIntPtr {\r\n}\r\n\r\nexport class IValidator implements IIValidator {\r\n\r\n constructor(data?: IIValidator) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): IValidator {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IValidator();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data; \r\n }\r\n\r\n clone(): IValidator {\r\n const json = this.toJSON();\r\n let result = new IValidator();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIValidator {\r\n}\r\n\r\nexport enum LayoutKind {\r\n _0 = 0,\r\n _2 = 2,\r\n _3 = 3,\r\n}\r\n\r\nexport class LeftmenuconfigEntity implements ILeftmenuconfigEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n imgname?: string | undefined;\r\n stt?: number | undefined;\r\n type?: string | undefined;\r\n typename?: string | undefined;\r\n\r\n constructor(data?: ILeftmenuconfigEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.imgname = _data[\"imgname\"];\r\n this.stt = _data[\"stt\"];\r\n this.type = _data[\"type\"];\r\n this.typename = _data[\"typename\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LeftmenuconfigEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LeftmenuconfigEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"imgname\"] = this.imgname;\r\n data[\"stt\"] = this.stt;\r\n data[\"type\"] = this.type;\r\n data[\"typename\"] = this.typename;\r\n return data; \r\n }\r\n\r\n clone(): LeftmenuconfigEntity {\r\n const json = this.toJSON();\r\n let result = new LeftmenuconfigEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILeftmenuconfigEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n imgname?: string | undefined;\r\n stt?: number | undefined;\r\n type?: string | undefined;\r\n typename?: string | undefined;\r\n}\r\n\r\nexport class LeftmenuconfigEntityEntityCollectionApiResponse implements ILeftmenuconfigEntityEntityCollectionApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: LeftmenuconfigEntity[] | undefined;\r\n\r\n constructor(data?: ILeftmenuconfigEntityEntityCollectionApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new LeftmenuconfigEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(LeftmenuconfigEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LeftmenuconfigEntityEntityCollectionApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LeftmenuconfigEntityEntityCollectionApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): LeftmenuconfigEntityEntityCollectionApiResponse {\r\n const json = this.toJSON();\r\n let result = new LeftmenuconfigEntityEntityCollectionApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILeftmenuconfigEntityEntityCollectionApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ILeftmenuconfigEntity[] | undefined;\r\n}\r\n\r\nexport class MemberInfo implements IMemberInfo {\r\n memberType?: MemberTypes;\r\n declaringType?: Type;\r\n reflectedType?: Type;\r\n readonly name?: string | undefined;\r\n module?: Module;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n\r\n constructor(data?: IMemberInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType; \r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType; \r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module; \r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberType = _data[\"memberType\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n (this).name = _data[\"name\"];\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MemberInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MemberInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberType\"] = this.memberType;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"name\"] = this.name;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n return data; \r\n }\r\n\r\n clone(): MemberInfo {\r\n const json = this.toJSON();\r\n let result = new MemberInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IMemberInfo {\r\n memberType?: MemberTypes;\r\n declaringType?: IType;\r\n reflectedType?: IType;\r\n name?: string | undefined;\r\n module?: IModule;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n}\r\n\r\nexport enum MemberTypes {\r\n _1 = 1,\r\n _2 = 2,\r\n _4 = 4,\r\n _8 = 8,\r\n _16 = 16,\r\n _32 = 32,\r\n _64 = 64,\r\n _128 = 128,\r\n _191 = 191,\r\n}\r\n\r\nexport enum MethodAttributes {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n _6 = 6,\r\n _7 = 7,\r\n _8 = 8,\r\n _16 = 16,\r\n _32 = 32,\r\n _64 = 64,\r\n _128 = 128,\r\n _256 = 256,\r\n _512 = 512,\r\n _1024 = 1024,\r\n _2048 = 2048,\r\n _4096 = 4096,\r\n _8192 = 8192,\r\n _16384 = 16384,\r\n _32768 = 32768,\r\n _53248 = 53248,\r\n}\r\n\r\nexport class MethodBase implements IMethodBase {\r\n memberType?: MemberTypes;\r\n readonly name?: string | undefined;\r\n declaringType?: Type;\r\n reflectedType?: Type;\r\n module?: Module;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n attributes?: MethodAttributes;\r\n methodImplementationFlags?: MethodImplAttributes;\r\n callingConvention?: CallingConventions;\r\n readonly isAbstract?: boolean;\r\n readonly isConstructor?: boolean;\r\n readonly isFinal?: boolean;\r\n readonly isHideBySig?: boolean;\r\n readonly isSpecialName?: boolean;\r\n readonly isStatic?: boolean;\r\n readonly isVirtual?: boolean;\r\n readonly isAssembly?: boolean;\r\n readonly isFamily?: boolean;\r\n readonly isFamilyAndAssembly?: boolean;\r\n readonly isFamilyOrAssembly?: boolean;\r\n readonly isPrivate?: boolean;\r\n readonly isPublic?: boolean;\r\n readonly isConstructedGenericMethod?: boolean;\r\n readonly isGenericMethod?: boolean;\r\n readonly isGenericMethodDefinition?: boolean;\r\n readonly containsGenericParameters?: boolean;\r\n methodHandle?: RuntimeMethodHandle;\r\n readonly isSecurityCritical?: boolean;\r\n readonly isSecuritySafeCritical?: boolean;\r\n readonly isSecurityTransparent?: boolean;\r\n\r\n constructor(data?: IMethodBase) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType; \r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType; \r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module; \r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.methodHandle = data.methodHandle && !(data.methodHandle).toJSON ? new RuntimeMethodHandle(data.methodHandle) : this.methodHandle; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberType = _data[\"memberType\"];\r\n (this).name = _data[\"name\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n this.attributes = _data[\"attributes\"];\r\n this.methodImplementationFlags = _data[\"methodImplementationFlags\"];\r\n this.callingConvention = _data[\"callingConvention\"];\r\n (this).isAbstract = _data[\"isAbstract\"];\r\n (this).isConstructor = _data[\"isConstructor\"];\r\n (this).isFinal = _data[\"isFinal\"];\r\n (this).isHideBySig = _data[\"isHideBySig\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n (this).isStatic = _data[\"isStatic\"];\r\n (this).isVirtual = _data[\"isVirtual\"];\r\n (this).isAssembly = _data[\"isAssembly\"];\r\n (this).isFamily = _data[\"isFamily\"];\r\n (this).isFamilyAndAssembly = _data[\"isFamilyAndAssembly\"];\r\n (this).isFamilyOrAssembly = _data[\"isFamilyOrAssembly\"];\r\n (this).isPrivate = _data[\"isPrivate\"];\r\n (this).isPublic = _data[\"isPublic\"];\r\n (this).isConstructedGenericMethod = _data[\"isConstructedGenericMethod\"];\r\n (this).isGenericMethod = _data[\"isGenericMethod\"];\r\n (this).isGenericMethodDefinition = _data[\"isGenericMethodDefinition\"];\r\n (this).containsGenericParameters = _data[\"containsGenericParameters\"];\r\n this.methodHandle = _data[\"methodHandle\"] ? RuntimeMethodHandle.fromJS(_data[\"methodHandle\"]) : undefined;\r\n (this).isSecurityCritical = _data[\"isSecurityCritical\"];\r\n (this).isSecuritySafeCritical = _data[\"isSecuritySafeCritical\"];\r\n (this).isSecurityTransparent = _data[\"isSecurityTransparent\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MethodBase {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MethodBase();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberType\"] = this.memberType;\r\n data[\"name\"] = this.name;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"methodImplementationFlags\"] = this.methodImplementationFlags;\r\n data[\"callingConvention\"] = this.callingConvention;\r\n data[\"isAbstract\"] = this.isAbstract;\r\n data[\"isConstructor\"] = this.isConstructor;\r\n data[\"isFinal\"] = this.isFinal;\r\n data[\"isHideBySig\"] = this.isHideBySig;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"isStatic\"] = this.isStatic;\r\n data[\"isVirtual\"] = this.isVirtual;\r\n data[\"isAssembly\"] = this.isAssembly;\r\n data[\"isFamily\"] = this.isFamily;\r\n data[\"isFamilyAndAssembly\"] = this.isFamilyAndAssembly;\r\n data[\"isFamilyOrAssembly\"] = this.isFamilyOrAssembly;\r\n data[\"isPrivate\"] = this.isPrivate;\r\n data[\"isPublic\"] = this.isPublic;\r\n data[\"isConstructedGenericMethod\"] = this.isConstructedGenericMethod;\r\n data[\"isGenericMethod\"] = this.isGenericMethod;\r\n data[\"isGenericMethodDefinition\"] = this.isGenericMethodDefinition;\r\n data[\"containsGenericParameters\"] = this.containsGenericParameters;\r\n data[\"methodHandle\"] = this.methodHandle ? this.methodHandle.toJSON() : undefined;\r\n data[\"isSecurityCritical\"] = this.isSecurityCritical;\r\n data[\"isSecuritySafeCritical\"] = this.isSecuritySafeCritical;\r\n data[\"isSecurityTransparent\"] = this.isSecurityTransparent;\r\n return data; \r\n }\r\n\r\n clone(): MethodBase {\r\n const json = this.toJSON();\r\n let result = new MethodBase();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IMethodBase {\r\n memberType?: MemberTypes;\r\n name?: string | undefined;\r\n declaringType?: IType;\r\n reflectedType?: IType;\r\n module?: IModule;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n attributes?: MethodAttributes;\r\n methodImplementationFlags?: MethodImplAttributes;\r\n callingConvention?: CallingConventions;\r\n isAbstract?: boolean;\r\n isConstructor?: boolean;\r\n isFinal?: boolean;\r\n isHideBySig?: boolean;\r\n isSpecialName?: boolean;\r\n isStatic?: boolean;\r\n isVirtual?: boolean;\r\n isAssembly?: boolean;\r\n isFamily?: boolean;\r\n isFamilyAndAssembly?: boolean;\r\n isFamilyOrAssembly?: boolean;\r\n isPrivate?: boolean;\r\n isPublic?: boolean;\r\n isConstructedGenericMethod?: boolean;\r\n isGenericMethod?: boolean;\r\n isGenericMethodDefinition?: boolean;\r\n containsGenericParameters?: boolean;\r\n methodHandle?: IRuntimeMethodHandle;\r\n isSecurityCritical?: boolean;\r\n isSecuritySafeCritical?: boolean;\r\n isSecurityTransparent?: boolean;\r\n}\r\n\r\nexport enum MethodImplAttributes {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _8 = 8,\r\n _16 = 16,\r\n _32 = 32,\r\n _64 = 64,\r\n _128 = 128,\r\n _256 = 256,\r\n _512 = 512,\r\n _4096 = 4096,\r\n _65535 = 65535,\r\n}\r\n\r\nexport class MethodInfo implements IMethodInfo {\r\n readonly name?: string | undefined;\r\n declaringType?: Type;\r\n reflectedType?: Type;\r\n module?: Module;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n attributes?: MethodAttributes;\r\n methodImplementationFlags?: MethodImplAttributes;\r\n callingConvention?: CallingConventions;\r\n readonly isAbstract?: boolean;\r\n readonly isConstructor?: boolean;\r\n readonly isFinal?: boolean;\r\n readonly isHideBySig?: boolean;\r\n readonly isSpecialName?: boolean;\r\n readonly isStatic?: boolean;\r\n readonly isVirtual?: boolean;\r\n readonly isAssembly?: boolean;\r\n readonly isFamily?: boolean;\r\n readonly isFamilyAndAssembly?: boolean;\r\n readonly isFamilyOrAssembly?: boolean;\r\n readonly isPrivate?: boolean;\r\n readonly isPublic?: boolean;\r\n readonly isConstructedGenericMethod?: boolean;\r\n readonly isGenericMethod?: boolean;\r\n readonly isGenericMethodDefinition?: boolean;\r\n readonly containsGenericParameters?: boolean;\r\n methodHandle?: RuntimeMethodHandle;\r\n readonly isSecurityCritical?: boolean;\r\n readonly isSecuritySafeCritical?: boolean;\r\n readonly isSecurityTransparent?: boolean;\r\n memberType?: MemberTypes;\r\n returnParameter?: ParameterInfo;\r\n returnType?: Type;\r\n returnTypeCustomAttributes?: ICustomAttributeProvider;\r\n\r\n constructor(data?: IMethodInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType; \r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType; \r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module; \r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.methodHandle = data.methodHandle && !(data.methodHandle).toJSON ? new RuntimeMethodHandle(data.methodHandle) : this.methodHandle; \r\n this.returnParameter = data.returnParameter && !(data.returnParameter).toJSON ? new ParameterInfo(data.returnParameter) : this.returnParameter; \r\n this.returnType = data.returnType && !(data.returnType).toJSON ? new Type(data.returnType) : this.returnType; \r\n this.returnTypeCustomAttributes = data.returnTypeCustomAttributes && !(data.returnTypeCustomAttributes).toJSON ? new ICustomAttributeProvider(data.returnTypeCustomAttributes) : this.returnTypeCustomAttributes; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n this.attributes = _data[\"attributes\"];\r\n this.methodImplementationFlags = _data[\"methodImplementationFlags\"];\r\n this.callingConvention = _data[\"callingConvention\"];\r\n (this).isAbstract = _data[\"isAbstract\"];\r\n (this).isConstructor = _data[\"isConstructor\"];\r\n (this).isFinal = _data[\"isFinal\"];\r\n (this).isHideBySig = _data[\"isHideBySig\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n (this).isStatic = _data[\"isStatic\"];\r\n (this).isVirtual = _data[\"isVirtual\"];\r\n (this).isAssembly = _data[\"isAssembly\"];\r\n (this).isFamily = _data[\"isFamily\"];\r\n (this).isFamilyAndAssembly = _data[\"isFamilyAndAssembly\"];\r\n (this).isFamilyOrAssembly = _data[\"isFamilyOrAssembly\"];\r\n (this).isPrivate = _data[\"isPrivate\"];\r\n (this).isPublic = _data[\"isPublic\"];\r\n (this).isConstructedGenericMethod = _data[\"isConstructedGenericMethod\"];\r\n (this).isGenericMethod = _data[\"isGenericMethod\"];\r\n (this).isGenericMethodDefinition = _data[\"isGenericMethodDefinition\"];\r\n (this).containsGenericParameters = _data[\"containsGenericParameters\"];\r\n this.methodHandle = _data[\"methodHandle\"] ? RuntimeMethodHandle.fromJS(_data[\"methodHandle\"]) : undefined;\r\n (this).isSecurityCritical = _data[\"isSecurityCritical\"];\r\n (this).isSecuritySafeCritical = _data[\"isSecuritySafeCritical\"];\r\n (this).isSecurityTransparent = _data[\"isSecurityTransparent\"];\r\n this.memberType = _data[\"memberType\"];\r\n this.returnParameter = _data[\"returnParameter\"] ? ParameterInfo.fromJS(_data[\"returnParameter\"]) : undefined;\r\n this.returnType = _data[\"returnType\"] ? Type.fromJS(_data[\"returnType\"]) : undefined;\r\n this.returnTypeCustomAttributes = _data[\"returnTypeCustomAttributes\"] ? ICustomAttributeProvider.fromJS(_data[\"returnTypeCustomAttributes\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): MethodInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MethodInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"methodImplementationFlags\"] = this.methodImplementationFlags;\r\n data[\"callingConvention\"] = this.callingConvention;\r\n data[\"isAbstract\"] = this.isAbstract;\r\n data[\"isConstructor\"] = this.isConstructor;\r\n data[\"isFinal\"] = this.isFinal;\r\n data[\"isHideBySig\"] = this.isHideBySig;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"isStatic\"] = this.isStatic;\r\n data[\"isVirtual\"] = this.isVirtual;\r\n data[\"isAssembly\"] = this.isAssembly;\r\n data[\"isFamily\"] = this.isFamily;\r\n data[\"isFamilyAndAssembly\"] = this.isFamilyAndAssembly;\r\n data[\"isFamilyOrAssembly\"] = this.isFamilyOrAssembly;\r\n data[\"isPrivate\"] = this.isPrivate;\r\n data[\"isPublic\"] = this.isPublic;\r\n data[\"isConstructedGenericMethod\"] = this.isConstructedGenericMethod;\r\n data[\"isGenericMethod\"] = this.isGenericMethod;\r\n data[\"isGenericMethodDefinition\"] = this.isGenericMethodDefinition;\r\n data[\"containsGenericParameters\"] = this.containsGenericParameters;\r\n data[\"methodHandle\"] = this.methodHandle ? this.methodHandle.toJSON() : undefined;\r\n data[\"isSecurityCritical\"] = this.isSecurityCritical;\r\n data[\"isSecuritySafeCritical\"] = this.isSecuritySafeCritical;\r\n data[\"isSecurityTransparent\"] = this.isSecurityTransparent;\r\n data[\"memberType\"] = this.memberType;\r\n data[\"returnParameter\"] = this.returnParameter ? this.returnParameter.toJSON() : undefined;\r\n data[\"returnType\"] = this.returnType ? this.returnType.toJSON() : undefined;\r\n data[\"returnTypeCustomAttributes\"] = this.returnTypeCustomAttributes ? this.returnTypeCustomAttributes.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): MethodInfo {\r\n const json = this.toJSON();\r\n let result = new MethodInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IMethodInfo {\r\n name?: string | undefined;\r\n declaringType?: IType;\r\n reflectedType?: IType;\r\n module?: IModule;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n attributes?: MethodAttributes;\r\n methodImplementationFlags?: MethodImplAttributes;\r\n callingConvention?: CallingConventions;\r\n isAbstract?: boolean;\r\n isConstructor?: boolean;\r\n isFinal?: boolean;\r\n isHideBySig?: boolean;\r\n isSpecialName?: boolean;\r\n isStatic?: boolean;\r\n isVirtual?: boolean;\r\n isAssembly?: boolean;\r\n isFamily?: boolean;\r\n isFamilyAndAssembly?: boolean;\r\n isFamilyOrAssembly?: boolean;\r\n isPrivate?: boolean;\r\n isPublic?: boolean;\r\n isConstructedGenericMethod?: boolean;\r\n isGenericMethod?: boolean;\r\n isGenericMethodDefinition?: boolean;\r\n containsGenericParameters?: boolean;\r\n methodHandle?: IRuntimeMethodHandle;\r\n isSecurityCritical?: boolean;\r\n isSecuritySafeCritical?: boolean;\r\n isSecurityTransparent?: boolean;\r\n memberType?: MemberTypes;\r\n returnParameter?: IParameterInfo;\r\n returnType?: IType;\r\n returnTypeCustomAttributes?: IICustomAttributeProvider;\r\n}\r\n\r\nexport class Module implements IModule {\r\n assembly?: Assembly;\r\n readonly fullyQualifiedName?: string | undefined;\r\n readonly name?: string | undefined;\r\n readonly mdStreamVersion?: number;\r\n readonly moduleVersionId?: string;\r\n readonly scopeName?: string | undefined;\r\n moduleHandle?: ModuleHandle;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly metadataToken?: number;\r\n\r\n constructor(data?: IModule) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.assembly = data.assembly && !(data.assembly).toJSON ? new Assembly(data.assembly) : this.assembly; \r\n this.moduleHandle = data.moduleHandle && !(data.moduleHandle).toJSON ? new ModuleHandle(data.moduleHandle) : this.moduleHandle; \r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.assembly = _data[\"assembly\"] ? Assembly.fromJS(_data[\"assembly\"]) : undefined;\r\n (this).fullyQualifiedName = _data[\"fullyQualifiedName\"];\r\n (this).name = _data[\"name\"];\r\n (this).mdStreamVersion = _data[\"mdStreamVersion\"];\r\n (this).moduleVersionId = _data[\"moduleVersionId\"];\r\n (this).scopeName = _data[\"scopeName\"];\r\n this.moduleHandle = _data[\"moduleHandle\"] ? ModuleHandle.fromJS(_data[\"moduleHandle\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Module {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Module();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"assembly\"] = this.assembly ? this.assembly.toJSON() : undefined;\r\n data[\"fullyQualifiedName\"] = this.fullyQualifiedName;\r\n data[\"name\"] = this.name;\r\n data[\"mdStreamVersion\"] = this.mdStreamVersion;\r\n data[\"moduleVersionId\"] = this.moduleVersionId;\r\n data[\"scopeName\"] = this.scopeName;\r\n data[\"moduleHandle\"] = this.moduleHandle ? this.moduleHandle.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"metadataToken\"] = this.metadataToken;\r\n return data; \r\n }\r\n\r\n clone(): Module {\r\n const json = this.toJSON();\r\n let result = new Module();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IModule {\r\n assembly?: IAssembly;\r\n fullyQualifiedName?: string | undefined;\r\n name?: string | undefined;\r\n mdStreamVersion?: number;\r\n moduleVersionId?: string;\r\n scopeName?: string | undefined;\r\n moduleHandle?: IModuleHandle;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n metadataToken?: number;\r\n}\r\n\r\nexport class ModuleHandle implements IModuleHandle {\r\n readonly mdStreamVersion?: number;\r\n\r\n constructor(data?: IModuleHandle) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).mdStreamVersion = _data[\"mdStreamVersion\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ModuleHandle {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ModuleHandle();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"mdStreamVersion\"] = this.mdStreamVersion;\r\n return data; \r\n }\r\n\r\n clone(): ModuleHandle {\r\n const json = this.toJSON();\r\n let result = new ModuleHandle();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IModuleHandle {\r\n mdStreamVersion?: number;\r\n}\r\n\r\nexport class ObjectIEnumerableApiResponse implements IObjectIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: any[] | undefined;\r\n\r\n constructor(data?: IObjectIEnumerableApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ObjectIEnumerableApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ObjectIEnumerableApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item);\r\n }\r\n return data; \r\n }\r\n\r\n clone(): ObjectIEnumerableApiResponse {\r\n const json = this.toJSON();\r\n let result = new ObjectIEnumerableApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IObjectIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: any[] | undefined;\r\n}\r\n\r\nexport class ObjectIEnumerablePageModelView implements IObjectIEnumerablePageModelView {\r\n data?: any[] | undefined;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IObjectIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(item);\r\n }\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ObjectIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ObjectIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item);\r\n }\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data; \r\n }\r\n\r\n clone(): ObjectIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new ObjectIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IObjectIEnumerablePageModelView {\r\n data?: any[] | undefined;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class ObjectIEnumerablePageModelViewApiResponse implements IObjectIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ObjectIEnumerablePageModelView;\r\n\r\n constructor(data?: IObjectIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ObjectIEnumerablePageModelView(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ObjectIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ObjectIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ObjectIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): ObjectIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new ObjectIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IObjectIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IObjectIEnumerablePageModelView;\r\n}\r\n\r\nexport class PageModel implements IPageModel {\r\n search?: string | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n condition?: string | undefined;\r\n sortColumn?: string | undefined;\r\n sortExpression?: string | undefined;\r\n status?: string | undefined;\r\n columnName?: string | undefined;\r\n\r\n constructor(data?: IPageModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.search = _data[\"search\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.condition = _data[\"condition\"];\r\n this.sortColumn = _data[\"sortColumn\"];\r\n this.sortExpression = _data[\"sortExpression\"];\r\n this.status = _data[\"status\"];\r\n this.columnName = _data[\"columnName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PageModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PageModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"search\"] = this.search;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"condition\"] = this.condition;\r\n data[\"sortColumn\"] = this.sortColumn;\r\n data[\"sortExpression\"] = this.sortExpression;\r\n data[\"status\"] = this.status;\r\n data[\"columnName\"] = this.columnName;\r\n return data; \r\n }\r\n\r\n clone(): PageModel {\r\n const json = this.toJSON();\r\n let result = new PageModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPageModel {\r\n search?: string | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n condition?: string | undefined;\r\n sortColumn?: string | undefined;\r\n sortExpression?: string | undefined;\r\n status?: string | undefined;\r\n columnName?: string | undefined;\r\n}\r\n\r\nexport enum ParameterAttributes {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _4 = 4,\r\n _8 = 8,\r\n _16 = 16,\r\n _4096 = 4096,\r\n _8192 = 8192,\r\n _16384 = 16384,\r\n _32768 = 32768,\r\n _61440 = 61440,\r\n}\r\n\r\nexport enum ParameterDirection {\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _6 = 6,\r\n}\r\n\r\nexport class ParameterInfo implements IParameterInfo {\r\n attributes?: ParameterAttributes;\r\n member?: MemberInfo;\r\n readonly name?: string | undefined;\r\n parameterType?: Type;\r\n readonly position?: number;\r\n readonly isIn?: boolean;\r\n readonly isLcid?: boolean;\r\n readonly isOptional?: boolean;\r\n readonly isOut?: boolean;\r\n readonly isRetval?: boolean;\r\n readonly defaultValue?: any | undefined;\r\n readonly rawDefaultValue?: any | undefined;\r\n readonly hasDefaultValue?: boolean;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly metadataToken?: number;\r\n\r\n constructor(data?: IParameterInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.member = data.member && !(data.member).toJSON ? new MemberInfo(data.member) : this.member; \r\n this.parameterType = data.parameterType && !(data.parameterType).toJSON ? new Type(data.parameterType) : this.parameterType; \r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.attributes = _data[\"attributes\"];\r\n this.member = _data[\"member\"] ? MemberInfo.fromJS(_data[\"member\"]) : undefined;\r\n (this).name = _data[\"name\"];\r\n this.parameterType = _data[\"parameterType\"] ? Type.fromJS(_data[\"parameterType\"]) : undefined;\r\n (this).position = _data[\"position\"];\r\n (this).isIn = _data[\"isIn\"];\r\n (this).isLcid = _data[\"isLcid\"];\r\n (this).isOptional = _data[\"isOptional\"];\r\n (this).isOut = _data[\"isOut\"];\r\n (this).isRetval = _data[\"isRetval\"];\r\n (this).defaultValue = _data[\"defaultValue\"];\r\n (this).rawDefaultValue = _data[\"rawDefaultValue\"];\r\n (this).hasDefaultValue = _data[\"hasDefaultValue\"];\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ParameterInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ParameterInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"attributes\"] = this.attributes;\r\n data[\"member\"] = this.member ? this.member.toJSON() : undefined;\r\n data[\"name\"] = this.name;\r\n data[\"parameterType\"] = this.parameterType ? this.parameterType.toJSON() : undefined;\r\n data[\"position\"] = this.position;\r\n data[\"isIn\"] = this.isIn;\r\n data[\"isLcid\"] = this.isLcid;\r\n data[\"isOptional\"] = this.isOptional;\r\n data[\"isOut\"] = this.isOut;\r\n data[\"isRetval\"] = this.isRetval;\r\n data[\"defaultValue\"] = this.defaultValue;\r\n data[\"rawDefaultValue\"] = this.rawDefaultValue;\r\n data[\"hasDefaultValue\"] = this.hasDefaultValue;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"metadataToken\"] = this.metadataToken;\r\n return data; \r\n }\r\n\r\n clone(): ParameterInfo {\r\n const json = this.toJSON();\r\n let result = new ParameterInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IParameterInfo {\r\n attributes?: ParameterAttributes;\r\n member?: IMemberInfo;\r\n name?: string | undefined;\r\n parameterType?: IType;\r\n position?: number;\r\n isIn?: boolean;\r\n isLcid?: boolean;\r\n isOptional?: boolean;\r\n isOut?: boolean;\r\n isRetval?: boolean;\r\n defaultValue?: any | undefined;\r\n rawDefaultValue?: any | undefined;\r\n hasDefaultValue?: boolean;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n metadataToken?: number;\r\n}\r\n\r\nexport enum PropertyAttributes {\r\n _0 = 0,\r\n _512 = 512,\r\n _1024 = 1024,\r\n _4096 = 4096,\r\n _8192 = 8192,\r\n _16384 = 16384,\r\n _32768 = 32768,\r\n _62464 = 62464,\r\n}\r\n\r\nexport class PropertyInfo implements IPropertyInfo {\r\n readonly name?: string | undefined;\r\n declaringType?: Type;\r\n reflectedType?: Type;\r\n module?: Module;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n memberType?: MemberTypes;\r\n propertyType?: Type;\r\n attributes?: PropertyAttributes;\r\n readonly isSpecialName?: boolean;\r\n readonly canRead?: boolean;\r\n readonly canWrite?: boolean;\r\n getMethod?: MethodInfo;\r\n setMethod?: MethodInfo;\r\n\r\n constructor(data?: IPropertyInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType; \r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType; \r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module; \r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.propertyType = data.propertyType && !(data.propertyType).toJSON ? new Type(data.propertyType) : this.propertyType; \r\n this.getMethod = data.getMethod && !(data.getMethod).toJSON ? new MethodInfo(data.getMethod) : this.getMethod; \r\n this.setMethod = data.setMethod && !(data.setMethod).toJSON ? new MethodInfo(data.setMethod) : this.setMethod; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n this.memberType = _data[\"memberType\"];\r\n this.propertyType = _data[\"propertyType\"] ? Type.fromJS(_data[\"propertyType\"]) : undefined;\r\n this.attributes = _data[\"attributes\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n (this).canRead = _data[\"canRead\"];\r\n (this).canWrite = _data[\"canWrite\"];\r\n this.getMethod = _data[\"getMethod\"] ? MethodInfo.fromJS(_data[\"getMethod\"]) : undefined;\r\n this.setMethod = _data[\"setMethod\"] ? MethodInfo.fromJS(_data[\"setMethod\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PropertyInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PropertyInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"memberType\"] = this.memberType;\r\n data[\"propertyType\"] = this.propertyType ? this.propertyType.toJSON() : undefined;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"canRead\"] = this.canRead;\r\n data[\"canWrite\"] = this.canWrite;\r\n data[\"getMethod\"] = this.getMethod ? this.getMethod.toJSON() : undefined;\r\n data[\"setMethod\"] = this.setMethod ? this.setMethod.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): PropertyInfo {\r\n const json = this.toJSON();\r\n let result = new PropertyInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPropertyInfo {\r\n name?: string | undefined;\r\n declaringType?: IType;\r\n reflectedType?: IType;\r\n module?: IModule;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n memberType?: MemberTypes;\r\n propertyType?: IType;\r\n attributes?: PropertyAttributes;\r\n isSpecialName?: boolean;\r\n canRead?: boolean;\r\n canWrite?: boolean;\r\n getMethod?: IMethodInfo;\r\n setMethod?: IMethodInfo;\r\n}\r\n\r\nexport class RuntimeFieldHandle implements IRuntimeFieldHandle {\r\n value?: IntPtr;\r\n\r\n constructor(data?: IRuntimeFieldHandle) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.value = data.value && !(data.value).toJSON ? new IntPtr(data.value) : this.value; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.value = _data[\"value\"] ? IntPtr.fromJS(_data[\"value\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): RuntimeFieldHandle {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RuntimeFieldHandle();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value ? this.value.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): RuntimeFieldHandle {\r\n const json = this.toJSON();\r\n let result = new RuntimeFieldHandle();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IRuntimeFieldHandle {\r\n value?: IIntPtr;\r\n}\r\n\r\nexport class RuntimeMethodHandle implements IRuntimeMethodHandle {\r\n value?: IntPtr;\r\n\r\n constructor(data?: IRuntimeMethodHandle) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.value = data.value && !(data.value).toJSON ? new IntPtr(data.value) : this.value; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.value = _data[\"value\"] ? IntPtr.fromJS(_data[\"value\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): RuntimeMethodHandle {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RuntimeMethodHandle();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value ? this.value.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): RuntimeMethodHandle {\r\n const json = this.toJSON();\r\n let result = new RuntimeMethodHandle();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IRuntimeMethodHandle {\r\n value?: IIntPtr;\r\n}\r\n\r\nexport class RuntimeTypeHandle implements IRuntimeTypeHandle {\r\n value?: IntPtr;\r\n\r\n constructor(data?: IRuntimeTypeHandle) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.value = data.value && !(data.value).toJSON ? new IntPtr(data.value) : this.value; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.value = _data[\"value\"] ? IntPtr.fromJS(_data[\"value\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): RuntimeTypeHandle {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RuntimeTypeHandle();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value ? this.value.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): RuntimeTypeHandle {\r\n const json = this.toJSON();\r\n let result = new RuntimeTypeHandle();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IRuntimeTypeHandle {\r\n value?: IIntPtr;\r\n}\r\n\r\nexport enum SecurityRuleSet {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n}\r\n\r\nexport class ShareModelBc implements IShareModelBc {\r\n ngaychiase?: Date | undefined;\r\n cscqnn?: number | undefined;\r\n csnd?: number | undefined;\r\n type?: string | undefined;\r\n mota?: string | undefined;\r\n\r\n constructor(data?: IShareModelBc) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.ngaychiase = _data[\"ngaychiase\"] ? new Date(_data[\"ngaychiase\"].toString()) : undefined;\r\n this.cscqnn = _data[\"cscqnn\"];\r\n this.csnd = _data[\"csnd\"];\r\n this.type = _data[\"type\"];\r\n this.mota = _data[\"mota\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ShareModelBc {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ShareModelBc();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"ngaychiase\"] = this.ngaychiase ? this.ngaychiase.toISOString() : undefined;\r\n data[\"cscqnn\"] = this.cscqnn;\r\n data[\"csnd\"] = this.csnd;\r\n data[\"type\"] = this.type;\r\n data[\"mota\"] = this.mota;\r\n return data; \r\n }\r\n\r\n clone(): ShareModelBc {\r\n const json = this.toJSON();\r\n let result = new ShareModelBc();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IShareModelBc {\r\n ngaychiase?: Date | undefined;\r\n cscqnn?: number | undefined;\r\n csnd?: number | undefined;\r\n type?: string | undefined;\r\n mota?: string | undefined;\r\n}\r\n\r\nexport class ShareModelBcApiResponse implements IShareModelBcApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ShareModelBc;\r\n\r\n constructor(data?: IShareModelBcApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ShareModelBc(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ShareModelBc.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ShareModelBcApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ShareModelBcApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): ShareModelBcApiResponse {\r\n const json = this.toJSON();\r\n let result = new ShareModelBcApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IShareModelBcApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IShareModelBc;\r\n}\r\n\r\nexport class StructLayoutAttribute implements IStructLayoutAttribute {\r\n readonly typeId?: any | undefined;\r\n value?: LayoutKind;\r\n\r\n constructor(data?: IStructLayoutAttribute) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).typeId = _data[\"typeId\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): StructLayoutAttribute {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StructLayoutAttribute();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"typeId\"] = this.typeId;\r\n data[\"value\"] = this.value;\r\n return data; \r\n }\r\n\r\n clone(): StructLayoutAttribute {\r\n const json = this.toJSON();\r\n let result = new StructLayoutAttribute();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IStructLayoutAttribute {\r\n typeId?: any | undefined;\r\n value?: LayoutKind;\r\n}\r\n\r\nexport class Type implements IType {\r\n readonly name?: string | undefined;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n readonly isInterface?: boolean;\r\n memberType?: MemberTypes;\r\n readonly namespace?: string | undefined;\r\n readonly assemblyQualifiedName?: string | undefined;\r\n readonly fullName?: string | undefined;\r\n assembly?: Assembly;\r\n module?: Module;\r\n readonly isNested?: boolean;\r\n declaringType?: Type;\r\n declaringMethod?: MethodBase;\r\n reflectedType?: Type;\r\n underlyingSystemType?: Type;\r\n readonly isTypeDefinition?: boolean;\r\n readonly isArray?: boolean;\r\n readonly isByRef?: boolean;\r\n readonly isPointer?: boolean;\r\n readonly isConstructedGenericType?: boolean;\r\n readonly isGenericParameter?: boolean;\r\n readonly isGenericTypeParameter?: boolean;\r\n readonly isGenericMethodParameter?: boolean;\r\n readonly isGenericType?: boolean;\r\n readonly isGenericTypeDefinition?: boolean;\r\n readonly isSZArray?: boolean;\r\n readonly isVariableBoundArray?: boolean;\r\n readonly isByRefLike?: boolean;\r\n readonly hasElementType?: boolean;\r\n readonly genericTypeArguments?: Type[] | undefined;\r\n readonly genericParameterPosition?: number;\r\n genericParameterAttributes?: GenericParameterAttributes;\r\n attributes?: TypeAttributes;\r\n readonly isAbstract?: boolean;\r\n readonly isImport?: boolean;\r\n readonly isSealed?: boolean;\r\n readonly isSpecialName?: boolean;\r\n readonly isClass?: boolean;\r\n readonly isNestedAssembly?: boolean;\r\n readonly isNestedFamANDAssem?: boolean;\r\n readonly isNestedFamily?: boolean;\r\n readonly isNestedFamORAssem?: boolean;\r\n readonly isNestedPrivate?: boolean;\r\n readonly isNestedPublic?: boolean;\r\n readonly isNotPublic?: boolean;\r\n readonly isPublic?: boolean;\r\n readonly isAutoLayout?: boolean;\r\n readonly isExplicitLayout?: boolean;\r\n readonly isLayoutSequential?: boolean;\r\n readonly isAnsiClass?: boolean;\r\n readonly isAutoClass?: boolean;\r\n readonly isUnicodeClass?: boolean;\r\n readonly isCOMObject?: boolean;\r\n readonly isContextful?: boolean;\r\n readonly isEnum?: boolean;\r\n readonly isMarshalByRef?: boolean;\r\n readonly isPrimitive?: boolean;\r\n readonly isValueType?: boolean;\r\n readonly isSignatureType?: boolean;\r\n readonly isSecurityCritical?: boolean;\r\n readonly isSecuritySafeCritical?: boolean;\r\n readonly isSecurityTransparent?: boolean;\r\n structLayoutAttribute?: StructLayoutAttribute;\r\n typeInitializer?: ConstructorInfo;\r\n typeHandle?: RuntimeTypeHandle;\r\n readonly guid?: string;\r\n baseType?: Type;\r\n readonly isSerializable?: boolean;\r\n readonly containsGenericParameters?: boolean;\r\n readonly isVisible?: boolean;\r\n\r\n constructor(data?: IType) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.assembly = data.assembly && !(data.assembly).toJSON ? new Assembly(data.assembly) : this.assembly; \r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module; \r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType; \r\n this.declaringMethod = data.declaringMethod && !(data.declaringMethod).toJSON ? new MethodBase(data.declaringMethod) : this.declaringMethod; \r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType; \r\n this.underlyingSystemType = data.underlyingSystemType && !(data.underlyingSystemType).toJSON ? new Type(data.underlyingSystemType) : this.underlyingSystemType; \r\n if (data.genericTypeArguments) {\r\n this.genericTypeArguments = [];\r\n for (let i = 0; i < data.genericTypeArguments.length; i++) {\r\n let item = data.genericTypeArguments[i];\r\n this.genericTypeArguments[i] = item && !(item).toJSON ? new Type(item) : item;\r\n }\r\n }\r\n this.structLayoutAttribute = data.structLayoutAttribute && !(data.structLayoutAttribute).toJSON ? new StructLayoutAttribute(data.structLayoutAttribute) : this.structLayoutAttribute; \r\n this.typeInitializer = data.typeInitializer && !(data.typeInitializer).toJSON ? new ConstructorInfo(data.typeInitializer) : this.typeInitializer; \r\n this.typeHandle = data.typeHandle && !(data.typeHandle).toJSON ? new RuntimeTypeHandle(data.typeHandle) : this.typeHandle; \r\n this.baseType = data.baseType && !(data.baseType).toJSON ? new Type(data.baseType) : this.baseType; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n (this).isInterface = _data[\"isInterface\"];\r\n this.memberType = _data[\"memberType\"];\r\n (this).namespace = _data[\"namespace\"];\r\n (this).assemblyQualifiedName = _data[\"assemblyQualifiedName\"];\r\n (this).fullName = _data[\"fullName\"];\r\n this.assembly = _data[\"assembly\"] ? Assembly.fromJS(_data[\"assembly\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n (this).isNested = _data[\"isNested\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.declaringMethod = _data[\"declaringMethod\"] ? MethodBase.fromJS(_data[\"declaringMethod\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.underlyingSystemType = _data[\"underlyingSystemType\"] ? Type.fromJS(_data[\"underlyingSystemType\"]) : undefined;\r\n (this).isTypeDefinition = _data[\"isTypeDefinition\"];\r\n (this).isArray = _data[\"isArray\"];\r\n (this).isByRef = _data[\"isByRef\"];\r\n (this).isPointer = _data[\"isPointer\"];\r\n (this).isConstructedGenericType = _data[\"isConstructedGenericType\"];\r\n (this).isGenericParameter = _data[\"isGenericParameter\"];\r\n (this).isGenericTypeParameter = _data[\"isGenericTypeParameter\"];\r\n (this).isGenericMethodParameter = _data[\"isGenericMethodParameter\"];\r\n (this).isGenericType = _data[\"isGenericType\"];\r\n (this).isGenericTypeDefinition = _data[\"isGenericTypeDefinition\"];\r\n (this).isSZArray = _data[\"isSZArray\"];\r\n (this).isVariableBoundArray = _data[\"isVariableBoundArray\"];\r\n (this).isByRefLike = _data[\"isByRefLike\"];\r\n (this).hasElementType = _data[\"hasElementType\"];\r\n if (Array.isArray(_data[\"genericTypeArguments\"])) {\r\n (this).genericTypeArguments = [] as any;\r\n for (let item of _data[\"genericTypeArguments\"])\r\n (this).genericTypeArguments!.push(Type.fromJS(item));\r\n }\r\n (this).genericParameterPosition = _data[\"genericParameterPosition\"];\r\n this.genericParameterAttributes = _data[\"genericParameterAttributes\"];\r\n this.attributes = _data[\"attributes\"];\r\n (this).isAbstract = _data[\"isAbstract\"];\r\n (this).isImport = _data[\"isImport\"];\r\n (this).isSealed = _data[\"isSealed\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n (this).isClass = _data[\"isClass\"];\r\n (this).isNestedAssembly = _data[\"isNestedAssembly\"];\r\n (this).isNestedFamANDAssem = _data[\"isNestedFamANDAssem\"];\r\n (this).isNestedFamily = _data[\"isNestedFamily\"];\r\n (this).isNestedFamORAssem = _data[\"isNestedFamORAssem\"];\r\n (this).isNestedPrivate = _data[\"isNestedPrivate\"];\r\n (this).isNestedPublic = _data[\"isNestedPublic\"];\r\n (this).isNotPublic = _data[\"isNotPublic\"];\r\n (this).isPublic = _data[\"isPublic\"];\r\n (this).isAutoLayout = _data[\"isAutoLayout\"];\r\n (this).isExplicitLayout = _data[\"isExplicitLayout\"];\r\n (this).isLayoutSequential = _data[\"isLayoutSequential\"];\r\n (this).isAnsiClass = _data[\"isAnsiClass\"];\r\n (this).isAutoClass = _data[\"isAutoClass\"];\r\n (this).isUnicodeClass = _data[\"isUnicodeClass\"];\r\n (this).isCOMObject = _data[\"isCOMObject\"];\r\n (this).isContextful = _data[\"isContextful\"];\r\n (this).isEnum = _data[\"isEnum\"];\r\n (this).isMarshalByRef = _data[\"isMarshalByRef\"];\r\n (this).isPrimitive = _data[\"isPrimitive\"];\r\n (this).isValueType = _data[\"isValueType\"];\r\n (this).isSignatureType = _data[\"isSignatureType\"];\r\n (this).isSecurityCritical = _data[\"isSecurityCritical\"];\r\n (this).isSecuritySafeCritical = _data[\"isSecuritySafeCritical\"];\r\n (this).isSecurityTransparent = _data[\"isSecurityTransparent\"];\r\n this.structLayoutAttribute = _data[\"structLayoutAttribute\"] ? StructLayoutAttribute.fromJS(_data[\"structLayoutAttribute\"]) : undefined;\r\n this.typeInitializer = _data[\"typeInitializer\"] ? ConstructorInfo.fromJS(_data[\"typeInitializer\"]) : undefined;\r\n this.typeHandle = _data[\"typeHandle\"] ? RuntimeTypeHandle.fromJS(_data[\"typeHandle\"]) : undefined;\r\n (this).guid = _data[\"guid\"];\r\n this.baseType = _data[\"baseType\"] ? Type.fromJS(_data[\"baseType\"]) : undefined;\r\n (this).isSerializable = _data[\"isSerializable\"];\r\n (this).containsGenericParameters = _data[\"containsGenericParameters\"];\r\n (this).isVisible = _data[\"isVisible\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Type {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Type();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"isInterface\"] = this.isInterface;\r\n data[\"memberType\"] = this.memberType;\r\n data[\"namespace\"] = this.namespace;\r\n data[\"assemblyQualifiedName\"] = this.assemblyQualifiedName;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"assembly\"] = this.assembly ? this.assembly.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n data[\"isNested\"] = this.isNested;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"declaringMethod\"] = this.declaringMethod ? this.declaringMethod.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"underlyingSystemType\"] = this.underlyingSystemType ? this.underlyingSystemType.toJSON() : undefined;\r\n data[\"isTypeDefinition\"] = this.isTypeDefinition;\r\n data[\"isArray\"] = this.isArray;\r\n data[\"isByRef\"] = this.isByRef;\r\n data[\"isPointer\"] = this.isPointer;\r\n data[\"isConstructedGenericType\"] = this.isConstructedGenericType;\r\n data[\"isGenericParameter\"] = this.isGenericParameter;\r\n data[\"isGenericTypeParameter\"] = this.isGenericTypeParameter;\r\n data[\"isGenericMethodParameter\"] = this.isGenericMethodParameter;\r\n data[\"isGenericType\"] = this.isGenericType;\r\n data[\"isGenericTypeDefinition\"] = this.isGenericTypeDefinition;\r\n data[\"isSZArray\"] = this.isSZArray;\r\n data[\"isVariableBoundArray\"] = this.isVariableBoundArray;\r\n data[\"isByRefLike\"] = this.isByRefLike;\r\n data[\"hasElementType\"] = this.hasElementType;\r\n if (Array.isArray(this.genericTypeArguments)) {\r\n data[\"genericTypeArguments\"] = [];\r\n for (let item of this.genericTypeArguments)\r\n data[\"genericTypeArguments\"].push(item.toJSON());\r\n }\r\n data[\"genericParameterPosition\"] = this.genericParameterPosition;\r\n data[\"genericParameterAttributes\"] = this.genericParameterAttributes;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"isAbstract\"] = this.isAbstract;\r\n data[\"isImport\"] = this.isImport;\r\n data[\"isSealed\"] = this.isSealed;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"isClass\"] = this.isClass;\r\n data[\"isNestedAssembly\"] = this.isNestedAssembly;\r\n data[\"isNestedFamANDAssem\"] = this.isNestedFamANDAssem;\r\n data[\"isNestedFamily\"] = this.isNestedFamily;\r\n data[\"isNestedFamORAssem\"] = this.isNestedFamORAssem;\r\n data[\"isNestedPrivate\"] = this.isNestedPrivate;\r\n data[\"isNestedPublic\"] = this.isNestedPublic;\r\n data[\"isNotPublic\"] = this.isNotPublic;\r\n data[\"isPublic\"] = this.isPublic;\r\n data[\"isAutoLayout\"] = this.isAutoLayout;\r\n data[\"isExplicitLayout\"] = this.isExplicitLayout;\r\n data[\"isLayoutSequential\"] = this.isLayoutSequential;\r\n data[\"isAnsiClass\"] = this.isAnsiClass;\r\n data[\"isAutoClass\"] = this.isAutoClass;\r\n data[\"isUnicodeClass\"] = this.isUnicodeClass;\r\n data[\"isCOMObject\"] = this.isCOMObject;\r\n data[\"isContextful\"] = this.isContextful;\r\n data[\"isEnum\"] = this.isEnum;\r\n data[\"isMarshalByRef\"] = this.isMarshalByRef;\r\n data[\"isPrimitive\"] = this.isPrimitive;\r\n data[\"isValueType\"] = this.isValueType;\r\n data[\"isSignatureType\"] = this.isSignatureType;\r\n data[\"isSecurityCritical\"] = this.isSecurityCritical;\r\n data[\"isSecuritySafeCritical\"] = this.isSecuritySafeCritical;\r\n data[\"isSecurityTransparent\"] = this.isSecurityTransparent;\r\n data[\"structLayoutAttribute\"] = this.structLayoutAttribute ? this.structLayoutAttribute.toJSON() : undefined;\r\n data[\"typeInitializer\"] = this.typeInitializer ? this.typeInitializer.toJSON() : undefined;\r\n data[\"typeHandle\"] = this.typeHandle ? this.typeHandle.toJSON() : undefined;\r\n data[\"guid\"] = this.guid;\r\n data[\"baseType\"] = this.baseType ? this.baseType.toJSON() : undefined;\r\n data[\"isSerializable\"] = this.isSerializable;\r\n data[\"containsGenericParameters\"] = this.containsGenericParameters;\r\n data[\"isVisible\"] = this.isVisible;\r\n return data; \r\n }\r\n\r\n clone(): Type {\r\n const json = this.toJSON();\r\n let result = new Type();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IType {\r\n name?: string | undefined;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n isInterface?: boolean;\r\n memberType?: MemberTypes;\r\n namespace?: string | undefined;\r\n assemblyQualifiedName?: string | undefined;\r\n fullName?: string | undefined;\r\n assembly?: IAssembly;\r\n module?: IModule;\r\n isNested?: boolean;\r\n declaringType?: IType;\r\n declaringMethod?: IMethodBase;\r\n reflectedType?: IType;\r\n underlyingSystemType?: IType;\r\n isTypeDefinition?: boolean;\r\n isArray?: boolean;\r\n isByRef?: boolean;\r\n isPointer?: boolean;\r\n isConstructedGenericType?: boolean;\r\n isGenericParameter?: boolean;\r\n isGenericTypeParameter?: boolean;\r\n isGenericMethodParameter?: boolean;\r\n isGenericType?: boolean;\r\n isGenericTypeDefinition?: boolean;\r\n isSZArray?: boolean;\r\n isVariableBoundArray?: boolean;\r\n isByRefLike?: boolean;\r\n hasElementType?: boolean;\r\n genericTypeArguments?: IType[] | undefined;\r\n genericParameterPosition?: number;\r\n genericParameterAttributes?: GenericParameterAttributes;\r\n attributes?: TypeAttributes;\r\n isAbstract?: boolean;\r\n isImport?: boolean;\r\n isSealed?: boolean;\r\n isSpecialName?: boolean;\r\n isClass?: boolean;\r\n isNestedAssembly?: boolean;\r\n isNestedFamANDAssem?: boolean;\r\n isNestedFamily?: boolean;\r\n isNestedFamORAssem?: boolean;\r\n isNestedPrivate?: boolean;\r\n isNestedPublic?: boolean;\r\n isNotPublic?: boolean;\r\n isPublic?: boolean;\r\n isAutoLayout?: boolean;\r\n isExplicitLayout?: boolean;\r\n isLayoutSequential?: boolean;\r\n isAnsiClass?: boolean;\r\n isAutoClass?: boolean;\r\n isUnicodeClass?: boolean;\r\n isCOMObject?: boolean;\r\n isContextful?: boolean;\r\n isEnum?: boolean;\r\n isMarshalByRef?: boolean;\r\n isPrimitive?: boolean;\r\n isValueType?: boolean;\r\n isSignatureType?: boolean;\r\n isSecurityCritical?: boolean;\r\n isSecuritySafeCritical?: boolean;\r\n isSecurityTransparent?: boolean;\r\n structLayoutAttribute?: IStructLayoutAttribute;\r\n typeInitializer?: IConstructorInfo;\r\n typeHandle?: IRuntimeTypeHandle;\r\n guid?: string;\r\n baseType?: IType;\r\n isSerializable?: boolean;\r\n containsGenericParameters?: boolean;\r\n isVisible?: boolean;\r\n}\r\n\r\nexport enum TypeAttributes {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n _6 = 6,\r\n _7 = 7,\r\n _8 = 8,\r\n _16 = 16,\r\n _24 = 24,\r\n _32 = 32,\r\n _128 = 128,\r\n _256 = 256,\r\n _1024 = 1024,\r\n _2048 = 2048,\r\n _4096 = 4096,\r\n _8192 = 8192,\r\n _16384 = 16384,\r\n _65536 = 65536,\r\n _131072 = 131072,\r\n _196608 = 196608,\r\n _262144 = 262144,\r\n _264192 = 264192,\r\n _1048576 = 1048576,\r\n _12582912 = 12582912,\r\n}\r\n\r\nexport class TypeInfo implements ITypeInfo {\r\n readonly name?: string | undefined;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n readonly isInterface?: boolean;\r\n memberType?: MemberTypes;\r\n readonly namespace?: string | undefined;\r\n readonly assemblyQualifiedName?: string | undefined;\r\n readonly fullName?: string | undefined;\r\n assembly?: Assembly;\r\n module?: Module;\r\n readonly isNested?: boolean;\r\n declaringType?: Type;\r\n declaringMethod?: MethodBase;\r\n reflectedType?: Type;\r\n underlyingSystemType?: Type;\r\n readonly isTypeDefinition?: boolean;\r\n readonly isArray?: boolean;\r\n readonly isByRef?: boolean;\r\n readonly isPointer?: boolean;\r\n readonly isConstructedGenericType?: boolean;\r\n readonly isGenericParameter?: boolean;\r\n readonly isGenericTypeParameter?: boolean;\r\n readonly isGenericMethodParameter?: boolean;\r\n readonly isGenericType?: boolean;\r\n readonly isGenericTypeDefinition?: boolean;\r\n readonly isSZArray?: boolean;\r\n readonly isVariableBoundArray?: boolean;\r\n readonly isByRefLike?: boolean;\r\n readonly hasElementType?: boolean;\r\n readonly genericTypeArguments?: Type[] | undefined;\r\n readonly genericParameterPosition?: number;\r\n genericParameterAttributes?: GenericParameterAttributes;\r\n attributes?: TypeAttributes;\r\n readonly isAbstract?: boolean;\r\n readonly isImport?: boolean;\r\n readonly isSealed?: boolean;\r\n readonly isSpecialName?: boolean;\r\n readonly isClass?: boolean;\r\n readonly isNestedAssembly?: boolean;\r\n readonly isNestedFamANDAssem?: boolean;\r\n readonly isNestedFamily?: boolean;\r\n readonly isNestedFamORAssem?: boolean;\r\n readonly isNestedPrivate?: boolean;\r\n readonly isNestedPublic?: boolean;\r\n readonly isNotPublic?: boolean;\r\n readonly isPublic?: boolean;\r\n readonly isAutoLayout?: boolean;\r\n readonly isExplicitLayout?: boolean;\r\n readonly isLayoutSequential?: boolean;\r\n readonly isAnsiClass?: boolean;\r\n readonly isAutoClass?: boolean;\r\n readonly isUnicodeClass?: boolean;\r\n readonly isCOMObject?: boolean;\r\n readonly isContextful?: boolean;\r\n readonly isEnum?: boolean;\r\n readonly isMarshalByRef?: boolean;\r\n readonly isPrimitive?: boolean;\r\n readonly isValueType?: boolean;\r\n readonly isSignatureType?: boolean;\r\n readonly isSecurityCritical?: boolean;\r\n readonly isSecuritySafeCritical?: boolean;\r\n readonly isSecurityTransparent?: boolean;\r\n structLayoutAttribute?: StructLayoutAttribute;\r\n typeInitializer?: ConstructorInfo;\r\n typeHandle?: RuntimeTypeHandle;\r\n readonly guid?: string;\r\n baseType?: Type;\r\n readonly isSerializable?: boolean;\r\n readonly containsGenericParameters?: boolean;\r\n readonly isVisible?: boolean;\r\n readonly genericTypeParameters?: Type[] | undefined;\r\n readonly declaredConstructors?: ConstructorInfo[] | undefined;\r\n readonly declaredEvents?: EventInfo[] | undefined;\r\n readonly declaredFields?: FieldInfo[] | undefined;\r\n readonly declaredMembers?: MemberInfo[] | undefined;\r\n readonly declaredMethods?: MethodInfo[] | undefined;\r\n readonly declaredNestedTypes?: TypeInfo[] | undefined;\r\n readonly declaredProperties?: PropertyInfo[] | undefined;\r\n readonly implementedInterfaces?: Type[] | undefined;\r\n\r\n constructor(data?: ITypeInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.assembly = data.assembly && !(data.assembly).toJSON ? new Assembly(data.assembly) : this.assembly; \r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module; \r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType; \r\n this.declaringMethod = data.declaringMethod && !(data.declaringMethod).toJSON ? new MethodBase(data.declaringMethod) : this.declaringMethod; \r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType; \r\n this.underlyingSystemType = data.underlyingSystemType && !(data.underlyingSystemType).toJSON ? new Type(data.underlyingSystemType) : this.underlyingSystemType; \r\n if (data.genericTypeArguments) {\r\n this.genericTypeArguments = [];\r\n for (let i = 0; i < data.genericTypeArguments.length; i++) {\r\n let item = data.genericTypeArguments[i];\r\n this.genericTypeArguments[i] = item && !(item).toJSON ? new Type(item) : item;\r\n }\r\n }\r\n this.structLayoutAttribute = data.structLayoutAttribute && !(data.structLayoutAttribute).toJSON ? new StructLayoutAttribute(data.structLayoutAttribute) : this.structLayoutAttribute; \r\n this.typeInitializer = data.typeInitializer && !(data.typeInitializer).toJSON ? new ConstructorInfo(data.typeInitializer) : this.typeInitializer; \r\n this.typeHandle = data.typeHandle && !(data.typeHandle).toJSON ? new RuntimeTypeHandle(data.typeHandle) : this.typeHandle; \r\n this.baseType = data.baseType && !(data.baseType).toJSON ? new Type(data.baseType) : this.baseType; \r\n if (data.genericTypeParameters) {\r\n this.genericTypeParameters = [];\r\n for (let i = 0; i < data.genericTypeParameters.length; i++) {\r\n let item = data.genericTypeParameters[i];\r\n this.genericTypeParameters[i] = item && !(item).toJSON ? new Type(item) : item;\r\n }\r\n }\r\n if (data.declaredConstructors) {\r\n this.declaredConstructors = [];\r\n for (let i = 0; i < data.declaredConstructors.length; i++) {\r\n let item = data.declaredConstructors[i];\r\n this.declaredConstructors[i] = item && !(item).toJSON ? new ConstructorInfo(item) : item;\r\n }\r\n }\r\n if (data.declaredEvents) {\r\n this.declaredEvents = [];\r\n for (let i = 0; i < data.declaredEvents.length; i++) {\r\n let item = data.declaredEvents[i];\r\n this.declaredEvents[i] = item && !(item).toJSON ? new EventInfo(item) : item;\r\n }\r\n }\r\n if (data.declaredFields) {\r\n this.declaredFields = [];\r\n for (let i = 0; i < data.declaredFields.length; i++) {\r\n let item = data.declaredFields[i];\r\n this.declaredFields[i] = item && !(item).toJSON ? new FieldInfo(item) : item;\r\n }\r\n }\r\n if (data.declaredMembers) {\r\n this.declaredMembers = [];\r\n for (let i = 0; i < data.declaredMembers.length; i++) {\r\n let item = data.declaredMembers[i];\r\n this.declaredMembers[i] = item && !(item).toJSON ? new MemberInfo(item) : item;\r\n }\r\n }\r\n if (data.declaredMethods) {\r\n this.declaredMethods = [];\r\n for (let i = 0; i < data.declaredMethods.length; i++) {\r\n let item = data.declaredMethods[i];\r\n this.declaredMethods[i] = item && !(item).toJSON ? new MethodInfo(item) : item;\r\n }\r\n }\r\n if (data.declaredNestedTypes) {\r\n this.declaredNestedTypes = [];\r\n for (let i = 0; i < data.declaredNestedTypes.length; i++) {\r\n let item = data.declaredNestedTypes[i];\r\n this.declaredNestedTypes[i] = item && !(item).toJSON ? new TypeInfo(item) : item;\r\n }\r\n }\r\n if (data.declaredProperties) {\r\n this.declaredProperties = [];\r\n for (let i = 0; i < data.declaredProperties.length; i++) {\r\n let item = data.declaredProperties[i];\r\n this.declaredProperties[i] = item && !(item).toJSON ? new PropertyInfo(item) : item;\r\n }\r\n }\r\n if (data.implementedInterfaces) {\r\n this.implementedInterfaces = [];\r\n for (let i = 0; i < data.implementedInterfaces.length; i++) {\r\n let item = data.implementedInterfaces[i];\r\n this.implementedInterfaces[i] = item && !(item).toJSON ? new Type(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n (this).isInterface = _data[\"isInterface\"];\r\n this.memberType = _data[\"memberType\"];\r\n (this).namespace = _data[\"namespace\"];\r\n (this).assemblyQualifiedName = _data[\"assemblyQualifiedName\"];\r\n (this).fullName = _data[\"fullName\"];\r\n this.assembly = _data[\"assembly\"] ? Assembly.fromJS(_data[\"assembly\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n (this).isNested = _data[\"isNested\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.declaringMethod = _data[\"declaringMethod\"] ? MethodBase.fromJS(_data[\"declaringMethod\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.underlyingSystemType = _data[\"underlyingSystemType\"] ? Type.fromJS(_data[\"underlyingSystemType\"]) : undefined;\r\n (this).isTypeDefinition = _data[\"isTypeDefinition\"];\r\n (this).isArray = _data[\"isArray\"];\r\n (this).isByRef = _data[\"isByRef\"];\r\n (this).isPointer = _data[\"isPointer\"];\r\n (this).isConstructedGenericType = _data[\"isConstructedGenericType\"];\r\n (this).isGenericParameter = _data[\"isGenericParameter\"];\r\n (this).isGenericTypeParameter = _data[\"isGenericTypeParameter\"];\r\n (this).isGenericMethodParameter = _data[\"isGenericMethodParameter\"];\r\n (this).isGenericType = _data[\"isGenericType\"];\r\n (this).isGenericTypeDefinition = _data[\"isGenericTypeDefinition\"];\r\n (this).isSZArray = _data[\"isSZArray\"];\r\n (this).isVariableBoundArray = _data[\"isVariableBoundArray\"];\r\n (this).isByRefLike = _data[\"isByRefLike\"];\r\n (this).hasElementType = _data[\"hasElementType\"];\r\n if (Array.isArray(_data[\"genericTypeArguments\"])) {\r\n (this).genericTypeArguments = [] as any;\r\n for (let item of _data[\"genericTypeArguments\"])\r\n (this).genericTypeArguments!.push(Type.fromJS(item));\r\n }\r\n (this).genericParameterPosition = _data[\"genericParameterPosition\"];\r\n this.genericParameterAttributes = _data[\"genericParameterAttributes\"];\r\n this.attributes = _data[\"attributes\"];\r\n (this).isAbstract = _data[\"isAbstract\"];\r\n (this).isImport = _data[\"isImport\"];\r\n (this).isSealed = _data[\"isSealed\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n (this).isClass = _data[\"isClass\"];\r\n (this).isNestedAssembly = _data[\"isNestedAssembly\"];\r\n (this).isNestedFamANDAssem = _data[\"isNestedFamANDAssem\"];\r\n (this).isNestedFamily = _data[\"isNestedFamily\"];\r\n (this).isNestedFamORAssem = _data[\"isNestedFamORAssem\"];\r\n (this).isNestedPrivate = _data[\"isNestedPrivate\"];\r\n (this).isNestedPublic = _data[\"isNestedPublic\"];\r\n (this).isNotPublic = _data[\"isNotPublic\"];\r\n (this).isPublic = _data[\"isPublic\"];\r\n (this).isAutoLayout = _data[\"isAutoLayout\"];\r\n (this).isExplicitLayout = _data[\"isExplicitLayout\"];\r\n (this).isLayoutSequential = _data[\"isLayoutSequential\"];\r\n (this).isAnsiClass = _data[\"isAnsiClass\"];\r\n (this).isAutoClass = _data[\"isAutoClass\"];\r\n (this).isUnicodeClass = _data[\"isUnicodeClass\"];\r\n (this).isCOMObject = _data[\"isCOMObject\"];\r\n (this).isContextful = _data[\"isContextful\"];\r\n (this).isEnum = _data[\"isEnum\"];\r\n (this).isMarshalByRef = _data[\"isMarshalByRef\"];\r\n (this).isPrimitive = _data[\"isPrimitive\"];\r\n (this).isValueType = _data[\"isValueType\"];\r\n (this).isSignatureType = _data[\"isSignatureType\"];\r\n (this).isSecurityCritical = _data[\"isSecurityCritical\"];\r\n (this).isSecuritySafeCritical = _data[\"isSecuritySafeCritical\"];\r\n (this).isSecurityTransparent = _data[\"isSecurityTransparent\"];\r\n this.structLayoutAttribute = _data[\"structLayoutAttribute\"] ? StructLayoutAttribute.fromJS(_data[\"structLayoutAttribute\"]) : undefined;\r\n this.typeInitializer = _data[\"typeInitializer\"] ? ConstructorInfo.fromJS(_data[\"typeInitializer\"]) : undefined;\r\n this.typeHandle = _data[\"typeHandle\"] ? RuntimeTypeHandle.fromJS(_data[\"typeHandle\"]) : undefined;\r\n (this).guid = _data[\"guid\"];\r\n this.baseType = _data[\"baseType\"] ? Type.fromJS(_data[\"baseType\"]) : undefined;\r\n (this).isSerializable = _data[\"isSerializable\"];\r\n (this).containsGenericParameters = _data[\"containsGenericParameters\"];\r\n (this).isVisible = _data[\"isVisible\"];\r\n if (Array.isArray(_data[\"genericTypeParameters\"])) {\r\n (this).genericTypeParameters = [] as any;\r\n for (let item of _data[\"genericTypeParameters\"])\r\n (this).genericTypeParameters!.push(Type.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"declaredConstructors\"])) {\r\n (this).declaredConstructors = [] as any;\r\n for (let item of _data[\"declaredConstructors\"])\r\n (this).declaredConstructors!.push(ConstructorInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"declaredEvents\"])) {\r\n (this).declaredEvents = [] as any;\r\n for (let item of _data[\"declaredEvents\"])\r\n (this).declaredEvents!.push(EventInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"declaredFields\"])) {\r\n (this).declaredFields = [] as any;\r\n for (let item of _data[\"declaredFields\"])\r\n (this).declaredFields!.push(FieldInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"declaredMembers\"])) {\r\n (this).declaredMembers = [] as any;\r\n for (let item of _data[\"declaredMembers\"])\r\n (this).declaredMembers!.push(MemberInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"declaredMethods\"])) {\r\n (this).declaredMethods = [] as any;\r\n for (let item of _data[\"declaredMethods\"])\r\n (this).declaredMethods!.push(MethodInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"declaredNestedTypes\"])) {\r\n (this).declaredNestedTypes = [] as any;\r\n for (let item of _data[\"declaredNestedTypes\"])\r\n (this).declaredNestedTypes!.push(TypeInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"declaredProperties\"])) {\r\n (this).declaredProperties = [] as any;\r\n for (let item of _data[\"declaredProperties\"])\r\n (this).declaredProperties!.push(PropertyInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"implementedInterfaces\"])) {\r\n (this).implementedInterfaces = [] as any;\r\n for (let item of _data[\"implementedInterfaces\"])\r\n (this).implementedInterfaces!.push(Type.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TypeInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TypeInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"isInterface\"] = this.isInterface;\r\n data[\"memberType\"] = this.memberType;\r\n data[\"namespace\"] = this.namespace;\r\n data[\"assemblyQualifiedName\"] = this.assemblyQualifiedName;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"assembly\"] = this.assembly ? this.assembly.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n data[\"isNested\"] = this.isNested;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"declaringMethod\"] = this.declaringMethod ? this.declaringMethod.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"underlyingSystemType\"] = this.underlyingSystemType ? this.underlyingSystemType.toJSON() : undefined;\r\n data[\"isTypeDefinition\"] = this.isTypeDefinition;\r\n data[\"isArray\"] = this.isArray;\r\n data[\"isByRef\"] = this.isByRef;\r\n data[\"isPointer\"] = this.isPointer;\r\n data[\"isConstructedGenericType\"] = this.isConstructedGenericType;\r\n data[\"isGenericParameter\"] = this.isGenericParameter;\r\n data[\"isGenericTypeParameter\"] = this.isGenericTypeParameter;\r\n data[\"isGenericMethodParameter\"] = this.isGenericMethodParameter;\r\n data[\"isGenericType\"] = this.isGenericType;\r\n data[\"isGenericTypeDefinition\"] = this.isGenericTypeDefinition;\r\n data[\"isSZArray\"] = this.isSZArray;\r\n data[\"isVariableBoundArray\"] = this.isVariableBoundArray;\r\n data[\"isByRefLike\"] = this.isByRefLike;\r\n data[\"hasElementType\"] = this.hasElementType;\r\n if (Array.isArray(this.genericTypeArguments)) {\r\n data[\"genericTypeArguments\"] = [];\r\n for (let item of this.genericTypeArguments)\r\n data[\"genericTypeArguments\"].push(item.toJSON());\r\n }\r\n data[\"genericParameterPosition\"] = this.genericParameterPosition;\r\n data[\"genericParameterAttributes\"] = this.genericParameterAttributes;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"isAbstract\"] = this.isAbstract;\r\n data[\"isImport\"] = this.isImport;\r\n data[\"isSealed\"] = this.isSealed;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"isClass\"] = this.isClass;\r\n data[\"isNestedAssembly\"] = this.isNestedAssembly;\r\n data[\"isNestedFamANDAssem\"] = this.isNestedFamANDAssem;\r\n data[\"isNestedFamily\"] = this.isNestedFamily;\r\n data[\"isNestedFamORAssem\"] = this.isNestedFamORAssem;\r\n data[\"isNestedPrivate\"] = this.isNestedPrivate;\r\n data[\"isNestedPublic\"] = this.isNestedPublic;\r\n data[\"isNotPublic\"] = this.isNotPublic;\r\n data[\"isPublic\"] = this.isPublic;\r\n data[\"isAutoLayout\"] = this.isAutoLayout;\r\n data[\"isExplicitLayout\"] = this.isExplicitLayout;\r\n data[\"isLayoutSequential\"] = this.isLayoutSequential;\r\n data[\"isAnsiClass\"] = this.isAnsiClass;\r\n data[\"isAutoClass\"] = this.isAutoClass;\r\n data[\"isUnicodeClass\"] = this.isUnicodeClass;\r\n data[\"isCOMObject\"] = this.isCOMObject;\r\n data[\"isContextful\"] = this.isContextful;\r\n data[\"isEnum\"] = this.isEnum;\r\n data[\"isMarshalByRef\"] = this.isMarshalByRef;\r\n data[\"isPrimitive\"] = this.isPrimitive;\r\n data[\"isValueType\"] = this.isValueType;\r\n data[\"isSignatureType\"] = this.isSignatureType;\r\n data[\"isSecurityCritical\"] = this.isSecurityCritical;\r\n data[\"isSecuritySafeCritical\"] = this.isSecuritySafeCritical;\r\n data[\"isSecurityTransparent\"] = this.isSecurityTransparent;\r\n data[\"structLayoutAttribute\"] = this.structLayoutAttribute ? this.structLayoutAttribute.toJSON() : undefined;\r\n data[\"typeInitializer\"] = this.typeInitializer ? this.typeInitializer.toJSON() : undefined;\r\n data[\"typeHandle\"] = this.typeHandle ? this.typeHandle.toJSON() : undefined;\r\n data[\"guid\"] = this.guid;\r\n data[\"baseType\"] = this.baseType ? this.baseType.toJSON() : undefined;\r\n data[\"isSerializable\"] = this.isSerializable;\r\n data[\"containsGenericParameters\"] = this.containsGenericParameters;\r\n data[\"isVisible\"] = this.isVisible;\r\n if (Array.isArray(this.genericTypeParameters)) {\r\n data[\"genericTypeParameters\"] = [];\r\n for (let item of this.genericTypeParameters)\r\n data[\"genericTypeParameters\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.declaredConstructors)) {\r\n data[\"declaredConstructors\"] = [];\r\n for (let item of this.declaredConstructors)\r\n data[\"declaredConstructors\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.declaredEvents)) {\r\n data[\"declaredEvents\"] = [];\r\n for (let item of this.declaredEvents)\r\n data[\"declaredEvents\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.declaredFields)) {\r\n data[\"declaredFields\"] = [];\r\n for (let item of this.declaredFields)\r\n data[\"declaredFields\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.declaredMembers)) {\r\n data[\"declaredMembers\"] = [];\r\n for (let item of this.declaredMembers)\r\n data[\"declaredMembers\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.declaredMethods)) {\r\n data[\"declaredMethods\"] = [];\r\n for (let item of this.declaredMethods)\r\n data[\"declaredMethods\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.declaredNestedTypes)) {\r\n data[\"declaredNestedTypes\"] = [];\r\n for (let item of this.declaredNestedTypes)\r\n data[\"declaredNestedTypes\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.declaredProperties)) {\r\n data[\"declaredProperties\"] = [];\r\n for (let item of this.declaredProperties)\r\n data[\"declaredProperties\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.implementedInterfaces)) {\r\n data[\"implementedInterfaces\"] = [];\r\n for (let item of this.implementedInterfaces)\r\n data[\"implementedInterfaces\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): TypeInfo {\r\n const json = this.toJSON();\r\n let result = new TypeInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITypeInfo {\r\n name?: string | undefined;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n isInterface?: boolean;\r\n memberType?: MemberTypes;\r\n namespace?: string | undefined;\r\n assemblyQualifiedName?: string | undefined;\r\n fullName?: string | undefined;\r\n assembly?: IAssembly;\r\n module?: IModule;\r\n isNested?: boolean;\r\n declaringType?: IType;\r\n declaringMethod?: IMethodBase;\r\n reflectedType?: IType;\r\n underlyingSystemType?: IType;\r\n isTypeDefinition?: boolean;\r\n isArray?: boolean;\r\n isByRef?: boolean;\r\n isPointer?: boolean;\r\n isConstructedGenericType?: boolean;\r\n isGenericParameter?: boolean;\r\n isGenericTypeParameter?: boolean;\r\n isGenericMethodParameter?: boolean;\r\n isGenericType?: boolean;\r\n isGenericTypeDefinition?: boolean;\r\n isSZArray?: boolean;\r\n isVariableBoundArray?: boolean;\r\n isByRefLike?: boolean;\r\n hasElementType?: boolean;\r\n genericTypeArguments?: IType[] | undefined;\r\n genericParameterPosition?: number;\r\n genericParameterAttributes?: GenericParameterAttributes;\r\n attributes?: TypeAttributes;\r\n isAbstract?: boolean;\r\n isImport?: boolean;\r\n isSealed?: boolean;\r\n isSpecialName?: boolean;\r\n isClass?: boolean;\r\n isNestedAssembly?: boolean;\r\n isNestedFamANDAssem?: boolean;\r\n isNestedFamily?: boolean;\r\n isNestedFamORAssem?: boolean;\r\n isNestedPrivate?: boolean;\r\n isNestedPublic?: boolean;\r\n isNotPublic?: boolean;\r\n isPublic?: boolean;\r\n isAutoLayout?: boolean;\r\n isExplicitLayout?: boolean;\r\n isLayoutSequential?: boolean;\r\n isAnsiClass?: boolean;\r\n isAutoClass?: boolean;\r\n isUnicodeClass?: boolean;\r\n isCOMObject?: boolean;\r\n isContextful?: boolean;\r\n isEnum?: boolean;\r\n isMarshalByRef?: boolean;\r\n isPrimitive?: boolean;\r\n isValueType?: boolean;\r\n isSignatureType?: boolean;\r\n isSecurityCritical?: boolean;\r\n isSecuritySafeCritical?: boolean;\r\n isSecurityTransparent?: boolean;\r\n structLayoutAttribute?: IStructLayoutAttribute;\r\n typeInitializer?: IConstructorInfo;\r\n typeHandle?: IRuntimeTypeHandle;\r\n guid?: string;\r\n baseType?: IType;\r\n isSerializable?: boolean;\r\n containsGenericParameters?: boolean;\r\n isVisible?: boolean;\r\n genericTypeParameters?: IType[] | undefined;\r\n declaredConstructors?: IConstructorInfo[] | undefined;\r\n declaredEvents?: IEventInfo[] | undefined;\r\n declaredFields?: IFieldInfo[] | undefined;\r\n declaredMembers?: IMemberInfo[] | undefined;\r\n declaredMethods?: IMethodInfo[] | undefined;\r\n declaredNestedTypes?: ITypeInfo[] | undefined;\r\n declaredProperties?: IPropertyInfo[] | undefined;\r\n implementedInterfaces?: IType[] | undefined;\r\n}\r\n\r\nexport class WindowSpecification implements IWindowSpecification {\r\n databaseSpecificCreator?: IDbSpecificCreator;\r\n readonly parameters?: DbParameter[] | undefined;\r\n\r\n constructor(data?: IWindowSpecification) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.databaseSpecificCreator = data.databaseSpecificCreator && !(data.databaseSpecificCreator).toJSON ? new IDbSpecificCreator(data.databaseSpecificCreator) : this.databaseSpecificCreator; \r\n if (data.parameters) {\r\n this.parameters = [];\r\n for (let i = 0; i < data.parameters.length; i++) {\r\n let item = data.parameters[i];\r\n this.parameters[i] = item && !(item).toJSON ? new DbParameter(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.databaseSpecificCreator = _data[\"databaseSpecificCreator\"] ? IDbSpecificCreator.fromJS(_data[\"databaseSpecificCreator\"]) : undefined;\r\n if (Array.isArray(_data[\"parameters\"])) {\r\n (this).parameters = [] as any;\r\n for (let item of _data[\"parameters\"])\r\n (this).parameters!.push(DbParameter.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): WindowSpecification {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WindowSpecification();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"databaseSpecificCreator\"] = this.databaseSpecificCreator ? this.databaseSpecificCreator.toJSON() : undefined;\r\n if (Array.isArray(this.parameters)) {\r\n data[\"parameters\"] = [];\r\n for (let item of this.parameters)\r\n data[\"parameters\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): WindowSpecification {\r\n const json = this.toJSON();\r\n let result = new WindowSpecification();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IWindowSpecification {\r\n databaseSpecificCreator?: IIDbSpecificCreator;\r\n parameters?: IDbParameter[] | undefined;\r\n}\r\n\r\nexport class SwaggerException extends Error {\r\n override message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isSwaggerException = true;\r\n\r\n static isSwaggerException(obj: any): obj is SwaggerException {\r\n return obj.isSwaggerException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable {\r\n if (result !== null && result !== undefined)\r\n return _observableThrow(result);\r\n else\r\n return _observableThrow(new SwaggerException(message, status, response, headers, null));\r\n}\r\n\r\nfunction blobToText(blob: any): Observable {\r\n return new Observable((observer: any) => {\r\n if (!blob) {\r\n observer.next(\"\");\r\n observer.complete();\r\n } else {\r\n let reader = new FileReader();\r\n reader.onload = event => {\r\n observer.next((event.target).result);\r\n observer.complete();\r\n };\r\n reader.readAsText(blob);\r\n }\r\n });\r\n}","/* tslint:disable */\r\n/* eslint-disable */\r\n//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.14.1.0 (NJsonSchema v10.5.2.0 (Newtonsoft.Json v11.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { mergeMap as _observableMergeMap, catchError as _observableCatch } from 'rxjs/operators';\r\nimport { Observable, throwError as _observableThrow, of as _observableOf } from 'rxjs';\r\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\r\n\r\nexport const APP_GOPY_URL = new InjectionToken('APP_GOPY_URL');\r\n\r\nexport interface IAppGopyApiService {\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1BieuDoThongKeGetViewBaoCaoThongKeXuLy(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1BieuDoThongKeGetDataBaoCaoThongKeXuLy(body: PageModelBaoCaoThongKeModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1BieuDoThongKeGetViewTinhHinhXuLyChart(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1BieuDoThongKeGetTinhHinhXuLyGopY(body: TinhHinhXuLySearchModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1CauHinhTiepNhanGopYGetInformationsForForm(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CauHinhTiepNhanGopYPagingCustoms(body: PageModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CauHinhTiepNhanGopYUpdateCustom(body: CauhinhtiepnhangopyEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CauHinhTiepNhanGopYPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1CauHinhTiepNhanGopYSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1CauHinhTiepNhanGopYSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CauHinhTiepNhanGopYInsert(body: CauhinhtiepnhangopyEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CauHinhTiepNhanGopYUpdate(body: CauhinhtiepnhangopyEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1CauHinhTiepNhanGopYDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYGetBaiDangCaNhan(providerId: string): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYGetDanhSachLinhVuc(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYSendComment(body: SendCommentModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYSendPost(body: SendPostModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYSendPostV2(body: SendPostModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYUpdatePost(body: UpdatePostModel | undefined): Observable;\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYDelete(id: number | undefined): Observable;\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYGuiKienNghi(id: number | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYGetReplyOfPost(id: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYIndex(body: PostCongGopYModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYGetPostsNew(body: PostNoiDungGopYModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYGetPostsNewV2(body: PostNoiDungGopYModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYGetPostsNewForWeb(body: PostNoiDungGopYForWebModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYGetBannerRight(body: PostBinhLuanGopYModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYGetCommnet(body: PostBinhLuanGopYModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYLikePost(body: LikePostModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYLikeComment(body: LikeCommentModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYReportProcess(year: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYGetRate(idGopy: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYRate(body: RatingModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmCacBuocPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmCacBuocSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmCacBuocSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmCacBuocInsert(body: DmcacbuocxulyEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmCacBuocUpdate(body: DmcacbuocxulyEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmCacBuocDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmCanBoPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmCanBoSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmCanBoSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmCanBoInsert(body: DmcanboEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmCanBoUpdate(body: DmcanboEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmCanBoDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmDichVuPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmDichVuSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmDichVuSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmDichVuInsert(body: DmdichvuEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmDichVuUpdate(body: DmdichvuEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmDichVuDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmDinhDanhPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmDinhDanhSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmDinhDanhSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmDinhDanhInsert(body: DmdinhdanhEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmDinhDanhUpdate(body: DmdinhdanhEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmDinhDanhDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViInsertDonVi(body: DmDVModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViSelectAllLinhVuc(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViSelectAllDiaBan(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViUpdateMasterDetail(body: DmDVModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViSelectOneMasterDetail(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViBiuldCodeParamester(code: string): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViDeleteMasterDetail(key: number, unitcode: string): Observable;\r\n /**\r\n * @param linhVucId (optional) \r\n * @param diaBanId (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViGetDonViListByLinhVucAndDiaBan(linhVucId: number | undefined, diaBanId: number | undefined): Observable;\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViGetInformationsForForm(id: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViInsert(body: DmdonviEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViUpdate(body: DmdonviEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmLinhVucPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmLinhVucSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmLinhVucSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmLinhVucInsert(body: DmlinhvucEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmLinhVucUpdate(body: DmlinhvucEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmLinhVucDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmNguoiSuDungPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmNguoiSuDungSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmNguoiSuDungSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmNguoiSuDungInsert(body: DmnguoisudungEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmNguoiSuDungUpdate(body: DmnguoisudungEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmNguoiSuDungDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmTuDienPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmTuDienSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmTuDienSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmTuDienInsert(body: DmtudienEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmTuDienUpdate(body: DmtudienEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmTuDienDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmViTriPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmViTriSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmViTriSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmViTriInsert(body: DmvitriEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmViTriUpdate(body: DmvitriEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmViTriDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DonViVaCacBuocPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DonViVaCacBuocSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DonViVaCacBuocSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DonViVaCacBuocInsert(body: DonvivacacbuocxulyEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DonViVaCacBuocUpdate(body: DonvivacacbuocxulyEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DonViVaCacBuocDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1FeedbackGetListCommentPaging(body: PostCommentModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1FeedbackGetFilterBy(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1FeedbackSearch(body: SearchRequestModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1FeedbackGetFeedbackSubmitFormData(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1FeedbackGetFeedbackDetails(id: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1FeedbackGetGopYByIdV2(id: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1FeedbackRegisterFeedbackMember(body: ThanhvienEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1FeedbackGetFeedbackMemberId(userid: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1FeedbackGetMyFeedbackList(body: MyFeedbackRequestModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1FeedbackFavouriteFeedback(id: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1FeedbackRemoveFavouriteFeedback(id: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1FeedbackGetMyFeedbackNotifications(idProvider: string, currentPage: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1FeedbackSetFeedbackSeenStatus(id: number): Observable;\r\n /**\r\n * @param userId (optional) \r\n * @param unitCode (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1FeedbackKiemTraUserCoQuyenTiepNhanGopY(userId: number | undefined, unitCode: string | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1HomeGetHome(pageSize: number, pageNumber: number, currentPage: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1LichSuXuLyGetLichSuXuLy(idNoiDung: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1LoginLogin(body: UserLoginModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1LoginSyncAccountMember(body: string | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobileDanhSachPhanAnhSearchDanhSachPhanAnh(body: DanhSachPhanAnhRequestModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1MobileHoTroGetHoTroDetails(id: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobileHoTroThucHienHoTro(body: PhanHoiHoTroModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobileHoTroSearchHoTro(body: HoTroRequestModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1MobilePhanCongXuLyGetPhanCongXuLyDetails(id: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobilePhanCongXuLyThucHienPhanCongXuLyGopY(body: PhanCongXuLyThucHienPhanCongModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobilePhanCongXuLySearchPhanCongXuLy(body: PhanCongXuLyRequestModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobilePheDuyetGopYSearchPheDuyetGopY(body: PheDuyetGopYRequestModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobilePheDuyetGopYSearchPheDuyetGopY2(body: PheDuyetGopYRequestModel2 | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1MobilePheDuyetGopYUpdateDisplayStatusNDGopY(id: number, status: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1MobilePheDuyetGopYGetPheDuyetGopYDetails(id: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobilePheDuyetGopYDuyetGopY(body: PheDuyetGopYDuyetGopYModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobilePheDuyetGopYTuChoiGopY(body: PheDuyetGopYTuChoiGopYModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobilePheDuyetGopYTrinhLanhDao(body: PheDuyetGopYTrinhLanhDao | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1MobileQuanLyGopYChiTietGopY(id: number): Observable;\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobileQuanLyGopYBaoRacGopY(id: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobileQuanLyGopYChuyenDonViXuLy(body: MobileChuyenDonViXuLyModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobileQuanLyGopYPhanHoiGopY(body: MobilePhanHoiGopYModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1MobileQuanLyGopYGetChuyenXuLyDataForm(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1MobileThongKeGopYGetThongKeGopYGopYFilters(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobileThongKeGopYSearchThongKeGopY(body: ThongKeGopYRequestModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1MobileXuLyGopYGetXuLyGopYDetails(id: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobileXuLyGopYSubmitXuLyGopY(body: SubmitXuLyGopYModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobileXuLyGopYSearchXuLyGopY(body: XuLyGopYRequestModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1NoiDungGopYPaging(body: FeedbackContentModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1NoiDungGopYSelectByKey(key: number): Observable;\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1NotiSetReadNoti(id: number | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1NotiGetAllByUser(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1NotiGetAllByIdProvider(idProvider: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1NotiPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1NotiSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1NotiSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1NotiInsert(body: NotificationEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1NotiUpdate(body: NotificationEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1NotiDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1PhanCongThucHienPhanCongXuLyGopY(body: ThucHienPhanCongXuLyGopYModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1PhanCongAssignHandle(body: ThucHienPhanCongXuLyGopYModel | undefined): Observable;\r\n /**\r\n * @param id (optional) \r\n * @param unit (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1PhanCongPhanCongXuLyGopY(id: number | undefined, unit: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1PhanCongSelectAllWithViewModel(body: ClProcess | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1PhanCongSelectCanbo(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1PhanCongInsertItem(body: EntityPhancongandNvhotro | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1PhanCongPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1PhanCongSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1PhanCongSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1PhanCongInsert(body: PhancongEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1PhanCongUpdate(body: PhancongEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1PhanCongDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1PheDuyetGopYDongYPheDuyetGopY(body: DongYPheDuyetGopY | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1PheDuyetGopYGetThongTinDinhKemPheDuyet(id: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1PheDuyetGopYTuChoiPheDuyetGopY(body: TuChoiPheDuyetGopY | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1PheDuyetGopYDuyetTrucTiepKhiXuLy(body: DuyetTrucTiepKhiXuLyModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1PheDuyetGopYApproveFeedback(body: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1PheDuyetGopYRejectFeedback(body: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYPheDuyetHoanThanhXuLyGopY(body: PostPheDuyetHoanThanhGopYModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYGetThongTinDinhKemDonViTraPhanHoi(id: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYSelectInfomationContent(id: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYChuyenDonViXuLy(body: ChuyenDonViXuLyModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYPhanHoiGopY(body: PhanHoiGopYModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYSelectContent(type: number, id: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYSelectAllWithViewModel(body: ClProcess | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYThongTinDinhKemPhanCongXuLy(id: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYGetUserInUnitCurrent(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYTrash(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYUndo(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYProcessingStatus(body: ThongKeGopYView | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYFeedback(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYSelectMauNdgopy(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYPagingData(body: FeedbackContentModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYSelectByKey(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYDeleteSpam(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYInsert(body: NoidunggopyEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYUpdate(body: NoidunggopyEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1TrangThaiPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1TrangThaiSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1TrangThaiSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1TrangThaiInsert(body: DmtrangthaiEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1TrangThaiUpdate(body: DmtrangthaiEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1TrangThaiDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYGetViewActionXuLyGopY(id: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYSelectAllWithViewModel(body: ClProcess | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYPostXuLyGopY(body: PostXuLyGopYModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYSelectMauNdkqxl(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYSelectXulyphaanh(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYSelectDonVi(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYTuChoiXuLyGopY(body: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYRejectFeedback(body: RejectFeedbackModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYRequestApproveFeedback(body: RequestApproveFeedbackModel | undefined): Observable;\r\n /**\r\n * @param idNoidung (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYSelecDonviXuly(idNoidung: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYInsert(body: XulygopyEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYUpdate(body: XulygopyEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYDelete(key: number): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppGopyApiService implements IAppGopyApiService {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(APP_GOPY_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1BieuDoThongKeGetViewBaoCaoThongKeXuLy() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/BieuDoThongKe/GetViewBaoCaoThongKeXuLy\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1BieuDoThongKeGetViewBaoCaoThongKeXuLy(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1BieuDoThongKeGetViewBaoCaoThongKeXuLy(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1BieuDoThongKeGetViewBaoCaoThongKeXuLy(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ViewBaoCaoThongKeXuLyModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1BieuDoThongKeGetDataBaoCaoThongKeXuLy(body: PageModelBaoCaoThongKeModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/BieuDoThongKe/GetDataBaoCaoThongKeXuLy\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1BieuDoThongKeGetDataBaoCaoThongKeXuLy(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1BieuDoThongKeGetDataBaoCaoThongKeXuLy(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1BieuDoThongKeGetDataBaoCaoThongKeXuLy(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BaoCaoThongKeXuLyModelListPageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1BieuDoThongKeGetViewTinhHinhXuLyChart() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/BieuDoThongKe/GetViewTinhHinhXuLyChart\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1BieuDoThongKeGetViewTinhHinhXuLyChart(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1BieuDoThongKeGetViewTinhHinhXuLyChart(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1BieuDoThongKeGetViewTinhHinhXuLyChart(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ViewTinhHinhXuLyChartApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1BieuDoThongKeGetTinhHinhXuLyGopY(body: TinhHinhXuLySearchModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/BieuDoThongKe/GetTinhHinhXuLyGopY\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1BieuDoThongKeGetTinhHinhXuLyGopY(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1BieuDoThongKeGetTinhHinhXuLyGopY(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1BieuDoThongKeGetTinhHinhXuLyGopY(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = HorizontalBarModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1CauHinhTiepNhanGopYGetInformationsForForm() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/CauHinhTiepNhanGopY/GetInformationsForForm\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1CauHinhTiepNhanGopYGetInformationsForForm(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1CauHinhTiepNhanGopYGetInformationsForForm(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1CauHinhTiepNhanGopYGetInformationsForForm(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CauHinhTiepNhanGopYInfoModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CauHinhTiepNhanGopYPagingCustoms(body: PageModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/CauHinhTiepNhanGopY/PagingCustoms\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1CauHinhTiepNhanGopYPagingCustoms(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1CauHinhTiepNhanGopYPagingCustoms(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1CauHinhTiepNhanGopYPagingCustoms(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CauHinhTiepNhanGopYPagingModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CauHinhTiepNhanGopYUpdateCustom(body: CauhinhtiepnhangopyEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/CauHinhTiepNhanGopY/UpdateCustom\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1CauHinhTiepNhanGopYUpdateCustom(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1CauHinhTiepNhanGopYUpdateCustom(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1CauHinhTiepNhanGopYUpdateCustom(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CauHinhTiepNhanGopYPaging(body: PageModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/CauHinhTiepNhanGopY/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1CauHinhTiepNhanGopYPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1CauHinhTiepNhanGopYPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1CauHinhTiepNhanGopYPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1CauHinhTiepNhanGopYSelectOne(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/CauHinhTiepNhanGopY/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1CauHinhTiepNhanGopYSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1CauHinhTiepNhanGopYSelectOne(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1CauHinhTiepNhanGopYSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CauhinhtiepnhangopyEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1CauHinhTiepNhanGopYSelectAll() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/CauHinhTiepNhanGopY/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1CauHinhTiepNhanGopYSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1CauHinhTiepNhanGopYSelectAll(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1CauHinhTiepNhanGopYSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CauHinhTiepNhanGopYInsert(body: CauhinhtiepnhangopyEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/CauHinhTiepNhanGopY/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1CauHinhTiepNhanGopYInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1CauHinhTiepNhanGopYInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1CauHinhTiepNhanGopYInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CauHinhTiepNhanGopYUpdate(body: CauhinhtiepnhangopyEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/CauHinhTiepNhanGopY/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1CauHinhTiepNhanGopYUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1CauHinhTiepNhanGopYUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1CauHinhTiepNhanGopYUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1CauHinhTiepNhanGopYDelete(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/CauHinhTiepNhanGopY/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1CauHinhTiepNhanGopYDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1CauHinhTiepNhanGopYDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1CauHinhTiepNhanGopYDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYGetBaiDangCaNhan(providerId: string) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/CongGopY/GetBaiDangCaNhan/{providerId}\";\r\n if (providerId === undefined || providerId === null)\r\n throw new Error(\"The parameter 'providerId' must be defined.\");\r\n url_ = url_.replace(\"{providerId}\", encodeURIComponent(\"\" + providerId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1CongGopYGetBaiDangCaNhan(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1CongGopYGetBaiDangCaNhan(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1CongGopYGetBaiDangCaNhan(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BaiDangCaNhanModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYGetDanhSachLinhVuc() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/CongGopY/GetDanhSachLinhVuc\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1CongGopYGetDanhSachLinhVuc(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1CongGopYGetDanhSachLinhVuc(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1CongGopYGetDanhSachLinhVuc(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DanhSachLinhVucModelIListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYSendComment(body: SendCommentModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/CongGopY/SendComment\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1CongGopYSendComment(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1CongGopYSendComment(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1CongGopYSendComment(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CommentInPostAnswerModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYSendPost(body: SendPostModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/CongGopY/SendPost\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1CongGopYSendPost(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1CongGopYSendPost(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1CongGopYSendPost(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYSendPostV2(body: SendPostModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/CongGopY/SendPostV2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1CongGopYSendPostV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1CongGopYSendPostV2(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1CongGopYSendPostV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYUpdatePost(body: UpdatePostModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/CongGopY/UpdatePost\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1CongGopYUpdatePost(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1CongGopYUpdatePost(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1CongGopYUpdatePost(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYDelete(id: number | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/CongGopY/DeleteAsync?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1CongGopYDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1CongGopYDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1CongGopYDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYGuiKienNghi(id: number | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/CongGopY/GuiKienNghi?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1CongGopYGuiKienNghi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1CongGopYGuiKienNghi(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1CongGopYGuiKienNghi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYGetReplyOfPost(id: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/CongGopY/GetReplyOfPost/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1CongGopYGetReplyOfPost(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1CongGopYGetReplyOfPost(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1CongGopYGetReplyOfPost(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TraLoiGopYModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYIndex(body: PostCongGopYModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/CongGopY/Index\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1CongGopYIndex(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1CongGopYIndex(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1CongGopYIndex(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CongGopYIndexModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYGetPostsNew(body: PostNoiDungGopYModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/CongGopY/GetPostsNew\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1CongGopYGetPostsNew(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1CongGopYGetPostsNew(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1CongGopYGetPostsNew(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PostsIndexModelIListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYGetPostsNewV2(body: PostNoiDungGopYModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/CongGopY/GetPostsNewV2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1CongGopYGetPostsNewV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1CongGopYGetPostsNewV2(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1CongGopYGetPostsNewV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PostsIndexModelIListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYGetPostsNewForWeb(body: PostNoiDungGopYForWebModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/CongGopY/GetPostsNewForWeb\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1CongGopYGetPostsNewForWeb(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1CongGopYGetPostsNewForWeb(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1CongGopYGetPostsNewForWeb(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PostsIndexModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYGetBannerRight(body: PostBinhLuanGopYModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/CongGopY/GetBannerRight\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1CongGopYGetBannerRight(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1CongGopYGetBannerRight(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1CongGopYGetBannerRight(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BannerRightInformationModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYGetCommnet(body: PostBinhLuanGopYModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/CongGopY/GetCommnet\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1CongGopYGetCommnet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1CongGopYGetCommnet(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1CongGopYGetCommnet(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CommentsNewModelIListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYLikePost(body: LikePostModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/CongGopY/LikePost\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1CongGopYLikePost(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1CongGopYLikePost(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1CongGopYLikePost(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Int32ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYLikeComment(body: LikeCommentModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/CongGopY/LikeComment\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1CongGopYLikeComment(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1CongGopYLikeComment(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1CongGopYLikeComment(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Int32ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYReportProcess(year: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/CongGopY/ReportProcess/{year}\";\r\n if (year === undefined || year === null)\r\n throw new Error(\"The parameter 'year' must be defined.\");\r\n url_ = url_.replace(\"{year}\", encodeURIComponent(\"\" + year));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1CongGopYReportProcess(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1CongGopYReportProcess(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1CongGopYReportProcess(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ReportProcessModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYGetRate(idGopy: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/CongGopY/GetRate/{idGopy}\";\r\n if (idGopy === undefined || idGopy === null)\r\n throw new Error(\"The parameter 'idGopy' must be defined.\");\r\n url_ = url_.replace(\"{idGopy}\", encodeURIComponent(\"\" + idGopy));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1CongGopYGetRate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1CongGopYGetRate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1CongGopYGetRate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1CongGopYRate(body: RatingModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/CongGopY/Rate\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1CongGopYRate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1CongGopYRate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1CongGopYRate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmCacBuocPaging(body: PageModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmCacBuoc/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmCacBuocPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmCacBuocPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmCacBuocPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmCacBuocSelectOne(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmCacBuoc/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmCacBuocSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmCacBuocSelectOne(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmCacBuocSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmcacbuocxulyEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmCacBuocSelectAll() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmCacBuoc/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmCacBuocSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmCacBuocSelectAll(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmCacBuocSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmCacBuocInsert(body: DmcacbuocxulyEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmCacBuoc/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmCacBuocInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmCacBuocInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmCacBuocInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmCacBuocUpdate(body: DmcacbuocxulyEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmCacBuoc/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmCacBuocUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmCacBuocUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmCacBuocUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmCacBuocDelete(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmCacBuoc/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmCacBuocDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmCacBuocDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmCacBuocDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmCanBoPaging(body: PageModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmCanBo/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmCanBoPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmCanBoPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmCanBoPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmCanBoSelectOne(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmCanBo/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmCanBoSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmCanBoSelectOne(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmCanBoSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmcanboEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmCanBoSelectAll() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmCanBo/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmCanBoSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmCanBoSelectAll(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmCanBoSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmCanBoInsert(body: DmcanboEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmCanBo/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmCanBoInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmCanBoInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmCanBoInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmCanBoUpdate(body: DmcanboEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmCanBo/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmCanBoUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmCanBoUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmCanBoUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmCanBoDelete(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmCanBo/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmCanBoDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmCanBoDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmCanBoDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmDichVuPaging(body: PageModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmDichVu/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmDichVuPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmDichVuPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmDichVuPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmDichVuSelectOne(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmDichVu/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmDichVuSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmDichVuSelectOne(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmDichVuSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmdichvuEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmDichVuSelectAll() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmDichVu/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmDichVuSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmDichVuSelectAll(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmDichVuSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmDichVuInsert(body: DmdichvuEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmDichVu/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmDichVuInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmDichVuInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmDichVuInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmDichVuUpdate(body: DmdichvuEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmDichVu/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmDichVuUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmDichVuUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmDichVuUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmDichVuDelete(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmDichVu/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmDichVuDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmDichVuDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmDichVuDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmDinhDanhPaging(body: PageModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmDinhDanh/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmDinhDanhPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmDinhDanhPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmDinhDanhPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmDinhDanhSelectOne(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmDinhDanh/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmDinhDanhSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmDinhDanhSelectOne(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmDinhDanhSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmdinhdanhEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmDinhDanhSelectAll() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmDinhDanh/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmDinhDanhSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmDinhDanhSelectAll(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmDinhDanhSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmDinhDanhInsert(body: DmdinhdanhEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmDinhDanh/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmDinhDanhInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmDinhDanhInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmDinhDanhInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmDinhDanhUpdate(body: DmdinhdanhEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmDinhDanh/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmDinhDanhUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmDinhDanhUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmDinhDanhUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmDinhDanhDelete(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmDinhDanh/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmDinhDanhDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmDinhDanhDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmDinhDanhDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViInsertDonVi(body: DmDVModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmDonVi/InsertDonVi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmDonViInsertDonVi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmDonViInsertDonVi(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmDonViInsertDonVi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmdonviEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViSelectAllLinhVuc() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmDonVi/SelectAllLinhVuc\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmDonViSelectAllLinhVuc(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmDonViSelectAllLinhVuc(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmDonViSelectAllLinhVuc(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmlinhvucEntityEntityCollectionApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViSelectAllDiaBan() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmDonVi/SelectAllDiaBan\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmDonViSelectAllDiaBan(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmDonViSelectAllDiaBan(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmDonViSelectAllDiaBan(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmdiabanEntityEntityCollectionApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViUpdateMasterDetail(body: DmDVModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmDonVi/UpdateMasterDetail\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmDonViUpdateMasterDetail(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmDonViUpdateMasterDetail(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmDonViUpdateMasterDetail(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViSelectOneMasterDetail(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmDonVi/SelectOneMasterDetail/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmDonViSelectOneMasterDetail(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmDonViSelectOneMasterDetail(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmDonViSelectOneMasterDetail(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmDVModelUpdateApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViBiuldCodeParamester(code: string) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmDonVi/BiuldCodeParamester/{code}\";\r\n if (code === undefined || code === null)\r\n throw new Error(\"The parameter 'code' must be defined.\");\r\n url_ = url_.replace(\"{code}\", encodeURIComponent(\"\" + code));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmDonViBiuldCodeParamester(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmDonViBiuldCodeParamester(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmDonViBiuldCodeParamester(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UnitCodeVmApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViDeleteMasterDetail(key: number, unitcode: string) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmDonVi/DeleteMasterDetail/{key}/{unitcode}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n if (unitcode === undefined || unitcode === null)\r\n throw new Error(\"The parameter 'unitcode' must be defined.\");\r\n url_ = url_.replace(\"{unitcode}\", encodeURIComponent(\"\" + unitcode));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmDonViDeleteMasterDetail(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmDonViDeleteMasterDetail(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmDonViDeleteMasterDetail(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param linhVucId (optional) \r\n * @param diaBanId (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViGetDonViListByLinhVucAndDiaBan(linhVucId: number | undefined, diaBanId: number | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmDonVi/GetDonViListByLinhVucAndDiaBan?\";\r\n if (linhVucId === null)\r\n throw new Error(\"The parameter 'linhVucId' cannot be null.\");\r\n else if (linhVucId !== undefined)\r\n url_ += \"linhVucId=\" + encodeURIComponent(\"\" + linhVucId) + \"&\";\r\n if (diaBanId === null)\r\n throw new Error(\"The parameter 'diaBanId' cannot be null.\");\r\n else if (diaBanId !== undefined)\r\n url_ += \"diaBanId=\" + encodeURIComponent(\"\" + diaBanId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmDonViGetDonViListByLinhVucAndDiaBan(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmDonViGetDonViListByLinhVucAndDiaBan(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmDonViGetDonViListByLinhVucAndDiaBan(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DonViSelectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViGetInformationsForForm(id: number | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmDonVi/GetInformationsForForm?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmDonViGetInformationsForForm(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmDonViGetInformationsForForm(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmDonViGetInformationsForForm(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = InformationsModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViPaging(body: PageModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmDonVi/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmDonViPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmDonViPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmDonViPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViSelectOne(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmDonVi/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmDonViSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmDonViSelectOne(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmDonViSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmdonviEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViSelectAll() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmDonVi/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmDonViSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmDonViSelectAll(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmDonViSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViInsert(body: DmdonviEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmDonVi/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmDonViInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmDonViInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmDonViInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViUpdate(body: DmdonviEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmDonVi/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmDonViUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmDonViUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmDonViUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmDonViDelete(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmDonVi/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmDonViDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmDonViDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmDonViDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmLinhVucPaging(body: PageModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmLinhVuc/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmLinhVucPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmLinhVucPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmLinhVucPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmLinhVucSelectOne(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmLinhVuc/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmLinhVucSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmLinhVucSelectOne(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmLinhVucSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmlinhvucEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmLinhVucSelectAll() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmLinhVuc/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmLinhVucSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmLinhVucSelectAll(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmLinhVucSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmLinhVucInsert(body: DmlinhvucEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmLinhVuc/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmLinhVucInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmLinhVucInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmLinhVucInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmLinhVucUpdate(body: DmlinhvucEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmLinhVuc/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmLinhVucUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmLinhVucUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmLinhVucUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmLinhVucDelete(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmLinhVuc/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmLinhVucDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmLinhVucDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmLinhVucDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmNguoiSuDungPaging(body: PageModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmNguoiSuDung/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmNguoiSuDungPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmNguoiSuDungPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmNguoiSuDungPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmNguoiSuDungSelectOne(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmNguoiSuDung/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmNguoiSuDungSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmNguoiSuDungSelectOne(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmNguoiSuDungSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmnguoisudungEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmNguoiSuDungSelectAll() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmNguoiSuDung/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmNguoiSuDungSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmNguoiSuDungSelectAll(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmNguoiSuDungSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmNguoiSuDungInsert(body: DmnguoisudungEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmNguoiSuDung/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmNguoiSuDungInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmNguoiSuDungInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmNguoiSuDungInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmNguoiSuDungUpdate(body: DmnguoisudungEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmNguoiSuDung/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmNguoiSuDungUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmNguoiSuDungUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmNguoiSuDungUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmNguoiSuDungDelete(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmNguoiSuDung/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmNguoiSuDungDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmNguoiSuDungDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmNguoiSuDungDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmTuDienPaging(body: PageModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmTuDien/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmTuDienPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmTuDienPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmTuDienPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmTuDienSelectOne(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmTuDien/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmTuDienSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmTuDienSelectOne(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmTuDienSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmtudienEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmTuDienSelectAll() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmTuDien/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmTuDienSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmTuDienSelectAll(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmTuDienSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmTuDienInsert(body: DmtudienEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmTuDien/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmTuDienInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmTuDienInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmTuDienInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmTuDienUpdate(body: DmtudienEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmTuDien/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmTuDienUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmTuDienUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmTuDienUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmTuDienDelete(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmTuDien/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmTuDienDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmTuDienDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmTuDienDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmViTriPaging(body: PageModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmViTri/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmViTriPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmViTriPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmViTriPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmViTriSelectOne(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmViTri/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmViTriSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmViTriSelectOne(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmViTriSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmvitriEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmViTriSelectAll() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmViTri/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmViTriSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmViTriSelectAll(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmViTriSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmViTriInsert(body: DmvitriEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmViTri/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmViTriInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmViTriInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmViTriInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DmViTriUpdate(body: DmvitriEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmViTri/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmViTriUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmViTriUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmViTriUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DmViTriDelete(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DmViTri/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DmViTriDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DmViTriDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DmViTriDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DonViVaCacBuocPaging(body: PageModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DonViVaCacBuoc/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DonViVaCacBuocPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DonViVaCacBuocPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DonViVaCacBuocPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DonViVaCacBuocSelectOne(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DonViVaCacBuoc/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DonViVaCacBuocSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DonViVaCacBuocSelectOne(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DonViVaCacBuocSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DonvivacacbuocxulyEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DonViVaCacBuocSelectAll() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DonViVaCacBuoc/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DonViVaCacBuocSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DonViVaCacBuocSelectAll(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DonViVaCacBuocSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DonViVaCacBuocInsert(body: DonvivacacbuocxulyEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DonViVaCacBuoc/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DonViVaCacBuocInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DonViVaCacBuocInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DonViVaCacBuocInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1DonViVaCacBuocUpdate(body: DonvivacacbuocxulyEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DonViVaCacBuoc/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DonViVaCacBuocUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DonViVaCacBuocUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DonViVaCacBuocUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1DonViVaCacBuocDelete(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/DonViVaCacBuoc/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1DonViVaCacBuocDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1DonViVaCacBuocDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1DonViVaCacBuocDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1FeedbackGetListCommentPaging(body: PostCommentModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/Feedback/GetListCommentPaging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1FeedbackGetListCommentPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1FeedbackGetListCommentPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1FeedbackGetListCommentPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CommentModelIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1FeedbackGetFilterBy() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/Feedback/GetFilterBy\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1FeedbackGetFilterBy(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1FeedbackGetFilterBy(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1FeedbackGetFilterBy(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = FilterByModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1FeedbackSearch(body: SearchRequestModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/Feedback/Search\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1FeedbackSearch(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1FeedbackSearch(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1FeedbackSearch(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1FeedbackGetFeedbackSubmitFormData() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/Feedback/GetFeedbackSubmitFormData\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1FeedbackGetFeedbackSubmitFormData(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1FeedbackGetFeedbackSubmitFormData(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1FeedbackGetFeedbackSubmitFormData(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = FeedbackSubmitFormDataModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1FeedbackGetFeedbackDetails(id: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/Feedback/GetFeedbackDetails/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1FeedbackGetFeedbackDetails(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1FeedbackGetFeedbackDetails(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1FeedbackGetFeedbackDetails(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = FeedbackDetailsModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1FeedbackGetGopYByIdV2(id: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/Feedback/GetGopYByIdV2/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1FeedbackGetGopYByIdV2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1FeedbackGetGopYByIdV2(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1FeedbackGetGopYByIdV2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = GopYModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1FeedbackRegisterFeedbackMember(body: ThanhvienEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/Feedback/RegisterFeedbackMember\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1FeedbackRegisterFeedbackMember(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1FeedbackRegisterFeedbackMember(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1FeedbackRegisterFeedbackMember(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1FeedbackGetFeedbackMemberId(userid: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/Feedback/GetFeedbackMemberId/{userid}\";\r\n if (userid === undefined || userid === null)\r\n throw new Error(\"The parameter 'userid' must be defined.\");\r\n url_ = url_.replace(\"{userid}\", encodeURIComponent(\"\" + userid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1FeedbackGetFeedbackMemberId(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1FeedbackGetFeedbackMemberId(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1FeedbackGetFeedbackMemberId(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Int64ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1FeedbackGetMyFeedbackList(body: MyFeedbackRequestModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/Feedback/GetMyFeedbackList\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1FeedbackGetMyFeedbackList(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1FeedbackGetMyFeedbackList(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1FeedbackGetMyFeedbackList(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MyFeedbackItemModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1FeedbackFavouriteFeedback(id: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/Feedback/FavouriteFeedback/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1FeedbackFavouriteFeedback(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1FeedbackFavouriteFeedback(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1FeedbackFavouriteFeedback(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1FeedbackRemoveFavouriteFeedback(id: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/Feedback/RemoveFavouriteFeedback/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1FeedbackRemoveFavouriteFeedback(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1FeedbackRemoveFavouriteFeedback(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1FeedbackRemoveFavouriteFeedback(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1FeedbackGetMyFeedbackNotifications(idProvider: string, currentPage: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/Feedback/GetMyFeedbackNotifications/{idProvider}/{currentPage}\";\r\n if (idProvider === undefined || idProvider === null)\r\n throw new Error(\"The parameter 'idProvider' must be defined.\");\r\n url_ = url_.replace(\"{idProvider}\", encodeURIComponent(\"\" + idProvider));\r\n if (currentPage === undefined || currentPage === null)\r\n throw new Error(\"The parameter 'currentPage' must be defined.\");\r\n url_ = url_.replace(\"{currentPage}\", encodeURIComponent(\"\" + currentPage));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1FeedbackGetMyFeedbackNotifications(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1FeedbackGetMyFeedbackNotifications(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1FeedbackGetMyFeedbackNotifications(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = FeedbackNotificationListModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1FeedbackSetFeedbackSeenStatus(id: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/Feedback/SetFeedbackSeenStatus/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1FeedbackSetFeedbackSeenStatus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1FeedbackSetFeedbackSeenStatus(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1FeedbackSetFeedbackSeenStatus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param userId (optional) \r\n * @param unitCode (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1FeedbackKiemTraUserCoQuyenTiepNhanGopY(userId: number | undefined, unitCode: string | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/Feedback/KiemTraUserCoQuyenTiepNhanGopY?\";\r\n if (userId === null)\r\n throw new Error(\"The parameter 'userId' cannot be null.\");\r\n else if (userId !== undefined)\r\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\r\n if (unitCode === null)\r\n throw new Error(\"The parameter 'unitCode' cannot be null.\");\r\n else if (unitCode !== undefined)\r\n url_ += \"unitCode=\" + encodeURIComponent(\"\" + unitCode) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1FeedbackKiemTraUserCoQuyenTiepNhanGopY(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1FeedbackKiemTraUserCoQuyenTiepNhanGopY(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1FeedbackKiemTraUserCoQuyenTiepNhanGopY(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1HomeGetHome(pageSize: number, pageNumber: number, currentPage: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/Home/GetHome/{pageSize}/{pageNumber}/{currentPage}\";\r\n if (pageSize === undefined || pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' must be defined.\");\r\n url_ = url_.replace(\"{pageSize}\", encodeURIComponent(\"\" + pageSize));\r\n if (pageNumber === undefined || pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' must be defined.\");\r\n url_ = url_.replace(\"{pageNumber}\", encodeURIComponent(\"\" + pageNumber));\r\n if (currentPage === undefined || currentPage === null)\r\n throw new Error(\"The parameter 'currentPage' must be defined.\");\r\n url_ = url_.replace(\"{currentPage}\", encodeURIComponent(\"\" + currentPage));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1HomeGetHome(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1HomeGetHome(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1HomeGetHome(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ReturnHomeModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1LichSuXuLyGetLichSuXuLy(idNoiDung: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/LichSuXuLy/GetLichSuXuLy/{idNoiDung}\";\r\n if (idNoiDung === undefined || idNoiDung === null)\r\n throw new Error(\"The parameter 'idNoiDung' must be defined.\");\r\n url_ = url_.replace(\"{idNoiDung}\", encodeURIComponent(\"\" + idNoiDung));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1LichSuXuLyGetLichSuXuLy(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1LichSuXuLyGetLichSuXuLy(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1LichSuXuLyGetLichSuXuLy(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LichSuXuLyModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1LoginLogin(body: UserLoginModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/Login/Login\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1LoginLogin(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1LoginLogin(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1LoginLogin(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1LoginSyncAccountMember(body: string | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/Login/SyncAccountMember\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1LoginSyncAccountMember(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1LoginSyncAccountMember(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1LoginSyncAccountMember(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ThanhvienEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobileDanhSachPhanAnhSearchDanhSachPhanAnh(body: DanhSachPhanAnhRequestModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/MobileDanhSachPhanAnh/SearchDanhSachPhanAnh\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1MobileDanhSachPhanAnhSearchDanhSachPhanAnh(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1MobileDanhSachPhanAnhSearchDanhSachPhanAnh(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1MobileDanhSachPhanAnhSearchDanhSachPhanAnh(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DanhSachPhanAnhItemModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1MobileHoTroGetHoTroDetails(id: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/MobileHoTro/GetHoTroDetails/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1MobileHoTroGetHoTroDetails(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1MobileHoTroGetHoTroDetails(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1MobileHoTroGetHoTroDetails(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ThongTinDinhKemPhanCongXuLyModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobileHoTroThucHienHoTro(body: PhanHoiHoTroModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/MobileHoTro/ThucHienHoTro\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1MobileHoTroThucHienHoTro(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1MobileHoTroThucHienHoTro(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1MobileHoTroThucHienHoTro(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobileHoTroSearchHoTro(body: HoTroRequestModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/MobileHoTro/SearchHoTro\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1MobileHoTroSearchHoTro(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1MobileHoTroSearchHoTro(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1MobileHoTroSearchHoTro(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = HoTroItemModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1MobilePhanCongXuLyGetPhanCongXuLyDetails(id: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/MobilePhanCongXuLy/GetPhanCongXuLyDetails/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1MobilePhanCongXuLyGetPhanCongXuLyDetails(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1MobilePhanCongXuLyGetPhanCongXuLyDetails(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1MobilePhanCongXuLyGetPhanCongXuLyDetails(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ThongTinDinhKemPhanCongXuLyModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobilePhanCongXuLyThucHienPhanCongXuLyGopY(body: PhanCongXuLyThucHienPhanCongModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/MobilePhanCongXuLy/ThucHienPhanCongXuLyGopY\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1MobilePhanCongXuLyThucHienPhanCongXuLyGopY(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1MobilePhanCongXuLyThucHienPhanCongXuLyGopY(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1MobilePhanCongXuLyThucHienPhanCongXuLyGopY(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobilePhanCongXuLySearchPhanCongXuLy(body: PhanCongXuLyRequestModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/MobilePhanCongXuLy/SearchPhanCongXuLy\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1MobilePhanCongXuLySearchPhanCongXuLy(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1MobilePhanCongXuLySearchPhanCongXuLy(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1MobilePhanCongXuLySearchPhanCongXuLy(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PhanCongXuLyItemModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobilePheDuyetGopYSearchPheDuyetGopY(body: PheDuyetGopYRequestModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/MobilePheDuyetGopY/SearchPheDuyetGopY\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1MobilePheDuyetGopYSearchPheDuyetGopY(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1MobilePheDuyetGopYSearchPheDuyetGopY(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1MobilePheDuyetGopYSearchPheDuyetGopY(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PheDuyetGopYItemModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobilePheDuyetGopYSearchPheDuyetGopY2(body: PheDuyetGopYRequestModel2 | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/MobilePheDuyetGopY/SearchPheDuyetGopY2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1MobilePheDuyetGopYSearchPheDuyetGopY2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1MobilePheDuyetGopYSearchPheDuyetGopY2(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1MobilePheDuyetGopYSearchPheDuyetGopY2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PheDuyetGopYItemModel2ListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1MobilePheDuyetGopYUpdateDisplayStatusNDGopY(id: number, status: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/MobilePheDuyetGopY/UpdateDisplayStatusNDGopY/{id}/{status}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (status === undefined || status === null)\r\n throw new Error(\"The parameter 'status' must be defined.\");\r\n url_ = url_.replace(\"{status}\", encodeURIComponent(\"\" + status));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1MobilePheDuyetGopYUpdateDisplayStatusNDGopY(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1MobilePheDuyetGopYUpdateDisplayStatusNDGopY(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1MobilePheDuyetGopYUpdateDisplayStatusNDGopY(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1MobilePheDuyetGopYGetPheDuyetGopYDetails(id: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/MobilePheDuyetGopY/GetPheDuyetGopYDetails/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1MobilePheDuyetGopYGetPheDuyetGopYDetails(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1MobilePheDuyetGopYGetPheDuyetGopYDetails(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1MobilePheDuyetGopYGetPheDuyetGopYDetails(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PheDuyetGopYDetailsModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobilePheDuyetGopYDuyetGopY(body: PheDuyetGopYDuyetGopYModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/MobilePheDuyetGopY/DuyetGopY\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1MobilePheDuyetGopYDuyetGopY(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1MobilePheDuyetGopYDuyetGopY(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1MobilePheDuyetGopYDuyetGopY(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobilePheDuyetGopYTuChoiGopY(body: PheDuyetGopYTuChoiGopYModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/MobilePheDuyetGopY/TuChoiGopY\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1MobilePheDuyetGopYTuChoiGopY(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1MobilePheDuyetGopYTuChoiGopY(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1MobilePheDuyetGopYTuChoiGopY(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobilePheDuyetGopYTrinhLanhDao(body: PheDuyetGopYTrinhLanhDao | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/MobilePheDuyetGopY/TrinhLanhDao\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1MobilePheDuyetGopYTrinhLanhDao(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1MobilePheDuyetGopYTrinhLanhDao(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1MobilePheDuyetGopYTrinhLanhDao(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1MobileQuanLyGopYChiTietGopY(id: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/MobileQuanLyGopY/ChiTietGopY/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1MobileQuanLyGopYChiTietGopY(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1MobileQuanLyGopYChiTietGopY(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1MobileQuanLyGopYChiTietGopY(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ChiTietGopYModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobileQuanLyGopYBaoRacGopY(id: number | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/MobileQuanLyGopY/BaoRacGopY?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1MobileQuanLyGopYBaoRacGopY(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1MobileQuanLyGopYBaoRacGopY(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1MobileQuanLyGopYBaoRacGopY(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobileQuanLyGopYChuyenDonViXuLy(body: MobileChuyenDonViXuLyModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/MobileQuanLyGopY/ChuyenDonViXuLy\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1MobileQuanLyGopYChuyenDonViXuLy(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1MobileQuanLyGopYChuyenDonViXuLy(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1MobileQuanLyGopYChuyenDonViXuLy(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobileQuanLyGopYPhanHoiGopY(body: MobilePhanHoiGopYModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/MobileQuanLyGopY/PhanHoiGopY\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1MobileQuanLyGopYPhanHoiGopY(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1MobileQuanLyGopYPhanHoiGopY(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1MobileQuanLyGopYPhanHoiGopY(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1MobileQuanLyGopYGetChuyenXuLyDataForm() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/MobileQuanLyGopY/GetChuyenXuLyDataForm\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1MobileQuanLyGopYGetChuyenXuLyDataForm(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1MobileQuanLyGopYGetChuyenXuLyDataForm(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1MobileQuanLyGopYGetChuyenXuLyDataForm(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ChuyenXuLyDataFormApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1MobileThongKeGopYGetThongKeGopYGopYFilters() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/MobileThongKeGopY/GetThongKeGopYGopYFilters\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1MobileThongKeGopYGetThongKeGopYGopYFilters(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1MobileThongKeGopYGetThongKeGopYGopYFilters(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1MobileThongKeGopYGetThongKeGopYGopYFilters(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ThongKeGopYFiltersModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobileThongKeGopYSearchThongKeGopY(body: ThongKeGopYRequestModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/MobileThongKeGopY/SearchThongKeGopY\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1MobileThongKeGopYSearchThongKeGopY(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1MobileThongKeGopYSearchThongKeGopY(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1MobileThongKeGopYSearchThongKeGopY(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ThongKeGopYItemModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1MobileXuLyGopYGetXuLyGopYDetails(id: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/MobileXuLyGopY/GetXuLyGopYDetails/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1MobileXuLyGopYGetXuLyGopYDetails(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1MobileXuLyGopYGetXuLyGopYDetails(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1MobileXuLyGopYGetXuLyGopYDetails(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = XuLyGopYDetailsModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobileXuLyGopYSubmitXuLyGopY(body: SubmitXuLyGopYModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/MobileXuLyGopY/SubmitXuLyGopY\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1MobileXuLyGopYSubmitXuLyGopY(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1MobileXuLyGopYSubmitXuLyGopY(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1MobileXuLyGopYSubmitXuLyGopY(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1MobileXuLyGopYSearchXuLyGopY(body: XuLyGopYRequestModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/MobileXuLyGopY/SearchXuLyGopY\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1MobileXuLyGopYSearchXuLyGopY(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1MobileXuLyGopYSearchXuLyGopY(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1MobileXuLyGopYSearchXuLyGopY(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = XuLyGopYItemModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1NoiDungGopYPaging(body: FeedbackContentModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/NoiDungGopY/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1NoiDungGopYPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1NoiDungGopYPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1NoiDungGopYPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1NoiDungGopYSelectByKey(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/NoiDungGopY/SelectByKey/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1NoiDungGopYSelectByKey(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1NoiDungGopYSelectByKey(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1NoiDungGopYSelectByKey(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1NotiSetReadNoti(id: number | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/Noti/SetReadNoti?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1NotiSetReadNoti(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1NotiSetReadNoti(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1NotiSetReadNoti(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1NotiGetAllByUser() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/Noti/GetAllByUser\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1NotiGetAllByUser(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1NotiGetAllByUser(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1NotiGetAllByUser(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NotiModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1NotiGetAllByIdProvider(idProvider: string) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/Noti/GetAllByIdProvider/{idProvider}\";\r\n if (idProvider === undefined || idProvider === null)\r\n throw new Error(\"The parameter 'idProvider' must be defined.\");\r\n url_ = url_.replace(\"{idProvider}\", encodeURIComponent(\"\" + idProvider));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1NotiGetAllByIdProvider(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1NotiGetAllByIdProvider(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1NotiGetAllByIdProvider(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NotiModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1NotiPaging(body: PageModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/Noti/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1NotiPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1NotiPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1NotiPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1NotiSelectOne(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/Noti/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1NotiSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1NotiSelectOne(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1NotiSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NotificationEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1NotiSelectAll() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/Noti/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1NotiSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1NotiSelectAll(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1NotiSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1NotiInsert(body: NotificationEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/Noti/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1NotiInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1NotiInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1NotiInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1NotiUpdate(body: NotificationEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/Noti/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1NotiUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1NotiUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1NotiUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1NotiDelete(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/Noti/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1NotiDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1NotiDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1NotiDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1PhanCongThucHienPhanCongXuLyGopY(body: ThucHienPhanCongXuLyGopYModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/PhanCong/ThucHienPhanCongXuLyGopY\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1PhanCongThucHienPhanCongXuLyGopY(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1PhanCongThucHienPhanCongXuLyGopY(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1PhanCongThucHienPhanCongXuLyGopY(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1PhanCongAssignHandle(body: ThucHienPhanCongXuLyGopYModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/PhanCong/AssignHandle\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1PhanCongAssignHandle(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1PhanCongAssignHandle(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1PhanCongAssignHandle(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param id (optional) \r\n * @param unit (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1PhanCongPhanCongXuLyGopY(id: number | undefined, unit: number | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/PhanCong/PhanCongXuLyGopY?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n if (unit === null)\r\n throw new Error(\"The parameter 'unit' cannot be null.\");\r\n else if (unit !== undefined)\r\n url_ += \"unit=\" + encodeURIComponent(\"\" + unit) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1PhanCongPhanCongXuLyGopY(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1PhanCongPhanCongXuLyGopY(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1PhanCongPhanCongXuLyGopY(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1PhanCongSelectAllWithViewModel(body: ClProcess | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/PhanCong/SelectAllWithViewModel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1PhanCongSelectAllWithViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1PhanCongSelectAllWithViewModel(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1PhanCongSelectAllWithViewModel(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ThongKeGopYViewModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1PhanCongSelectCanbo() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/PhanCong/SelectCanbo\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1PhanCongSelectCanbo(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1PhanCongSelectCanbo(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1PhanCongSelectCanbo(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmcanboEntityListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1PhanCongInsertItem(body: EntityPhancongandNvhotro | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/PhanCong/InsertItem\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1PhanCongInsertItem(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1PhanCongInsertItem(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1PhanCongInsertItem(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1PhanCongPaging(body: PageModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/PhanCong/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1PhanCongPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1PhanCongPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1PhanCongPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1PhanCongSelectOne(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/PhanCong/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1PhanCongSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1PhanCongSelectOne(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1PhanCongSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PhancongEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1PhanCongSelectAll() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/PhanCong/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1PhanCongSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1PhanCongSelectAll(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1PhanCongSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1PhanCongInsert(body: PhancongEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/PhanCong/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1PhanCongInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1PhanCongInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1PhanCongInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1PhanCongUpdate(body: PhancongEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/PhanCong/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1PhanCongUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1PhanCongUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1PhanCongUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1PhanCongDelete(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/PhanCong/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1PhanCongDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1PhanCongDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1PhanCongDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1PheDuyetGopYDongYPheDuyetGopY(body: DongYPheDuyetGopY | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/PheDuyetGopY/DongYPheDuyetGopY\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1PheDuyetGopYDongYPheDuyetGopY(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1PheDuyetGopYDongYPheDuyetGopY(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1PheDuyetGopYDongYPheDuyetGopY(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1PheDuyetGopYGetThongTinDinhKemPheDuyet(id: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/PheDuyetGopY/GetThongTinDinhKemPheDuyet/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1PheDuyetGopYGetThongTinDinhKemPheDuyet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1PheDuyetGopYGetThongTinDinhKemPheDuyet(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1PheDuyetGopYGetThongTinDinhKemPheDuyet(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ThongTinDinhKemPheDuyetModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1PheDuyetGopYTuChoiPheDuyetGopY(body: TuChoiPheDuyetGopY | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/PheDuyetGopY/TuChoiPheDuyetGopY\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1PheDuyetGopYTuChoiPheDuyetGopY(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1PheDuyetGopYTuChoiPheDuyetGopY(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1PheDuyetGopYTuChoiPheDuyetGopY(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1PheDuyetGopYDuyetTrucTiepKhiXuLy(body: DuyetTrucTiepKhiXuLyModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/PheDuyetGopY/DuyetTrucTiepKhiXuLy\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1PheDuyetGopYDuyetTrucTiepKhiXuLy(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1PheDuyetGopYDuyetTrucTiepKhiXuLy(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1PheDuyetGopYDuyetTrucTiepKhiXuLy(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1PheDuyetGopYApproveFeedback(body: number | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/PheDuyetGopY/ApproveFeedback\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1PheDuyetGopYApproveFeedback(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1PheDuyetGopYApproveFeedback(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1PheDuyetGopYApproveFeedback(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1PheDuyetGopYRejectFeedback(body: number | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/PheDuyetGopY/RejectFeedback\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1PheDuyetGopYRejectFeedback(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1PheDuyetGopYRejectFeedback(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1PheDuyetGopYRejectFeedback(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYPheDuyetHoanThanhXuLyGopY(body: PostPheDuyetHoanThanhGopYModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/ThongKeGopY/PheDuyetHoanThanhXuLyGopY\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1ThongKeGopYPheDuyetHoanThanhXuLyGopY(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1ThongKeGopYPheDuyetHoanThanhXuLyGopY(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1ThongKeGopYPheDuyetHoanThanhXuLyGopY(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYGetThongTinDinhKemDonViTraPhanHoi(id: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/ThongKeGopY/GetThongTinDinhKemDonViTraPhanHoi/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1ThongKeGopYGetThongTinDinhKemDonViTraPhanHoi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1ThongKeGopYGetThongTinDinhKemDonViTraPhanHoi(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1ThongKeGopYGetThongTinDinhKemDonViTraPhanHoi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ThongTinDinhKemDonViPhanHoiModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYSelectInfomationContent(id: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/ThongKeGopY/SelectInfomationContent/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1ThongKeGopYSelectInfomationContent(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1ThongKeGopYSelectInfomationContent(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1ThongKeGopYSelectInfomationContent(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ViewDetailContentModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYChuyenDonViXuLy(body: ChuyenDonViXuLyModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/ThongKeGopY/ChuyenDonViXuLy\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1ThongKeGopYChuyenDonViXuLy(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1ThongKeGopYChuyenDonViXuLy(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1ThongKeGopYChuyenDonViXuLy(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYPhanHoiGopY(body: PhanHoiGopYModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/ThongKeGopY/PhanHoiGopY\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1ThongKeGopYPhanHoiGopY(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1ThongKeGopYPhanHoiGopY(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1ThongKeGopYPhanHoiGopY(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYSelectContent(type: number, id: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/ThongKeGopY/SelectContent/{type}/{id}\";\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1ThongKeGopYSelectContent(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1ThongKeGopYSelectContent(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1ThongKeGopYSelectContent(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ContentDetailOfPostApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYSelectAllWithViewModel(body: ClProcess | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/ThongKeGopY/SelectAllWithViewModel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1ThongKeGopYSelectAllWithViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1ThongKeGopYSelectAllWithViewModel(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1ThongKeGopYSelectAllWithViewModel(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ThongKeGopYViewModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYThongTinDinhKemPhanCongXuLy(id: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/ThongKeGopY/ThongTinDinhKemPhanCongXuLy/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1ThongKeGopYThongTinDinhKemPhanCongXuLy(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1ThongKeGopYThongTinDinhKemPhanCongXuLy(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1ThongKeGopYThongTinDinhKemPhanCongXuLy(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ThongTinDinhKemPhanCongXuLyModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYGetUserInUnitCurrent() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/ThongKeGopY/GetUserInUnitCurrent\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1ThongKeGopYGetUserInUnitCurrent(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1ThongKeGopYGetUserInUnitCurrent(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1ThongKeGopYGetUserInUnitCurrent(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserInUnitModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYTrash(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/ThongKeGopY/Trash/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1ThongKeGopYTrash(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1ThongKeGopYTrash(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1ThongKeGopYTrash(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYUndo(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/ThongKeGopY/Undo/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1ThongKeGopYUndo(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1ThongKeGopYUndo(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1ThongKeGopYUndo(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYProcessingStatus(body: ThongKeGopYView | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/ThongKeGopY/ProcessingStatus\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1ThongKeGopYProcessingStatus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1ThongKeGopYProcessingStatus(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1ThongKeGopYProcessingStatus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NoidunggopyEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYFeedback(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/ThongKeGopY/Feedback/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1ThongKeGopYFeedback(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1ThongKeGopYFeedback(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1ThongKeGopYFeedback(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYSelectMauNdgopy() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/ThongKeGopY/SelectMauNdgopy\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1ThongKeGopYSelectMauNdgopy(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1ThongKeGopYSelectMauNdgopy(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1ThongKeGopYSelectMauNdgopy(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmtudienEntityListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYPagingData(body: FeedbackContentModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/ThongKeGopY/PagingData\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1ThongKeGopYPagingData(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1ThongKeGopYPagingData(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1ThongKeGopYPagingData(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYSelectByKey(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/ThongKeGopY/SelectByKey/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1ThongKeGopYSelectByKey(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1ThongKeGopYSelectByKey(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1ThongKeGopYSelectByKey(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYDeleteSpam(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/ThongKeGopY/DeleteSpam/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1ThongKeGopYDeleteSpam(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1ThongKeGopYDeleteSpam(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1ThongKeGopYDeleteSpam(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYPaging(body: PageModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/ThongKeGopY/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1ThongKeGopYPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1ThongKeGopYPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1ThongKeGopYPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYSelectOne(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/ThongKeGopY/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1ThongKeGopYSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1ThongKeGopYSelectOne(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1ThongKeGopYSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NoidunggopyEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYSelectAll() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/ThongKeGopY/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1ThongKeGopYSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1ThongKeGopYSelectAll(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1ThongKeGopYSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYInsert(body: NoidunggopyEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/ThongKeGopY/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1ThongKeGopYInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1ThongKeGopYInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1ThongKeGopYInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYUpdate(body: NoidunggopyEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/ThongKeGopY/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1ThongKeGopYUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1ThongKeGopYUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1ThongKeGopYUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1ThongKeGopYDelete(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/ThongKeGopY/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1ThongKeGopYDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1ThongKeGopYDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1ThongKeGopYDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1TrangThaiPaging(body: PageModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/TrangThai/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1TrangThaiPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1TrangThaiPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1TrangThaiPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1TrangThaiSelectOne(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/TrangThai/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1TrangThaiSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1TrangThaiSelectOne(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1TrangThaiSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmtrangthaiEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1TrangThaiSelectAll() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/TrangThai/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1TrangThaiSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1TrangThaiSelectAll(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1TrangThaiSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1TrangThaiInsert(body: DmtrangthaiEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/TrangThai/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1TrangThaiInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1TrangThaiInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1TrangThaiInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1TrangThaiUpdate(body: DmtrangthaiEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/TrangThai/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1TrangThaiUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1TrangThaiUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1TrangThaiUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1TrangThaiDelete(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/TrangThai/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1TrangThaiDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1TrangThaiDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1TrangThaiDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYGetViewActionXuLyGopY(id: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/XuLyGopY/GetViewActionXuLyGopY/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1XuLyGopYGetViewActionXuLyGopY(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1XuLyGopYGetViewActionXuLyGopY(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1XuLyGopYGetViewActionXuLyGopY(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ViewActionXuLyGopYModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYSelectAllWithViewModel(body: ClProcess | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/XuLyGopY/SelectAllWithViewModel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1XuLyGopYSelectAllWithViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1XuLyGopYSelectAllWithViewModel(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1XuLyGopYSelectAllWithViewModel(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ThongKeGopYViewModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYPostXuLyGopY(body: PostXuLyGopYModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/XuLyGopY/PostXuLyGopY\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1XuLyGopYPostXuLyGopY(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1XuLyGopYPostXuLyGopY(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1XuLyGopYPostXuLyGopY(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYSelectMauNdkqxl() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/XuLyGopY/SelectMauNdkqxl\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1XuLyGopYSelectMauNdkqxl(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1XuLyGopYSelectMauNdkqxl(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1XuLyGopYSelectMauNdkqxl(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MauphanhoiEntityListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYSelectXulyphaanh() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/XuLyGopY/SelectXulyphaanh\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1XuLyGopYSelectXulyphaanh(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1XuLyGopYSelectXulyphaanh(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1XuLyGopYSelectXulyphaanh(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmtudienEntityListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYSelectDonVi() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/XuLyGopY/SelectDonVi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1XuLyGopYSelectDonVi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1XuLyGopYSelectDonVi(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1XuLyGopYSelectDonVi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmdonviEntityListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYTuChoiXuLyGopY(body: number | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/XuLyGopY/TuChoiXuLyGopY\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1XuLyGopYTuChoiXuLyGopY(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1XuLyGopYTuChoiXuLyGopY(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1XuLyGopYTuChoiXuLyGopY(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYRejectFeedback(body: RejectFeedbackModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/XuLyGopY/RejectFeedback\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1XuLyGopYRejectFeedback(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1XuLyGopYRejectFeedback(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1XuLyGopYRejectFeedback(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYRequestApproveFeedback(body: RequestApproveFeedbackModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/XuLyGopY/RequestApproveFeedback\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1XuLyGopYRequestApproveFeedback(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1XuLyGopYRequestApproveFeedback(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1XuLyGopYRequestApproveFeedback(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param idNoidung (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYSelecDonviXuly(idNoidung: number | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/XuLyGopY/SelecDonviXuly?\";\r\n if (idNoidung === null)\r\n throw new Error(\"The parameter 'idNoidung' cannot be null.\");\r\n else if (idNoidung !== undefined)\r\n url_ += \"idNoidung=\" + encodeURIComponent(\"\" + idNoidung) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1XuLyGopYSelecDonviXuly(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1XuLyGopYSelecDonviXuly(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1XuLyGopYSelecDonviXuly(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DonviphoihopxulyEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYPaging(body: PageModel | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/XuLyGopY/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1XuLyGopYPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1XuLyGopYPaging(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1XuLyGopYPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYSelectOne(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/XuLyGopY/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1XuLyGopYSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1XuLyGopYSelectOne(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1XuLyGopYSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = XulygopyEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYSelectAll() : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/XuLyGopY/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1XuLyGopYSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1XuLyGopYSelectAll(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1XuLyGopYSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYInsert(body: XulygopyEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/XuLyGopY/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1XuLyGopYInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1XuLyGopYInsert(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1XuLyGopYInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYUpdate(body: XulygopyEntity | undefined) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/XuLyGopY/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json-patch+json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1XuLyGopYUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1XuLyGopYUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1XuLyGopYUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appGopyApiV1XuLyGopYDelete(key: number) : Observable {\r\n let url_ = this.baseUrl + \"/App/Gopy/api/v1/XuLyGopY/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAppGopyApiV1XuLyGopYDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppGopyApiV1XuLyGopYDelete(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAppGopyApiV1XuLyGopYDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n}\r\n\r\nexport enum AggregateFunction {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n _6 = 6,\r\n _7 = 7,\r\n _8 = 8,\r\n _9 = 9,\r\n _10 = 10,\r\n _11 = 11,\r\n _12 = 12,\r\n _13 = 13,\r\n _14 = 14,\r\n _15 = 15,\r\n _16 = 16,\r\n}\r\n\r\nexport class ApiResponse implements IApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: boolean;\r\n\r\n constructor(data?: IApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data;\r\n return data; \r\n }\r\n\r\n clone(): ApiResponse {\r\n const json = this.toJSON();\r\n let result = new ApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: boolean;\r\n}\r\n\r\nexport class Assembly implements IAssembly {\r\n readonly definedTypes?: TypeInfo[] | undefined;\r\n readonly exportedTypes?: Type[] | undefined;\r\n readonly codeBase?: string | undefined;\r\n entryPoint?: MethodInfo;\r\n readonly fullName?: string | undefined;\r\n readonly imageRuntimeVersion?: string | undefined;\r\n readonly isDynamic?: boolean;\r\n readonly location?: string | undefined;\r\n readonly reflectionOnly?: boolean;\r\n readonly isCollectible?: boolean;\r\n readonly isFullyTrusted?: boolean;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly escapedCodeBase?: string | undefined;\r\n manifestModule?: Module;\r\n readonly modules?: Module[] | undefined;\r\n readonly globalAssemblyCache?: boolean;\r\n readonly hostContext?: number;\r\n securityRuleSet?: SecurityRuleSet;\r\n\r\n constructor(data?: IAssembly) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.definedTypes) {\r\n this.definedTypes = [];\r\n for (let i = 0; i < data.definedTypes.length; i++) {\r\n let item = data.definedTypes[i];\r\n this.definedTypes[i] = item && !(item).toJSON ? new TypeInfo(item) : item;\r\n }\r\n }\r\n if (data.exportedTypes) {\r\n this.exportedTypes = [];\r\n for (let i = 0; i < data.exportedTypes.length; i++) {\r\n let item = data.exportedTypes[i];\r\n this.exportedTypes[i] = item && !(item).toJSON ? new Type(item) : item;\r\n }\r\n }\r\n this.entryPoint = data.entryPoint && !(data.entryPoint).toJSON ? new MethodInfo(data.entryPoint) : this.entryPoint; \r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.manifestModule = data.manifestModule && !(data.manifestModule).toJSON ? new Module(data.manifestModule) : this.manifestModule; \r\n if (data.modules) {\r\n this.modules = [];\r\n for (let i = 0; i < data.modules.length; i++) {\r\n let item = data.modules[i];\r\n this.modules[i] = item && !(item).toJSON ? new Module(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"definedTypes\"])) {\r\n (this).definedTypes = [] as any;\r\n for (let item of _data[\"definedTypes\"])\r\n (this).definedTypes!.push(TypeInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"exportedTypes\"])) {\r\n (this).exportedTypes = [] as any;\r\n for (let item of _data[\"exportedTypes\"])\r\n (this).exportedTypes!.push(Type.fromJS(item));\r\n }\r\n (this).codeBase = _data[\"codeBase\"];\r\n this.entryPoint = _data[\"entryPoint\"] ? MethodInfo.fromJS(_data[\"entryPoint\"]) : undefined;\r\n (this).fullName = _data[\"fullName\"];\r\n (this).imageRuntimeVersion = _data[\"imageRuntimeVersion\"];\r\n (this).isDynamic = _data[\"isDynamic\"];\r\n (this).location = _data[\"location\"];\r\n (this).reflectionOnly = _data[\"reflectionOnly\"];\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).isFullyTrusted = _data[\"isFullyTrusted\"];\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).escapedCodeBase = _data[\"escapedCodeBase\"];\r\n this.manifestModule = _data[\"manifestModule\"] ? Module.fromJS(_data[\"manifestModule\"]) : undefined;\r\n if (Array.isArray(_data[\"modules\"])) {\r\n (this).modules = [] as any;\r\n for (let item of _data[\"modules\"])\r\n (this).modules!.push(Module.fromJS(item));\r\n }\r\n (this).globalAssemblyCache = _data[\"globalAssemblyCache\"];\r\n (this).hostContext = _data[\"hostContext\"];\r\n this.securityRuleSet = _data[\"securityRuleSet\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Assembly {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Assembly();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.definedTypes)) {\r\n data[\"definedTypes\"] = [];\r\n for (let item of this.definedTypes)\r\n data[\"definedTypes\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.exportedTypes)) {\r\n data[\"exportedTypes\"] = [];\r\n for (let item of this.exportedTypes)\r\n data[\"exportedTypes\"].push(item.toJSON());\r\n }\r\n data[\"codeBase\"] = this.codeBase;\r\n data[\"entryPoint\"] = this.entryPoint ? this.entryPoint.toJSON() : undefined;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"imageRuntimeVersion\"] = this.imageRuntimeVersion;\r\n data[\"isDynamic\"] = this.isDynamic;\r\n data[\"location\"] = this.location;\r\n data[\"reflectionOnly\"] = this.reflectionOnly;\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"isFullyTrusted\"] = this.isFullyTrusted;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"escapedCodeBase\"] = this.escapedCodeBase;\r\n data[\"manifestModule\"] = this.manifestModule ? this.manifestModule.toJSON() : undefined;\r\n if (Array.isArray(this.modules)) {\r\n data[\"modules\"] = [];\r\n for (let item of this.modules)\r\n data[\"modules\"].push(item.toJSON());\r\n }\r\n data[\"globalAssemblyCache\"] = this.globalAssemblyCache;\r\n data[\"hostContext\"] = this.hostContext;\r\n data[\"securityRuleSet\"] = this.securityRuleSet;\r\n return data; \r\n }\r\n\r\n clone(): Assembly {\r\n const json = this.toJSON();\r\n let result = new Assembly();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IAssembly {\r\n definedTypes?: ITypeInfo[] | undefined;\r\n exportedTypes?: IType[] | undefined;\r\n codeBase?: string | undefined;\r\n entryPoint?: IMethodInfo;\r\n fullName?: string | undefined;\r\n imageRuntimeVersion?: string | undefined;\r\n isDynamic?: boolean;\r\n location?: string | undefined;\r\n reflectionOnly?: boolean;\r\n isCollectible?: boolean;\r\n isFullyTrusted?: boolean;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n escapedCodeBase?: string | undefined;\r\n manifestModule?: IModule;\r\n modules?: IModule[] | undefined;\r\n globalAssemblyCache?: boolean;\r\n hostContext?: number;\r\n securityRuleSet?: SecurityRuleSet;\r\n}\r\n\r\nexport class BaiDangCaNhanModel implements IBaiDangCaNhanModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n thoiGian?: Date;\r\n trangThai?: string | undefined;\r\n color?: string | undefined;\r\n trangThaiCongKhai?: boolean;\r\n\r\n constructor(data?: IBaiDangCaNhanModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tieuDe = _data[\"tieuDe\"];\r\n this.thoiGian = _data[\"thoiGian\"] ? new Date(_data[\"thoiGian\"].toString()) : undefined;\r\n this.trangThai = _data[\"trangThai\"];\r\n this.color = _data[\"color\"];\r\n this.trangThaiCongKhai = _data[\"trangThaiCongKhai\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BaiDangCaNhanModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BaiDangCaNhanModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tieuDe\"] = this.tieuDe;\r\n data[\"thoiGian\"] = this.thoiGian ? this.thoiGian.toISOString() : undefined;\r\n data[\"trangThai\"] = this.trangThai;\r\n data[\"color\"] = this.color;\r\n data[\"trangThaiCongKhai\"] = this.trangThaiCongKhai;\r\n return data; \r\n }\r\n\r\n clone(): BaiDangCaNhanModel {\r\n const json = this.toJSON();\r\n let result = new BaiDangCaNhanModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IBaiDangCaNhanModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n thoiGian?: Date;\r\n trangThai?: string | undefined;\r\n color?: string | undefined;\r\n trangThaiCongKhai?: boolean;\r\n}\r\n\r\nexport class BaiDangCaNhanModelListApiResponse implements IBaiDangCaNhanModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: BaiDangCaNhanModel[] | undefined;\r\n\r\n constructor(data?: IBaiDangCaNhanModelListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new BaiDangCaNhanModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(BaiDangCaNhanModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): BaiDangCaNhanModelListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BaiDangCaNhanModelListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): BaiDangCaNhanModelListApiResponse {\r\n const json = this.toJSON();\r\n let result = new BaiDangCaNhanModelListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IBaiDangCaNhanModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IBaiDangCaNhanModel[] | undefined;\r\n}\r\n\r\nexport class BannerRightInformationModel implements IBannerRightInformationModel {\r\n comments?: CommentsNewModel[] | undefined;\r\n linhVucs?: LinhVucInfoModel[] | undefined;\r\n diaBans?: DiaBanInfoModel[] | undefined;\r\n tienIchs?: DanhMucTienIchModel[] | undefined;\r\n\r\n constructor(data?: IBannerRightInformationModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.comments) {\r\n this.comments = [];\r\n for (let i = 0; i < data.comments.length; i++) {\r\n let item = data.comments[i];\r\n this.comments[i] = item && !(item).toJSON ? new CommentsNewModel(item) : item;\r\n }\r\n }\r\n if (data.linhVucs) {\r\n this.linhVucs = [];\r\n for (let i = 0; i < data.linhVucs.length; i++) {\r\n let item = data.linhVucs[i];\r\n this.linhVucs[i] = item && !(item).toJSON ? new LinhVucInfoModel(item) : item;\r\n }\r\n }\r\n if (data.diaBans) {\r\n this.diaBans = [];\r\n for (let i = 0; i < data.diaBans.length; i++) {\r\n let item = data.diaBans[i];\r\n this.diaBans[i] = item && !(item).toJSON ? new DiaBanInfoModel(item) : item;\r\n }\r\n }\r\n if (data.tienIchs) {\r\n this.tienIchs = [];\r\n for (let i = 0; i < data.tienIchs.length; i++) {\r\n let item = data.tienIchs[i];\r\n this.tienIchs[i] = item && !(item).toJSON ? new DanhMucTienIchModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"comments\"])) {\r\n this.comments = [] as any;\r\n for (let item of _data[\"comments\"])\r\n this.comments!.push(CommentsNewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"linhVucs\"])) {\r\n this.linhVucs = [] as any;\r\n for (let item of _data[\"linhVucs\"])\r\n this.linhVucs!.push(LinhVucInfoModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"diaBans\"])) {\r\n this.diaBans = [] as any;\r\n for (let item of _data[\"diaBans\"])\r\n this.diaBans!.push(DiaBanInfoModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"tienIchs\"])) {\r\n this.tienIchs = [] as any;\r\n for (let item of _data[\"tienIchs\"])\r\n this.tienIchs!.push(DanhMucTienIchModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): BannerRightInformationModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BannerRightInformationModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.comments)) {\r\n data[\"comments\"] = [];\r\n for (let item of this.comments)\r\n data[\"comments\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.linhVucs)) {\r\n data[\"linhVucs\"] = [];\r\n for (let item of this.linhVucs)\r\n data[\"linhVucs\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.diaBans)) {\r\n data[\"diaBans\"] = [];\r\n for (let item of this.diaBans)\r\n data[\"diaBans\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.tienIchs)) {\r\n data[\"tienIchs\"] = [];\r\n for (let item of this.tienIchs)\r\n data[\"tienIchs\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): BannerRightInformationModel {\r\n const json = this.toJSON();\r\n let result = new BannerRightInformationModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IBannerRightInformationModel {\r\n comments?: ICommentsNewModel[] | undefined;\r\n linhVucs?: ILinhVucInfoModel[] | undefined;\r\n diaBans?: IDiaBanInfoModel[] | undefined;\r\n tienIchs?: IDanhMucTienIchModel[] | undefined;\r\n}\r\n\r\nexport class BannerRightInformationModelApiResponse implements IBannerRightInformationModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: BannerRightInformationModel;\r\n\r\n constructor(data?: IBannerRightInformationModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new BannerRightInformationModel(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? BannerRightInformationModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): BannerRightInformationModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BannerRightInformationModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): BannerRightInformationModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new BannerRightInformationModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IBannerRightInformationModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IBannerRightInformationModel;\r\n}\r\n\r\nexport class BaoCaoThongKeXuLyModel implements IBaoCaoThongKeXuLyModel {\r\n id?: number;\r\n chuDe?: string | undefined;\r\n linhVuc?: string | undefined;\r\n diaDiem?: string | undefined;\r\n ngayTao?: Date;\r\n donViXuLy?: string | undefined;\r\n trangThai?: string | undefined;\r\n color?: string | undefined;\r\n\r\n constructor(data?: IBaoCaoThongKeXuLyModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.chuDe = _data[\"chuDe\"];\r\n this.linhVuc = _data[\"linhVuc\"];\r\n this.diaDiem = _data[\"diaDiem\"];\r\n this.ngayTao = _data[\"ngayTao\"] ? new Date(_data[\"ngayTao\"].toString()) : undefined;\r\n this.donViXuLy = _data[\"donViXuLy\"];\r\n this.trangThai = _data[\"trangThai\"];\r\n this.color = _data[\"color\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BaoCaoThongKeXuLyModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BaoCaoThongKeXuLyModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"chuDe\"] = this.chuDe;\r\n data[\"linhVuc\"] = this.linhVuc;\r\n data[\"diaDiem\"] = this.diaDiem;\r\n data[\"ngayTao\"] = this.ngayTao ? this.ngayTao.toISOString() : undefined;\r\n data[\"donViXuLy\"] = this.donViXuLy;\r\n data[\"trangThai\"] = this.trangThai;\r\n data[\"color\"] = this.color;\r\n return data; \r\n }\r\n\r\n clone(): BaoCaoThongKeXuLyModel {\r\n const json = this.toJSON();\r\n let result = new BaoCaoThongKeXuLyModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IBaoCaoThongKeXuLyModel {\r\n id?: number;\r\n chuDe?: string | undefined;\r\n linhVuc?: string | undefined;\r\n diaDiem?: string | undefined;\r\n ngayTao?: Date;\r\n donViXuLy?: string | undefined;\r\n trangThai?: string | undefined;\r\n color?: string | undefined;\r\n}\r\n\r\nexport class BaoCaoThongKeXuLyModelListPageModelView implements IBaoCaoThongKeXuLyModelListPageModelView {\r\n data?: BaoCaoThongKeXuLyModel[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IBaoCaoThongKeXuLyModelListPageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new BaoCaoThongKeXuLyModel(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(BaoCaoThongKeXuLyModel.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BaoCaoThongKeXuLyModelListPageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BaoCaoThongKeXuLyModelListPageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data; \r\n }\r\n\r\n clone(): BaoCaoThongKeXuLyModelListPageModelView {\r\n const json = this.toJSON();\r\n let result = new BaoCaoThongKeXuLyModelListPageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IBaoCaoThongKeXuLyModelListPageModelView {\r\n data?: IBaoCaoThongKeXuLyModel[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class BaoCaoThongKeXuLyModelListPageModelViewApiResponse implements IBaoCaoThongKeXuLyModelListPageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: BaoCaoThongKeXuLyModelListPageModelView;\r\n\r\n constructor(data?: IBaoCaoThongKeXuLyModelListPageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new BaoCaoThongKeXuLyModelListPageModelView(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? BaoCaoThongKeXuLyModelListPageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): BaoCaoThongKeXuLyModelListPageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BaoCaoThongKeXuLyModelListPageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): BaoCaoThongKeXuLyModelListPageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new BaoCaoThongKeXuLyModelListPageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IBaoCaoThongKeXuLyModelListPageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IBaoCaoThongKeXuLyModelListPageModelView;\r\n}\r\n\r\nexport class BinhluangopyEntity implements IBinhluangopyEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n filevideo?: string | undefined;\r\n id?: number;\r\n idnoidunggopy?: number | undefined;\r\n idthanhvien?: number | undefined;\r\n likes?: number | undefined;\r\n noidungbinhluan?: string | undefined;\r\n ngaybinhluan?: Date;\r\n parentid?: number | undefined;\r\n noidunggopy?: NoidunggopyEntity;\r\n thanhvien?: ThanhvienEntity;\r\n\r\n constructor(data?: IBinhluangopyEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n this.noidunggopy = data.noidunggopy && !(data.noidunggopy).toJSON ? new NoidunggopyEntity(data.noidunggopy) : this.noidunggopy; \r\n this.thanhvien = data.thanhvien && !(data.thanhvien).toJSON ? new ThanhvienEntity(data.thanhvien) : this.thanhvien; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.filevideo = _data[\"filevideo\"];\r\n this.id = _data[\"id\"];\r\n this.idnoidunggopy = _data[\"idnoidunggopy\"];\r\n this.idthanhvien = _data[\"idthanhvien\"];\r\n this.likes = _data[\"likes\"];\r\n this.noidungbinhluan = _data[\"noidungbinhluan\"];\r\n this.ngaybinhluan = _data[\"ngaybinhluan\"] ? new Date(_data[\"ngaybinhluan\"].toString()) : undefined;\r\n this.parentid = _data[\"parentid\"];\r\n this.noidunggopy = _data[\"noidunggopy\"] ? NoidunggopyEntity.fromJS(_data[\"noidunggopy\"]) : undefined;\r\n this.thanhvien = _data[\"thanhvien\"] ? ThanhvienEntity.fromJS(_data[\"thanhvien\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): BinhluangopyEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BinhluangopyEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"filevideo\"] = this.filevideo;\r\n data[\"id\"] = this.id;\r\n data[\"idnoidunggopy\"] = this.idnoidunggopy;\r\n data[\"idthanhvien\"] = this.idthanhvien;\r\n data[\"likes\"] = this.likes;\r\n data[\"noidungbinhluan\"] = this.noidungbinhluan;\r\n data[\"ngaybinhluan\"] = this.ngaybinhluan ? this.ngaybinhluan.toISOString() : undefined;\r\n data[\"parentid\"] = this.parentid;\r\n data[\"noidunggopy\"] = this.noidunggopy ? this.noidunggopy.toJSON() : undefined;\r\n data[\"thanhvien\"] = this.thanhvien ? this.thanhvien.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): BinhluangopyEntity {\r\n const json = this.toJSON();\r\n let result = new BinhluangopyEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IBinhluangopyEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n filevideo?: string | undefined;\r\n id?: number;\r\n idnoidunggopy?: number | undefined;\r\n idthanhvien?: number | undefined;\r\n likes?: number | undefined;\r\n noidungbinhluan?: string | undefined;\r\n ngaybinhluan?: Date;\r\n parentid?: number | undefined;\r\n noidunggopy?: INoidunggopyEntity;\r\n thanhvien?: IThanhvienEntity;\r\n}\r\n\r\nexport class Calendar implements ICalendar {\r\n readonly minSupportedDateTime?: Date;\r\n readonly maxSupportedDateTime?: Date;\r\n algorithmType?: CalendarAlgorithmType;\r\n readonly isReadOnly?: boolean;\r\n readonly eras?: number[] | undefined;\r\n twoDigitYearMax?: number;\r\n\r\n constructor(data?: ICalendar) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).minSupportedDateTime = _data[\"minSupportedDateTime\"] ? new Date(_data[\"minSupportedDateTime\"].toString()) : undefined;\r\n (this).maxSupportedDateTime = _data[\"maxSupportedDateTime\"] ? new Date(_data[\"maxSupportedDateTime\"].toString()) : undefined;\r\n this.algorithmType = _data[\"algorithmType\"];\r\n (this).isReadOnly = _data[\"isReadOnly\"];\r\n if (Array.isArray(_data[\"eras\"])) {\r\n (this).eras = [] as any;\r\n for (let item of _data[\"eras\"])\r\n (this).eras!.push(item);\r\n }\r\n this.twoDigitYearMax = _data[\"twoDigitYearMax\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Calendar {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Calendar();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"minSupportedDateTime\"] = this.minSupportedDateTime ? this.minSupportedDateTime.toISOString() : undefined;\r\n data[\"maxSupportedDateTime\"] = this.maxSupportedDateTime ? this.maxSupportedDateTime.toISOString() : undefined;\r\n data[\"algorithmType\"] = this.algorithmType;\r\n data[\"isReadOnly\"] = this.isReadOnly;\r\n if (Array.isArray(this.eras)) {\r\n data[\"eras\"] = [];\r\n for (let item of this.eras)\r\n data[\"eras\"].push(item);\r\n }\r\n data[\"twoDigitYearMax\"] = this.twoDigitYearMax;\r\n return data; \r\n }\r\n\r\n clone(): Calendar {\r\n const json = this.toJSON();\r\n let result = new Calendar();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICalendar {\r\n minSupportedDateTime?: Date;\r\n maxSupportedDateTime?: Date;\r\n algorithmType?: CalendarAlgorithmType;\r\n isReadOnly?: boolean;\r\n eras?: number[] | undefined;\r\n twoDigitYearMax?: number;\r\n}\r\n\r\nexport enum CalendarAlgorithmType {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n}\r\n\r\nexport enum CalendarWeekRule {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n}\r\n\r\nexport enum CallingConventions {\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _32 = 32,\r\n _64 = 64,\r\n}\r\n\r\nexport class CanBoDonViXuLyGopYModel implements ICanBoDonViXuLyGopYModel {\r\n id?: number;\r\n maCanBo?: string | undefined;\r\n tenCanBo?: string | undefined;\r\n\r\n constructor(data?: ICanBoDonViXuLyGopYModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.maCanBo = _data[\"maCanBo\"];\r\n this.tenCanBo = _data[\"tenCanBo\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CanBoDonViXuLyGopYModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CanBoDonViXuLyGopYModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"maCanBo\"] = this.maCanBo;\r\n data[\"tenCanBo\"] = this.tenCanBo;\r\n return data; \r\n }\r\n\r\n clone(): CanBoDonViXuLyGopYModel {\r\n const json = this.toJSON();\r\n let result = new CanBoDonViXuLyGopYModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICanBoDonViXuLyGopYModel {\r\n id?: number;\r\n maCanBo?: string | undefined;\r\n tenCanBo?: string | undefined;\r\n}\r\n\r\nexport class CategoryFilterModel implements ICategoryFilterModel {\r\n value?: number;\r\n name?: string | undefined;\r\n\r\n constructor(data?: ICategoryFilterModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.value = _data[\"value\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CategoryFilterModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CategoryFilterModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value;\r\n data[\"name\"] = this.name;\r\n return data; \r\n }\r\n\r\n clone(): CategoryFilterModel {\r\n const json = this.toJSON();\r\n let result = new CategoryFilterModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICategoryFilterModel {\r\n value?: number;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class CauhinhtiepnhangopyEntity implements ICauhinhtiepnhangopyEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n status?: number | undefined;\r\n unitid?: number | undefined;\r\n userid?: number | undefined;\r\n\r\n constructor(data?: ICauhinhtiepnhangopyEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.id = _data[\"id\"];\r\n this.status = _data[\"status\"];\r\n this.unitid = _data[\"unitid\"];\r\n this.userid = _data[\"userid\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CauhinhtiepnhangopyEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CauhinhtiepnhangopyEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"id\"] = this.id;\r\n data[\"status\"] = this.status;\r\n data[\"unitid\"] = this.unitid;\r\n data[\"userid\"] = this.userid;\r\n return data; \r\n }\r\n\r\n clone(): CauhinhtiepnhangopyEntity {\r\n const json = this.toJSON();\r\n let result = new CauhinhtiepnhangopyEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICauhinhtiepnhangopyEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n status?: number | undefined;\r\n unitid?: number | undefined;\r\n userid?: number | undefined;\r\n}\r\n\r\nexport class CauhinhtiepnhangopyEntityApiResponse implements ICauhinhtiepnhangopyEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: CauhinhtiepnhangopyEntity;\r\n\r\n constructor(data?: ICauhinhtiepnhangopyEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new CauhinhtiepnhangopyEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? CauhinhtiepnhangopyEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): CauhinhtiepnhangopyEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CauhinhtiepnhangopyEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): CauhinhtiepnhangopyEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new CauhinhtiepnhangopyEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICauhinhtiepnhangopyEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ICauhinhtiepnhangopyEntity;\r\n}\r\n\r\nexport class CauHinhTiepNhanGopYInfoModel implements ICauHinhTiepNhanGopYInfoModel {\r\n lstDonVi?: DonViPhongBanSelect[] | undefined;\r\n lstPhongBan?: DonViPhongBanSelect[] | undefined;\r\n lstUser?: UserSelect[] | undefined;\r\n\r\n constructor(data?: ICauHinhTiepNhanGopYInfoModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstDonVi) {\r\n this.lstDonVi = [];\r\n for (let i = 0; i < data.lstDonVi.length; i++) {\r\n let item = data.lstDonVi[i];\r\n this.lstDonVi[i] = item && !(item).toJSON ? new DonViPhongBanSelect(item) : item;\r\n }\r\n }\r\n if (data.lstPhongBan) {\r\n this.lstPhongBan = [];\r\n for (let i = 0; i < data.lstPhongBan.length; i++) {\r\n let item = data.lstPhongBan[i];\r\n this.lstPhongBan[i] = item && !(item).toJSON ? new DonViPhongBanSelect(item) : item;\r\n }\r\n }\r\n if (data.lstUser) {\r\n this.lstUser = [];\r\n for (let i = 0; i < data.lstUser.length; i++) {\r\n let item = data.lstUser[i];\r\n this.lstUser[i] = item && !(item).toJSON ? new UserSelect(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"lstDonVi\"])) {\r\n this.lstDonVi = [] as any;\r\n for (let item of _data[\"lstDonVi\"])\r\n this.lstDonVi!.push(DonViPhongBanSelect.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstPhongBan\"])) {\r\n this.lstPhongBan = [] as any;\r\n for (let item of _data[\"lstPhongBan\"])\r\n this.lstPhongBan!.push(DonViPhongBanSelect.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstUser\"])) {\r\n this.lstUser = [] as any;\r\n for (let item of _data[\"lstUser\"])\r\n this.lstUser!.push(UserSelect.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CauHinhTiepNhanGopYInfoModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CauHinhTiepNhanGopYInfoModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.lstDonVi)) {\r\n data[\"lstDonVi\"] = [];\r\n for (let item of this.lstDonVi)\r\n data[\"lstDonVi\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstPhongBan)) {\r\n data[\"lstPhongBan\"] = [];\r\n for (let item of this.lstPhongBan)\r\n data[\"lstPhongBan\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstUser)) {\r\n data[\"lstUser\"] = [];\r\n for (let item of this.lstUser)\r\n data[\"lstUser\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): CauHinhTiepNhanGopYInfoModel {\r\n const json = this.toJSON();\r\n let result = new CauHinhTiepNhanGopYInfoModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICauHinhTiepNhanGopYInfoModel {\r\n lstDonVi?: IDonViPhongBanSelect[] | undefined;\r\n lstPhongBan?: IDonViPhongBanSelect[] | undefined;\r\n lstUser?: IUserSelect[] | undefined;\r\n}\r\n\r\nexport class CauHinhTiepNhanGopYInfoModelApiResponse implements ICauHinhTiepNhanGopYInfoModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: CauHinhTiepNhanGopYInfoModel;\r\n\r\n constructor(data?: ICauHinhTiepNhanGopYInfoModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new CauHinhTiepNhanGopYInfoModel(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? CauHinhTiepNhanGopYInfoModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): CauHinhTiepNhanGopYInfoModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CauHinhTiepNhanGopYInfoModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): CauHinhTiepNhanGopYInfoModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new CauHinhTiepNhanGopYInfoModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICauHinhTiepNhanGopYInfoModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ICauHinhTiepNhanGopYInfoModel;\r\n}\r\n\r\nexport class CauHinhTiepNhanGopYPagingModel implements ICauHinhTiepNhanGopYPagingModel {\r\n id?: number;\r\n unit?: string | undefined;\r\n user?: string | undefined;\r\n status?: string | undefined;\r\n\r\n constructor(data?: ICauHinhTiepNhanGopYPagingModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.unit = _data[\"unit\"];\r\n this.user = _data[\"user\"];\r\n this.status = _data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CauHinhTiepNhanGopYPagingModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CauHinhTiepNhanGopYPagingModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"unit\"] = this.unit;\r\n data[\"user\"] = this.user;\r\n data[\"status\"] = this.status;\r\n return data; \r\n }\r\n\r\n clone(): CauHinhTiepNhanGopYPagingModel {\r\n const json = this.toJSON();\r\n let result = new CauHinhTiepNhanGopYPagingModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICauHinhTiepNhanGopYPagingModel {\r\n id?: number;\r\n unit?: string | undefined;\r\n user?: string | undefined;\r\n status?: string | undefined;\r\n}\r\n\r\nexport class CauHinhTiepNhanGopYPagingModelIEnumerablePageModelView implements ICauHinhTiepNhanGopYPagingModelIEnumerablePageModelView {\r\n data?: CauHinhTiepNhanGopYPagingModel[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: ICauHinhTiepNhanGopYPagingModelIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new CauHinhTiepNhanGopYPagingModel(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(CauHinhTiepNhanGopYPagingModel.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CauHinhTiepNhanGopYPagingModelIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CauHinhTiepNhanGopYPagingModelIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data; \r\n }\r\n\r\n clone(): CauHinhTiepNhanGopYPagingModelIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new CauHinhTiepNhanGopYPagingModelIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICauHinhTiepNhanGopYPagingModelIEnumerablePageModelView {\r\n data?: ICauHinhTiepNhanGopYPagingModel[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class CauHinhTiepNhanGopYPagingModelIEnumerablePageModelViewApiResponse implements ICauHinhTiepNhanGopYPagingModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: CauHinhTiepNhanGopYPagingModelIEnumerablePageModelView;\r\n\r\n constructor(data?: ICauHinhTiepNhanGopYPagingModelIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new CauHinhTiepNhanGopYPagingModelIEnumerablePageModelView(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? CauHinhTiepNhanGopYPagingModelIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): CauHinhTiepNhanGopYPagingModelIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CauHinhTiepNhanGopYPagingModelIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): CauHinhTiepNhanGopYPagingModelIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new CauHinhTiepNhanGopYPagingModelIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICauHinhTiepNhanGopYPagingModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ICauHinhTiepNhanGopYPagingModelIEnumerablePageModelView;\r\n}\r\n\r\nexport class ChartData implements IChartData {\r\n titleId?: string | undefined;\r\n title?: string | undefined;\r\n lstValue?: ChartDataHorizontalModel;\r\n\r\n constructor(data?: IChartData) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.lstValue = data.lstValue && !(data.lstValue).toJSON ? new ChartDataHorizontalModel(data.lstValue) : this.lstValue; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.titleId = _data[\"titleId\"];\r\n this.title = _data[\"title\"];\r\n this.lstValue = _data[\"lstValue\"] ? ChartDataHorizontalModel.fromJS(_data[\"lstValue\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChartData {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChartData();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"titleId\"] = this.titleId;\r\n data[\"title\"] = this.title;\r\n data[\"lstValue\"] = this.lstValue ? this.lstValue.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): ChartData {\r\n const json = this.toJSON();\r\n let result = new ChartData();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IChartData {\r\n titleId?: string | undefined;\r\n title?: string | undefined;\r\n lstValue?: IChartDataHorizontalModel;\r\n}\r\n\r\nexport class ChartDataHorizontalModel implements IChartDataHorizontalModel {\r\n valueDaXuLy?: number;\r\n valueChuaXuLy?: number;\r\n\r\n constructor(data?: IChartDataHorizontalModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.valueDaXuLy = _data[\"valueDaXuLy\"];\r\n this.valueChuaXuLy = _data[\"valueChuaXuLy\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChartDataHorizontalModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChartDataHorizontalModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"valueDaXuLy\"] = this.valueDaXuLy;\r\n data[\"valueChuaXuLy\"] = this.valueChuaXuLy;\r\n return data; \r\n }\r\n\r\n clone(): ChartDataHorizontalModel {\r\n const json = this.toJSON();\r\n let result = new ChartDataHorizontalModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IChartDataHorizontalModel {\r\n valueDaXuLy?: number;\r\n valueChuaXuLy?: number;\r\n}\r\n\r\nexport class ChinhSuaDanhMucModel implements IChinhSuaDanhMucModel {\r\n value?: number;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IChinhSuaDanhMucModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.value = _data[\"value\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChinhSuaDanhMucModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChinhSuaDanhMucModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value;\r\n data[\"name\"] = this.name;\r\n return data; \r\n }\r\n\r\n clone(): ChinhSuaDanhMucModel {\r\n const json = this.toJSON();\r\n let result = new ChinhSuaDanhMucModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IChinhSuaDanhMucModel {\r\n value?: number;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class ChinhsuanoidunggopyEntity implements IChinhsuanoidunggopyEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n diadiem?: string | undefined;\r\n huyen?: number | undefined;\r\n id?: number;\r\n linkvideo?: number | undefined;\r\n linhvucid?: number | undefined;\r\n noidung?: string | undefined;\r\n noidungid?: number;\r\n tieude?: string | undefined;\r\n xa?: number | undefined;\r\n noidunggopy?: NoidunggopyEntity;\r\n\r\n constructor(data?: IChinhsuanoidunggopyEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n this.noidunggopy = data.noidunggopy && !(data.noidunggopy).toJSON ? new NoidunggopyEntity(data.noidunggopy) : this.noidunggopy; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.diadiem = _data[\"diadiem\"];\r\n this.huyen = _data[\"huyen\"];\r\n this.id = _data[\"id\"];\r\n this.linkvideo = _data[\"linkvideo\"];\r\n this.linhvucid = _data[\"linhvucid\"];\r\n this.noidung = _data[\"noidung\"];\r\n this.noidungid = _data[\"noidungid\"];\r\n this.tieude = _data[\"tieude\"];\r\n this.xa = _data[\"xa\"];\r\n this.noidunggopy = _data[\"noidunggopy\"] ? NoidunggopyEntity.fromJS(_data[\"noidunggopy\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChinhsuanoidunggopyEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChinhsuanoidunggopyEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"diadiem\"] = this.diadiem;\r\n data[\"huyen\"] = this.huyen;\r\n data[\"id\"] = this.id;\r\n data[\"linkvideo\"] = this.linkvideo;\r\n data[\"linhvucid\"] = this.linhvucid;\r\n data[\"noidung\"] = this.noidung;\r\n data[\"noidungid\"] = this.noidungid;\r\n data[\"tieude\"] = this.tieude;\r\n data[\"xa\"] = this.xa;\r\n data[\"noidunggopy\"] = this.noidunggopy ? this.noidunggopy.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): ChinhsuanoidunggopyEntity {\r\n const json = this.toJSON();\r\n let result = new ChinhsuanoidunggopyEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IChinhsuanoidunggopyEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n diadiem?: string | undefined;\r\n huyen?: number | undefined;\r\n id?: number;\r\n linkvideo?: number | undefined;\r\n linhvucid?: number | undefined;\r\n noidung?: string | undefined;\r\n noidungid?: number;\r\n tieude?: string | undefined;\r\n xa?: number | undefined;\r\n noidunggopy?: INoidunggopyEntity;\r\n}\r\n\r\nexport class ChiTietGopYFileModel implements IChiTietGopYFileModel {\r\n fileId?: number;\r\n fileName?: string | undefined;\r\n\r\n constructor(data?: IChiTietGopYFileModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fileId = _data[\"fileId\"];\r\n this.fileName = _data[\"fileName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChiTietGopYFileModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChiTietGopYFileModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fileId\"] = this.fileId;\r\n data[\"fileName\"] = this.fileName;\r\n return data; \r\n }\r\n\r\n clone(): ChiTietGopYFileModel {\r\n const json = this.toJSON();\r\n let result = new ChiTietGopYFileModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IChiTietGopYFileModel {\r\n fileId?: number;\r\n fileName?: string | undefined;\r\n}\r\n\r\nexport class ChiTietGopYModel implements IChiTietGopYModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n diaDiem?: string | undefined;\r\n ngayGopY?: Date;\r\n noiDung?: string | undefined;\r\n tenLinhVuc?: string | undefined;\r\n trangThaiXuLY?: number | undefined;\r\n nguoiGuiGopY?: NguoiGuiGopYModel;\r\n categories?: ChinhSuaDanhMucModel[] | undefined;\r\n lstAnhHoiDinhKem?: ChiTietGopYFileModel[] | undefined;\r\n lstFileHoiDinhKem?: ChiTietGopYFileModel[] | undefined;\r\n lstFileTraLoiDinhKem?: ChiTietGopYFileModel[] | undefined;\r\n isReplied?: boolean;\r\n cauTraLoi?: string | undefined;\r\n ngayTraLoi?: Date;\r\n donViTraLoi?: string | undefined;\r\n isShowProcess?: boolean;\r\n isShowApprove?: boolean;\r\n isShowAssignToEmployees?: boolean;\r\n\r\n constructor(data?: IChiTietGopYModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.nguoiGuiGopY = data.nguoiGuiGopY && !(data.nguoiGuiGopY).toJSON ? new NguoiGuiGopYModel(data.nguoiGuiGopY) : this.nguoiGuiGopY; \r\n if (data.categories) {\r\n this.categories = [];\r\n for (let i = 0; i < data.categories.length; i++) {\r\n let item = data.categories[i];\r\n this.categories[i] = item && !(item).toJSON ? new ChinhSuaDanhMucModel(item) : item;\r\n }\r\n }\r\n if (data.lstAnhHoiDinhKem) {\r\n this.lstAnhHoiDinhKem = [];\r\n for (let i = 0; i < data.lstAnhHoiDinhKem.length; i++) {\r\n let item = data.lstAnhHoiDinhKem[i];\r\n this.lstAnhHoiDinhKem[i] = item && !(item).toJSON ? new ChiTietGopYFileModel(item) : item;\r\n }\r\n }\r\n if (data.lstFileHoiDinhKem) {\r\n this.lstFileHoiDinhKem = [];\r\n for (let i = 0; i < data.lstFileHoiDinhKem.length; i++) {\r\n let item = data.lstFileHoiDinhKem[i];\r\n this.lstFileHoiDinhKem[i] = item && !(item).toJSON ? new ChiTietGopYFileModel(item) : item;\r\n }\r\n }\r\n if (data.lstFileTraLoiDinhKem) {\r\n this.lstFileTraLoiDinhKem = [];\r\n for (let i = 0; i < data.lstFileTraLoiDinhKem.length; i++) {\r\n let item = data.lstFileTraLoiDinhKem[i];\r\n this.lstFileTraLoiDinhKem[i] = item && !(item).toJSON ? new ChiTietGopYFileModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tieuDe = _data[\"tieuDe\"];\r\n this.diaDiem = _data[\"diaDiem\"];\r\n this.ngayGopY = _data[\"ngayGopY\"] ? new Date(_data[\"ngayGopY\"].toString()) : undefined;\r\n this.noiDung = _data[\"noiDung\"];\r\n this.tenLinhVuc = _data[\"tenLinhVuc\"];\r\n this.trangThaiXuLY = _data[\"trangThaiXuLY\"];\r\n this.nguoiGuiGopY = _data[\"nguoiGuiGopY\"] ? NguoiGuiGopYModel.fromJS(_data[\"nguoiGuiGopY\"]) : undefined;\r\n if (Array.isArray(_data[\"categories\"])) {\r\n this.categories = [] as any;\r\n for (let item of _data[\"categories\"])\r\n this.categories!.push(ChinhSuaDanhMucModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstAnhHoiDinhKem\"])) {\r\n this.lstAnhHoiDinhKem = [] as any;\r\n for (let item of _data[\"lstAnhHoiDinhKem\"])\r\n this.lstAnhHoiDinhKem!.push(ChiTietGopYFileModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstFileHoiDinhKem\"])) {\r\n this.lstFileHoiDinhKem = [] as any;\r\n for (let item of _data[\"lstFileHoiDinhKem\"])\r\n this.lstFileHoiDinhKem!.push(ChiTietGopYFileModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstFileTraLoiDinhKem\"])) {\r\n this.lstFileTraLoiDinhKem = [] as any;\r\n for (let item of _data[\"lstFileTraLoiDinhKem\"])\r\n this.lstFileTraLoiDinhKem!.push(ChiTietGopYFileModel.fromJS(item));\r\n }\r\n this.isReplied = _data[\"isReplied\"];\r\n this.cauTraLoi = _data[\"cauTraLoi\"];\r\n this.ngayTraLoi = _data[\"ngayTraLoi\"] ? new Date(_data[\"ngayTraLoi\"].toString()) : undefined;\r\n this.donViTraLoi = _data[\"donViTraLoi\"];\r\n this.isShowProcess = _data[\"isShowProcess\"];\r\n this.isShowApprove = _data[\"isShowApprove\"];\r\n this.isShowAssignToEmployees = _data[\"isShowAssignToEmployees\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChiTietGopYModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChiTietGopYModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tieuDe\"] = this.tieuDe;\r\n data[\"diaDiem\"] = this.diaDiem;\r\n data[\"ngayGopY\"] = this.ngayGopY ? this.ngayGopY.toISOString() : undefined;\r\n data[\"noiDung\"] = this.noiDung;\r\n data[\"tenLinhVuc\"] = this.tenLinhVuc;\r\n data[\"trangThaiXuLY\"] = this.trangThaiXuLY;\r\n data[\"nguoiGuiGopY\"] = this.nguoiGuiGopY ? this.nguoiGuiGopY.toJSON() : undefined;\r\n if (Array.isArray(this.categories)) {\r\n data[\"categories\"] = [];\r\n for (let item of this.categories)\r\n data[\"categories\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstAnhHoiDinhKem)) {\r\n data[\"lstAnhHoiDinhKem\"] = [];\r\n for (let item of this.lstAnhHoiDinhKem)\r\n data[\"lstAnhHoiDinhKem\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstFileHoiDinhKem)) {\r\n data[\"lstFileHoiDinhKem\"] = [];\r\n for (let item of this.lstFileHoiDinhKem)\r\n data[\"lstFileHoiDinhKem\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstFileTraLoiDinhKem)) {\r\n data[\"lstFileTraLoiDinhKem\"] = [];\r\n for (let item of this.lstFileTraLoiDinhKem)\r\n data[\"lstFileTraLoiDinhKem\"].push(item.toJSON());\r\n }\r\n data[\"isReplied\"] = this.isReplied;\r\n data[\"cauTraLoi\"] = this.cauTraLoi;\r\n data[\"ngayTraLoi\"] = this.ngayTraLoi ? this.ngayTraLoi.toISOString() : undefined;\r\n data[\"donViTraLoi\"] = this.donViTraLoi;\r\n data[\"isShowProcess\"] = this.isShowProcess;\r\n data[\"isShowApprove\"] = this.isShowApprove;\r\n data[\"isShowAssignToEmployees\"] = this.isShowAssignToEmployees;\r\n return data; \r\n }\r\n\r\n clone(): ChiTietGopYModel {\r\n const json = this.toJSON();\r\n let result = new ChiTietGopYModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IChiTietGopYModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n diaDiem?: string | undefined;\r\n ngayGopY?: Date;\r\n noiDung?: string | undefined;\r\n tenLinhVuc?: string | undefined;\r\n trangThaiXuLY?: number | undefined;\r\n nguoiGuiGopY?: INguoiGuiGopYModel;\r\n categories?: IChinhSuaDanhMucModel[] | undefined;\r\n lstAnhHoiDinhKem?: IChiTietGopYFileModel[] | undefined;\r\n lstFileHoiDinhKem?: IChiTietGopYFileModel[] | undefined;\r\n lstFileTraLoiDinhKem?: IChiTietGopYFileModel[] | undefined;\r\n isReplied?: boolean;\r\n cauTraLoi?: string | undefined;\r\n ngayTraLoi?: Date;\r\n donViTraLoi?: string | undefined;\r\n isShowProcess?: boolean;\r\n isShowApprove?: boolean;\r\n isShowAssignToEmployees?: boolean;\r\n}\r\n\r\nexport class ChiTietGopYModelApiResponse implements IChiTietGopYModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ChiTietGopYModel;\r\n\r\n constructor(data?: IChiTietGopYModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ChiTietGopYModel(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ChiTietGopYModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChiTietGopYModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChiTietGopYModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): ChiTietGopYModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new ChiTietGopYModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IChiTietGopYModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IChiTietGopYModel;\r\n}\r\n\r\nexport class ChuyenDonViXuLyModel implements IChuyenDonViXuLyModel {\r\n noiDungId?: number;\r\n donViXuLyId?: number;\r\n thoiGianXuLyDenNgay?: Date;\r\n lstDonViPhoiHopId?: number[] | undefined;\r\n yKienChuyenDonVi?: string | undefined;\r\n noiDungTraLoi?: string | undefined;\r\n lstFiles?: FileChuyenDonViXuLyModel[] | undefined;\r\n chiaSe?: boolean;\r\n isChangeContent?: boolean;\r\n thongTinEdit?: ThongTinDinhKemChuyenDonViXuLyModel;\r\n\r\n constructor(data?: IChuyenDonViXuLyModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstFiles) {\r\n this.lstFiles = [];\r\n for (let i = 0; i < data.lstFiles.length; i++) {\r\n let item = data.lstFiles[i];\r\n this.lstFiles[i] = item && !(item).toJSON ? new FileChuyenDonViXuLyModel(item) : item;\r\n }\r\n }\r\n this.thongTinEdit = data.thongTinEdit && !(data.thongTinEdit).toJSON ? new ThongTinDinhKemChuyenDonViXuLyModel(data.thongTinEdit) : this.thongTinEdit; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.noiDungId = _data[\"noiDungId\"];\r\n this.donViXuLyId = _data[\"donViXuLyId\"];\r\n this.thoiGianXuLyDenNgay = _data[\"thoiGianXuLyDenNgay\"] ? new Date(_data[\"thoiGianXuLyDenNgay\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"lstDonViPhoiHopId\"])) {\r\n this.lstDonViPhoiHopId = [] as any;\r\n for (let item of _data[\"lstDonViPhoiHopId\"])\r\n this.lstDonViPhoiHopId!.push(item);\r\n }\r\n this.yKienChuyenDonVi = _data[\"yKienChuyenDonVi\"];\r\n this.noiDungTraLoi = _data[\"noiDungTraLoi\"];\r\n if (Array.isArray(_data[\"lstFiles\"])) {\r\n this.lstFiles = [] as any;\r\n for (let item of _data[\"lstFiles\"])\r\n this.lstFiles!.push(FileChuyenDonViXuLyModel.fromJS(item));\r\n }\r\n this.chiaSe = _data[\"chiaSe\"];\r\n this.isChangeContent = _data[\"isChangeContent\"];\r\n this.thongTinEdit = _data[\"thongTinEdit\"] ? ThongTinDinhKemChuyenDonViXuLyModel.fromJS(_data[\"thongTinEdit\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChuyenDonViXuLyModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChuyenDonViXuLyModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"noiDungId\"] = this.noiDungId;\r\n data[\"donViXuLyId\"] = this.donViXuLyId;\r\n data[\"thoiGianXuLyDenNgay\"] = this.thoiGianXuLyDenNgay ? this.thoiGianXuLyDenNgay.toISOString() : undefined;\r\n if (Array.isArray(this.lstDonViPhoiHopId)) {\r\n data[\"lstDonViPhoiHopId\"] = [];\r\n for (let item of this.lstDonViPhoiHopId)\r\n data[\"lstDonViPhoiHopId\"].push(item);\r\n }\r\n data[\"yKienChuyenDonVi\"] = this.yKienChuyenDonVi;\r\n data[\"noiDungTraLoi\"] = this.noiDungTraLoi;\r\n if (Array.isArray(this.lstFiles)) {\r\n data[\"lstFiles\"] = [];\r\n for (let item of this.lstFiles)\r\n data[\"lstFiles\"].push(item.toJSON());\r\n }\r\n data[\"chiaSe\"] = this.chiaSe;\r\n data[\"isChangeContent\"] = this.isChangeContent;\r\n data[\"thongTinEdit\"] = this.thongTinEdit ? this.thongTinEdit.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): ChuyenDonViXuLyModel {\r\n const json = this.toJSON();\r\n let result = new ChuyenDonViXuLyModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IChuyenDonViXuLyModel {\r\n noiDungId?: number;\r\n donViXuLyId?: number;\r\n thoiGianXuLyDenNgay?: Date;\r\n lstDonViPhoiHopId?: number[] | undefined;\r\n yKienChuyenDonVi?: string | undefined;\r\n noiDungTraLoi?: string | undefined;\r\n lstFiles?: IFileChuyenDonViXuLyModel[] | undefined;\r\n chiaSe?: boolean;\r\n isChangeContent?: boolean;\r\n thongTinEdit?: IThongTinDinhKemChuyenDonViXuLyModel;\r\n}\r\n\r\nexport class ChuyenXuLyDataForm implements IChuyenXuLyDataForm {\r\n lstDonVi?: ChuyenXuLyDonViModel[] | undefined;\r\n unitCode?: string | undefined;\r\n\r\n constructor(data?: IChuyenXuLyDataForm) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstDonVi) {\r\n this.lstDonVi = [];\r\n for (let i = 0; i < data.lstDonVi.length; i++) {\r\n let item = data.lstDonVi[i];\r\n this.lstDonVi[i] = item && !(item).toJSON ? new ChuyenXuLyDonViModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"lstDonVi\"])) {\r\n this.lstDonVi = [] as any;\r\n for (let item of _data[\"lstDonVi\"])\r\n this.lstDonVi!.push(ChuyenXuLyDonViModel.fromJS(item));\r\n }\r\n this.unitCode = _data[\"unitCode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChuyenXuLyDataForm {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChuyenXuLyDataForm();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.lstDonVi)) {\r\n data[\"lstDonVi\"] = [];\r\n for (let item of this.lstDonVi)\r\n data[\"lstDonVi\"].push(item.toJSON());\r\n }\r\n data[\"unitCode\"] = this.unitCode;\r\n return data; \r\n }\r\n\r\n clone(): ChuyenXuLyDataForm {\r\n const json = this.toJSON();\r\n let result = new ChuyenXuLyDataForm();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IChuyenXuLyDataForm {\r\n lstDonVi?: IChuyenXuLyDonViModel[] | undefined;\r\n unitCode?: string | undefined;\r\n}\r\n\r\nexport class ChuyenXuLyDataFormApiResponse implements IChuyenXuLyDataFormApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ChuyenXuLyDataForm;\r\n\r\n constructor(data?: IChuyenXuLyDataFormApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ChuyenXuLyDataForm(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ChuyenXuLyDataForm.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChuyenXuLyDataFormApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChuyenXuLyDataFormApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): ChuyenXuLyDataFormApiResponse {\r\n const json = this.toJSON();\r\n let result = new ChuyenXuLyDataFormApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IChuyenXuLyDataFormApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IChuyenXuLyDataForm;\r\n}\r\n\r\nexport class ChuyenXuLyDonViModel implements IChuyenXuLyDonViModel {\r\n id?: number;\r\n value?: string | undefined;\r\n name?: string | undefined;\r\n maDonViCha?: string | undefined;\r\n type?: number | undefined;\r\n\r\n constructor(data?: IChuyenXuLyDonViModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.value = _data[\"value\"];\r\n this.name = _data[\"name\"];\r\n this.maDonViCha = _data[\"maDonViCha\"];\r\n this.type = _data[\"type\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChuyenXuLyDonViModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChuyenXuLyDonViModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"value\"] = this.value;\r\n data[\"name\"] = this.name;\r\n data[\"maDonViCha\"] = this.maDonViCha;\r\n data[\"type\"] = this.type;\r\n return data; \r\n }\r\n\r\n clone(): ChuyenXuLyDonViModel {\r\n const json = this.toJSON();\r\n let result = new ChuyenXuLyDonViModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IChuyenXuLyDonViModel {\r\n id?: number;\r\n value?: string | undefined;\r\n name?: string | undefined;\r\n maDonViCha?: string | undefined;\r\n type?: number | undefined;\r\n}\r\n\r\nexport class ClProcess implements IClProcess {\r\n pageModel?: PageModel;\r\n isProcess?: string | undefined;\r\n ckProcess?: boolean;\r\n notCheckUnit?: boolean | undefined;\r\n\r\n constructor(data?: IClProcess) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.pageModel = data.pageModel && !(data.pageModel).toJSON ? new PageModel(data.pageModel) : this.pageModel; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.pageModel = _data[\"pageModel\"] ? PageModel.fromJS(_data[\"pageModel\"]) : undefined;\r\n this.isProcess = _data[\"isProcess\"];\r\n this.ckProcess = _data[\"ckProcess\"];\r\n this.notCheckUnit = _data[\"notCheckUnit\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ClProcess {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ClProcess();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"pageModel\"] = this.pageModel ? this.pageModel.toJSON() : undefined;\r\n data[\"isProcess\"] = this.isProcess;\r\n data[\"ckProcess\"] = this.ckProcess;\r\n data[\"notCheckUnit\"] = this.notCheckUnit;\r\n return data; \r\n }\r\n\r\n clone(): ClProcess {\r\n const json = this.toJSON();\r\n let result = new ClProcess();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IClProcess {\r\n pageModel?: IPageModel;\r\n isProcess?: string | undefined;\r\n ckProcess?: boolean;\r\n notCheckUnit?: boolean | undefined;\r\n}\r\n\r\nexport class CommentInPostAnswerModel implements ICommentInPostAnswerModel {\r\n id?: number;\r\n idMember?: number | undefined;\r\n idFeedBack?: number | undefined;\r\n name?: string | undefined;\r\n image?: string | undefined;\r\n time?: Date;\r\n comment?: string | undefined;\r\n like?: number | undefined;\r\n parentId?: number | undefined;\r\n\r\n constructor(data?: ICommentInPostAnswerModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.idMember = _data[\"idMember\"];\r\n this.idFeedBack = _data[\"idFeedBack\"];\r\n this.name = _data[\"name\"];\r\n this.image = _data[\"image\"];\r\n this.time = _data[\"time\"] ? new Date(_data[\"time\"].toString()) : undefined;\r\n this.comment = _data[\"comment\"];\r\n this.like = _data[\"like\"];\r\n this.parentId = _data[\"parentId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CommentInPostAnswerModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CommentInPostAnswerModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"idMember\"] = this.idMember;\r\n data[\"idFeedBack\"] = this.idFeedBack;\r\n data[\"name\"] = this.name;\r\n data[\"image\"] = this.image;\r\n data[\"time\"] = this.time ? this.time.toISOString() : undefined;\r\n data[\"comment\"] = this.comment;\r\n data[\"like\"] = this.like;\r\n data[\"parentId\"] = this.parentId;\r\n return data; \r\n }\r\n\r\n clone(): CommentInPostAnswerModel {\r\n const json = this.toJSON();\r\n let result = new CommentInPostAnswerModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICommentInPostAnswerModel {\r\n id?: number;\r\n idMember?: number | undefined;\r\n idFeedBack?: number | undefined;\r\n name?: string | undefined;\r\n image?: string | undefined;\r\n time?: Date;\r\n comment?: string | undefined;\r\n like?: number | undefined;\r\n parentId?: number | undefined;\r\n}\r\n\r\nexport class CommentInPostAnswerModelApiResponse implements ICommentInPostAnswerModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: CommentInPostAnswerModel;\r\n\r\n constructor(data?: ICommentInPostAnswerModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new CommentInPostAnswerModel(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? CommentInPostAnswerModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): CommentInPostAnswerModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CommentInPostAnswerModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): CommentInPostAnswerModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new CommentInPostAnswerModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICommentInPostAnswerModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ICommentInPostAnswerModel;\r\n}\r\n\r\nexport class CommentModel implements ICommentModel {\r\n id?: number;\r\n idMember?: number | undefined;\r\n idFeedBack?: number | undefined;\r\n name?: string | undefined;\r\n image?: string | undefined;\r\n time?: Date;\r\n comment?: string | undefined;\r\n like?: number | undefined;\r\n parentId?: number | undefined;\r\n lstChildren?: CommentModel[] | undefined;\r\n\r\n constructor(data?: ICommentModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstChildren) {\r\n this.lstChildren = [];\r\n for (let i = 0; i < data.lstChildren.length; i++) {\r\n let item = data.lstChildren[i];\r\n this.lstChildren[i] = item && !(item).toJSON ? new CommentModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.idMember = _data[\"idMember\"];\r\n this.idFeedBack = _data[\"idFeedBack\"];\r\n this.name = _data[\"name\"];\r\n this.image = _data[\"image\"];\r\n this.time = _data[\"time\"] ? new Date(_data[\"time\"].toString()) : undefined;\r\n this.comment = _data[\"comment\"];\r\n this.like = _data[\"like\"];\r\n this.parentId = _data[\"parentId\"];\r\n if (Array.isArray(_data[\"lstChildren\"])) {\r\n this.lstChildren = [] as any;\r\n for (let item of _data[\"lstChildren\"])\r\n this.lstChildren!.push(CommentModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CommentModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CommentModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"idMember\"] = this.idMember;\r\n data[\"idFeedBack\"] = this.idFeedBack;\r\n data[\"name\"] = this.name;\r\n data[\"image\"] = this.image;\r\n data[\"time\"] = this.time ? this.time.toISOString() : undefined;\r\n data[\"comment\"] = this.comment;\r\n data[\"like\"] = this.like;\r\n data[\"parentId\"] = this.parentId;\r\n if (Array.isArray(this.lstChildren)) {\r\n data[\"lstChildren\"] = [];\r\n for (let item of this.lstChildren)\r\n data[\"lstChildren\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): CommentModel {\r\n const json = this.toJSON();\r\n let result = new CommentModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICommentModel {\r\n id?: number;\r\n idMember?: number | undefined;\r\n idFeedBack?: number | undefined;\r\n name?: string | undefined;\r\n image?: string | undefined;\r\n time?: Date;\r\n comment?: string | undefined;\r\n like?: number | undefined;\r\n parentId?: number | undefined;\r\n lstChildren?: ICommentModel[] | undefined;\r\n}\r\n\r\nexport class CommentModelIEnumerableApiResponse implements ICommentModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: CommentModel[] | undefined;\r\n\r\n constructor(data?: ICommentModelIEnumerableApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new CommentModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(CommentModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CommentModelIEnumerableApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CommentModelIEnumerableApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): CommentModelIEnumerableApiResponse {\r\n const json = this.toJSON();\r\n let result = new CommentModelIEnumerableApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICommentModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ICommentModel[] | undefined;\r\n}\r\n\r\nexport class CommentsNewModel implements ICommentsNewModel {\r\n idNoiDung?: number;\r\n idBinhLuan?: number;\r\n tieuDe?: string | undefined;\r\n noiDung?: string | undefined;\r\n name?: string | undefined;\r\n image?: string | undefined;\r\n\r\n constructor(data?: ICommentsNewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.idNoiDung = _data[\"idNoiDung\"];\r\n this.idBinhLuan = _data[\"idBinhLuan\"];\r\n this.tieuDe = _data[\"tieuDe\"];\r\n this.noiDung = _data[\"noiDung\"];\r\n this.name = _data[\"name\"];\r\n this.image = _data[\"image\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CommentsNewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CommentsNewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"idNoiDung\"] = this.idNoiDung;\r\n data[\"idBinhLuan\"] = this.idBinhLuan;\r\n data[\"tieuDe\"] = this.tieuDe;\r\n data[\"noiDung\"] = this.noiDung;\r\n data[\"name\"] = this.name;\r\n data[\"image\"] = this.image;\r\n return data; \r\n }\r\n\r\n clone(): CommentsNewModel {\r\n const json = this.toJSON();\r\n let result = new CommentsNewModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICommentsNewModel {\r\n idNoiDung?: number;\r\n idBinhLuan?: number;\r\n tieuDe?: string | undefined;\r\n noiDung?: string | undefined;\r\n name?: string | undefined;\r\n image?: string | undefined;\r\n}\r\n\r\nexport class CommentsNewModelIListApiResponse implements ICommentsNewModelIListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: CommentsNewModel[] | undefined;\r\n\r\n constructor(data?: ICommentsNewModelIListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new CommentsNewModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(CommentsNewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CommentsNewModelIListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CommentsNewModelIListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): CommentsNewModelIListApiResponse {\r\n const json = this.toJSON();\r\n let result = new CommentsNewModelIListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICommentsNewModelIListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ICommentsNewModel[] | undefined;\r\n}\r\n\r\nexport class CompareInfo implements ICompareInfo {\r\n readonly name?: string | undefined;\r\n version?: SortVersion;\r\n readonly lcid?: number;\r\n\r\n constructor(data?: ICompareInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.version = data.version && !(data.version).toJSON ? new SortVersion(data.version) : this.version; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n this.version = _data[\"version\"] ? SortVersion.fromJS(_data[\"version\"]) : undefined;\r\n (this).lcid = _data[\"lcid\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CompareInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CompareInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"version\"] = this.version ? this.version.toJSON() : undefined;\r\n data[\"lcid\"] = this.lcid;\r\n return data; \r\n }\r\n\r\n clone(): CompareInfo {\r\n const json = this.toJSON();\r\n let result = new CompareInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICompareInfo {\r\n name?: string | undefined;\r\n version?: ISortVersion;\r\n lcid?: number;\r\n}\r\n\r\nexport class CongGopYIndexModel implements ICongGopYIndexModel {\r\n lstNoiDungGopY?: PostsIndexModel[] | undefined;\r\n lstBinhLuanMoi?: CommentsNewModel[] | undefined;\r\n\r\n constructor(data?: ICongGopYIndexModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstNoiDungGopY) {\r\n this.lstNoiDungGopY = [];\r\n for (let i = 0; i < data.lstNoiDungGopY.length; i++) {\r\n let item = data.lstNoiDungGopY[i];\r\n this.lstNoiDungGopY[i] = item && !(item).toJSON ? new PostsIndexModel(item) : item;\r\n }\r\n }\r\n if (data.lstBinhLuanMoi) {\r\n this.lstBinhLuanMoi = [];\r\n for (let i = 0; i < data.lstBinhLuanMoi.length; i++) {\r\n let item = data.lstBinhLuanMoi[i];\r\n this.lstBinhLuanMoi[i] = item && !(item).toJSON ? new CommentsNewModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"lstNoiDungGopY\"])) {\r\n this.lstNoiDungGopY = [] as any;\r\n for (let item of _data[\"lstNoiDungGopY\"])\r\n this.lstNoiDungGopY!.push(PostsIndexModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstBinhLuanMoi\"])) {\r\n this.lstBinhLuanMoi = [] as any;\r\n for (let item of _data[\"lstBinhLuanMoi\"])\r\n this.lstBinhLuanMoi!.push(CommentsNewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CongGopYIndexModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CongGopYIndexModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.lstNoiDungGopY)) {\r\n data[\"lstNoiDungGopY\"] = [];\r\n for (let item of this.lstNoiDungGopY)\r\n data[\"lstNoiDungGopY\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstBinhLuanMoi)) {\r\n data[\"lstBinhLuanMoi\"] = [];\r\n for (let item of this.lstBinhLuanMoi)\r\n data[\"lstBinhLuanMoi\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): CongGopYIndexModel {\r\n const json = this.toJSON();\r\n let result = new CongGopYIndexModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICongGopYIndexModel {\r\n lstNoiDungGopY?: IPostsIndexModel[] | undefined;\r\n lstBinhLuanMoi?: ICommentsNewModel[] | undefined;\r\n}\r\n\r\nexport class CongGopYIndexModelApiResponse implements ICongGopYIndexModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: CongGopYIndexModel;\r\n\r\n constructor(data?: ICongGopYIndexModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new CongGopYIndexModel(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? CongGopYIndexModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): CongGopYIndexModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CongGopYIndexModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): CongGopYIndexModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new CongGopYIndexModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICongGopYIndexModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ICongGopYIndexModel;\r\n}\r\n\r\nexport class ConstructorInfo implements IConstructorInfo {\r\n readonly name?: string | undefined;\r\n declaringType?: Type;\r\n reflectedType?: Type;\r\n module?: Module;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n attributes?: MethodAttributes;\r\n methodImplementationFlags?: MethodImplAttributes;\r\n callingConvention?: CallingConventions;\r\n readonly isAbstract?: boolean;\r\n readonly isConstructor?: boolean;\r\n readonly isFinal?: boolean;\r\n readonly isHideBySig?: boolean;\r\n readonly isSpecialName?: boolean;\r\n readonly isStatic?: boolean;\r\n readonly isVirtual?: boolean;\r\n readonly isAssembly?: boolean;\r\n readonly isFamily?: boolean;\r\n readonly isFamilyAndAssembly?: boolean;\r\n readonly isFamilyOrAssembly?: boolean;\r\n readonly isPrivate?: boolean;\r\n readonly isPublic?: boolean;\r\n readonly isConstructedGenericMethod?: boolean;\r\n readonly isGenericMethod?: boolean;\r\n readonly isGenericMethodDefinition?: boolean;\r\n readonly containsGenericParameters?: boolean;\r\n methodHandle?: RuntimeMethodHandle;\r\n readonly isSecurityCritical?: boolean;\r\n readonly isSecuritySafeCritical?: boolean;\r\n readonly isSecurityTransparent?: boolean;\r\n memberType?: MemberTypes;\r\n\r\n constructor(data?: IConstructorInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType; \r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType; \r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module; \r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.methodHandle = data.methodHandle && !(data.methodHandle).toJSON ? new RuntimeMethodHandle(data.methodHandle) : this.methodHandle; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n this.attributes = _data[\"attributes\"];\r\n this.methodImplementationFlags = _data[\"methodImplementationFlags\"];\r\n this.callingConvention = _data[\"callingConvention\"];\r\n (this).isAbstract = _data[\"isAbstract\"];\r\n (this).isConstructor = _data[\"isConstructor\"];\r\n (this).isFinal = _data[\"isFinal\"];\r\n (this).isHideBySig = _data[\"isHideBySig\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n (this).isStatic = _data[\"isStatic\"];\r\n (this).isVirtual = _data[\"isVirtual\"];\r\n (this).isAssembly = _data[\"isAssembly\"];\r\n (this).isFamily = _data[\"isFamily\"];\r\n (this).isFamilyAndAssembly = _data[\"isFamilyAndAssembly\"];\r\n (this).isFamilyOrAssembly = _data[\"isFamilyOrAssembly\"];\r\n (this).isPrivate = _data[\"isPrivate\"];\r\n (this).isPublic = _data[\"isPublic\"];\r\n (this).isConstructedGenericMethod = _data[\"isConstructedGenericMethod\"];\r\n (this).isGenericMethod = _data[\"isGenericMethod\"];\r\n (this).isGenericMethodDefinition = _data[\"isGenericMethodDefinition\"];\r\n (this).containsGenericParameters = _data[\"containsGenericParameters\"];\r\n this.methodHandle = _data[\"methodHandle\"] ? RuntimeMethodHandle.fromJS(_data[\"methodHandle\"]) : undefined;\r\n (this).isSecurityCritical = _data[\"isSecurityCritical\"];\r\n (this).isSecuritySafeCritical = _data[\"isSecuritySafeCritical\"];\r\n (this).isSecurityTransparent = _data[\"isSecurityTransparent\"];\r\n this.memberType = _data[\"memberType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ConstructorInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ConstructorInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"methodImplementationFlags\"] = this.methodImplementationFlags;\r\n data[\"callingConvention\"] = this.callingConvention;\r\n data[\"isAbstract\"] = this.isAbstract;\r\n data[\"isConstructor\"] = this.isConstructor;\r\n data[\"isFinal\"] = this.isFinal;\r\n data[\"isHideBySig\"] = this.isHideBySig;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"isStatic\"] = this.isStatic;\r\n data[\"isVirtual\"] = this.isVirtual;\r\n data[\"isAssembly\"] = this.isAssembly;\r\n data[\"isFamily\"] = this.isFamily;\r\n data[\"isFamilyAndAssembly\"] = this.isFamilyAndAssembly;\r\n data[\"isFamilyOrAssembly\"] = this.isFamilyOrAssembly;\r\n data[\"isPrivate\"] = this.isPrivate;\r\n data[\"isPublic\"] = this.isPublic;\r\n data[\"isConstructedGenericMethod\"] = this.isConstructedGenericMethod;\r\n data[\"isGenericMethod\"] = this.isGenericMethod;\r\n data[\"isGenericMethodDefinition\"] = this.isGenericMethodDefinition;\r\n data[\"containsGenericParameters\"] = this.containsGenericParameters;\r\n data[\"methodHandle\"] = this.methodHandle ? this.methodHandle.toJSON() : undefined;\r\n data[\"isSecurityCritical\"] = this.isSecurityCritical;\r\n data[\"isSecuritySafeCritical\"] = this.isSecuritySafeCritical;\r\n data[\"isSecurityTransparent\"] = this.isSecurityTransparent;\r\n data[\"memberType\"] = this.memberType;\r\n return data; \r\n }\r\n\r\n clone(): ConstructorInfo {\r\n const json = this.toJSON();\r\n let result = new ConstructorInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IConstructorInfo {\r\n name?: string | undefined;\r\n declaringType?: IType;\r\n reflectedType?: IType;\r\n module?: IModule;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n attributes?: MethodAttributes;\r\n methodImplementationFlags?: MethodImplAttributes;\r\n callingConvention?: CallingConventions;\r\n isAbstract?: boolean;\r\n isConstructor?: boolean;\r\n isFinal?: boolean;\r\n isHideBySig?: boolean;\r\n isSpecialName?: boolean;\r\n isStatic?: boolean;\r\n isVirtual?: boolean;\r\n isAssembly?: boolean;\r\n isFamily?: boolean;\r\n isFamilyAndAssembly?: boolean;\r\n isFamilyOrAssembly?: boolean;\r\n isPrivate?: boolean;\r\n isPublic?: boolean;\r\n isConstructedGenericMethod?: boolean;\r\n isGenericMethod?: boolean;\r\n isGenericMethodDefinition?: boolean;\r\n containsGenericParameters?: boolean;\r\n methodHandle?: IRuntimeMethodHandle;\r\n isSecurityCritical?: boolean;\r\n isSecuritySafeCritical?: boolean;\r\n isSecurityTransparent?: boolean;\r\n memberType?: MemberTypes;\r\n}\r\n\r\nexport class ContentDetailImageOfPost implements IContentDetailImageOfPost {\r\n id?: number;\r\n fileName?: string | undefined;\r\n\r\n constructor(data?: IContentDetailImageOfPost) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fileName = _data[\"fileName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContentDetailImageOfPost {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContentDetailImageOfPost();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fileName\"] = this.fileName;\r\n return data; \r\n }\r\n\r\n clone(): ContentDetailImageOfPost {\r\n const json = this.toJSON();\r\n let result = new ContentDetailImageOfPost();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IContentDetailImageOfPost {\r\n id?: number;\r\n fileName?: string | undefined;\r\n}\r\n\r\nexport class ContentDetailOfPost implements IContentDetailOfPost {\r\n entity?: NoidunggopyEntity;\r\n trangThaiXuLy?: DmtrangthaiEntity;\r\n thanhvienEntity?: ThanhvienEntity;\r\n lstImages?: ContentDetailImageOfPost[] | undefined;\r\n lstFiles?: ContentDetailImageOfPost[] | undefined;\r\n lstUnit?: UnitInContentDetailsOfPost[] | undefined;\r\n lstTemplate?: TemplateReplyPost[] | undefined;\r\n lstLinhVuc?: LinhVucContentDetailOfPost[] | undefined;\r\n lstDiaBan?: DiaBanContentOfPost[] | undefined;\r\n lstUser?: UserInUnitModel[] | undefined;\r\n\r\n constructor(data?: IContentDetailOfPost) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.entity = data.entity && !(data.entity).toJSON ? new NoidunggopyEntity(data.entity) : this.entity; \r\n this.trangThaiXuLy = data.trangThaiXuLy && !(data.trangThaiXuLy).toJSON ? new DmtrangthaiEntity(data.trangThaiXuLy) : this.trangThaiXuLy; \r\n this.thanhvienEntity = data.thanhvienEntity && !(data.thanhvienEntity).toJSON ? new ThanhvienEntity(data.thanhvienEntity) : this.thanhvienEntity; \r\n if (data.lstImages) {\r\n this.lstImages = [];\r\n for (let i = 0; i < data.lstImages.length; i++) {\r\n let item = data.lstImages[i];\r\n this.lstImages[i] = item && !(item).toJSON ? new ContentDetailImageOfPost(item) : item;\r\n }\r\n }\r\n if (data.lstFiles) {\r\n this.lstFiles = [];\r\n for (let i = 0; i < data.lstFiles.length; i++) {\r\n let item = data.lstFiles[i];\r\n this.lstFiles[i] = item && !(item).toJSON ? new ContentDetailImageOfPost(item) : item;\r\n }\r\n }\r\n if (data.lstUnit) {\r\n this.lstUnit = [];\r\n for (let i = 0; i < data.lstUnit.length; i++) {\r\n let item = data.lstUnit[i];\r\n this.lstUnit[i] = item && !(item).toJSON ? new UnitInContentDetailsOfPost(item) : item;\r\n }\r\n }\r\n if (data.lstTemplate) {\r\n this.lstTemplate = [];\r\n for (let i = 0; i < data.lstTemplate.length; i++) {\r\n let item = data.lstTemplate[i];\r\n this.lstTemplate[i] = item && !(item).toJSON ? new TemplateReplyPost(item) : item;\r\n }\r\n }\r\n if (data.lstLinhVuc) {\r\n this.lstLinhVuc = [];\r\n for (let i = 0; i < data.lstLinhVuc.length; i++) {\r\n let item = data.lstLinhVuc[i];\r\n this.lstLinhVuc[i] = item && !(item).toJSON ? new LinhVucContentDetailOfPost(item) : item;\r\n }\r\n }\r\n if (data.lstDiaBan) {\r\n this.lstDiaBan = [];\r\n for (let i = 0; i < data.lstDiaBan.length; i++) {\r\n let item = data.lstDiaBan[i];\r\n this.lstDiaBan[i] = item && !(item).toJSON ? new DiaBanContentOfPost(item) : item;\r\n }\r\n }\r\n if (data.lstUser) {\r\n this.lstUser = [];\r\n for (let i = 0; i < data.lstUser.length; i++) {\r\n let item = data.lstUser[i];\r\n this.lstUser[i] = item && !(item).toJSON ? new UserInUnitModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.entity = _data[\"entity\"] ? NoidunggopyEntity.fromJS(_data[\"entity\"]) : undefined;\r\n this.trangThaiXuLy = _data[\"trangThaiXuLy\"] ? DmtrangthaiEntity.fromJS(_data[\"trangThaiXuLy\"]) : undefined;\r\n this.thanhvienEntity = _data[\"thanhvienEntity\"] ? ThanhvienEntity.fromJS(_data[\"thanhvienEntity\"]) : undefined;\r\n if (Array.isArray(_data[\"lstImages\"])) {\r\n this.lstImages = [] as any;\r\n for (let item of _data[\"lstImages\"])\r\n this.lstImages!.push(ContentDetailImageOfPost.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstFiles\"])) {\r\n this.lstFiles = [] as any;\r\n for (let item of _data[\"lstFiles\"])\r\n this.lstFiles!.push(ContentDetailImageOfPost.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstUnit\"])) {\r\n this.lstUnit = [] as any;\r\n for (let item of _data[\"lstUnit\"])\r\n this.lstUnit!.push(UnitInContentDetailsOfPost.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstTemplate\"])) {\r\n this.lstTemplate = [] as any;\r\n for (let item of _data[\"lstTemplate\"])\r\n this.lstTemplate!.push(TemplateReplyPost.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstLinhVuc\"])) {\r\n this.lstLinhVuc = [] as any;\r\n for (let item of _data[\"lstLinhVuc\"])\r\n this.lstLinhVuc!.push(LinhVucContentDetailOfPost.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstDiaBan\"])) {\r\n this.lstDiaBan = [] as any;\r\n for (let item of _data[\"lstDiaBan\"])\r\n this.lstDiaBan!.push(DiaBanContentOfPost.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstUser\"])) {\r\n this.lstUser = [] as any;\r\n for (let item of _data[\"lstUser\"])\r\n this.lstUser!.push(UserInUnitModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContentDetailOfPost {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContentDetailOfPost();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"entity\"] = this.entity ? this.entity.toJSON() : undefined;\r\n data[\"trangThaiXuLy\"] = this.trangThaiXuLy ? this.trangThaiXuLy.toJSON() : undefined;\r\n data[\"thanhvienEntity\"] = this.thanhvienEntity ? this.thanhvienEntity.toJSON() : undefined;\r\n if (Array.isArray(this.lstImages)) {\r\n data[\"lstImages\"] = [];\r\n for (let item of this.lstImages)\r\n data[\"lstImages\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstFiles)) {\r\n data[\"lstFiles\"] = [];\r\n for (let item of this.lstFiles)\r\n data[\"lstFiles\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstUnit)) {\r\n data[\"lstUnit\"] = [];\r\n for (let item of this.lstUnit)\r\n data[\"lstUnit\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstTemplate)) {\r\n data[\"lstTemplate\"] = [];\r\n for (let item of this.lstTemplate)\r\n data[\"lstTemplate\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstLinhVuc)) {\r\n data[\"lstLinhVuc\"] = [];\r\n for (let item of this.lstLinhVuc)\r\n data[\"lstLinhVuc\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstDiaBan)) {\r\n data[\"lstDiaBan\"] = [];\r\n for (let item of this.lstDiaBan)\r\n data[\"lstDiaBan\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstUser)) {\r\n data[\"lstUser\"] = [];\r\n for (let item of this.lstUser)\r\n data[\"lstUser\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): ContentDetailOfPost {\r\n const json = this.toJSON();\r\n let result = new ContentDetailOfPost();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IContentDetailOfPost {\r\n entity?: INoidunggopyEntity;\r\n trangThaiXuLy?: IDmtrangthaiEntity;\r\n thanhvienEntity?: IThanhvienEntity;\r\n lstImages?: IContentDetailImageOfPost[] | undefined;\r\n lstFiles?: IContentDetailImageOfPost[] | undefined;\r\n lstUnit?: IUnitInContentDetailsOfPost[] | undefined;\r\n lstTemplate?: ITemplateReplyPost[] | undefined;\r\n lstLinhVuc?: ILinhVucContentDetailOfPost[] | undefined;\r\n lstDiaBan?: IDiaBanContentOfPost[] | undefined;\r\n lstUser?: IUserInUnitModel[] | undefined;\r\n}\r\n\r\nexport class ContentDetailOfPostApiResponse implements IContentDetailOfPostApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ContentDetailOfPost;\r\n\r\n constructor(data?: IContentDetailOfPostApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ContentDetailOfPost(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ContentDetailOfPost.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContentDetailOfPostApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContentDetailOfPostApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): ContentDetailOfPostApiResponse {\r\n const json = this.toJSON();\r\n let result = new ContentDetailOfPostApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IContentDetailOfPostApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IContentDetailOfPost;\r\n}\r\n\r\nexport class Context implements IContext {\r\n setExistingEntityFieldsInGet?: boolean;\r\n\r\n constructor(data?: IContext) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.setExistingEntityFieldsInGet = _data[\"setExistingEntityFieldsInGet\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Context {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Context();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"setExistingEntityFieldsInGet\"] = this.setExistingEntityFieldsInGet;\r\n return data; \r\n }\r\n\r\n clone(): Context {\r\n const json = this.toJSON();\r\n let result = new Context();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IContext {\r\n setExistingEntityFieldsInGet?: boolean;\r\n}\r\n\r\nexport class CultureInfo implements ICultureInfo {\r\n parent?: CultureInfo;\r\n readonly lcid?: number;\r\n readonly keyboardLayoutId?: number;\r\n readonly name?: string | undefined;\r\n readonly ietfLanguageTag?: string | undefined;\r\n readonly displayName?: string | undefined;\r\n readonly nativeName?: string | undefined;\r\n readonly englishName?: string | undefined;\r\n readonly twoLetterISOLanguageName?: string | undefined;\r\n readonly threeLetterISOLanguageName?: string | undefined;\r\n readonly threeLetterWindowsLanguageName?: string | undefined;\r\n compareInfo?: CompareInfo;\r\n textInfo?: TextInfo;\r\n readonly isNeutralCulture?: boolean;\r\n cultureTypes?: CultureTypes;\r\n numberFormat?: NumberFormatInfo;\r\n dateTimeFormat?: DateTimeFormatInfo;\r\n calendar?: Calendar;\r\n readonly optionalCalendars?: Calendar[] | undefined;\r\n readonly useUserOverride?: boolean;\r\n readonly isReadOnly?: boolean;\r\n\r\n constructor(data?: ICultureInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.parent = data.parent && !(data.parent).toJSON ? new CultureInfo(data.parent) : this.parent; \r\n this.compareInfo = data.compareInfo && !(data.compareInfo).toJSON ? new CompareInfo(data.compareInfo) : this.compareInfo; \r\n this.textInfo = data.textInfo && !(data.textInfo).toJSON ? new TextInfo(data.textInfo) : this.textInfo; \r\n this.numberFormat = data.numberFormat && !(data.numberFormat).toJSON ? new NumberFormatInfo(data.numberFormat) : this.numberFormat; \r\n this.dateTimeFormat = data.dateTimeFormat && !(data.dateTimeFormat).toJSON ? new DateTimeFormatInfo(data.dateTimeFormat) : this.dateTimeFormat; \r\n this.calendar = data.calendar && !(data.calendar).toJSON ? new Calendar(data.calendar) : this.calendar; \r\n if (data.optionalCalendars) {\r\n this.optionalCalendars = [];\r\n for (let i = 0; i < data.optionalCalendars.length; i++) {\r\n let item = data.optionalCalendars[i];\r\n this.optionalCalendars[i] = item && !(item).toJSON ? new Calendar(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.parent = _data[\"parent\"] ? CultureInfo.fromJS(_data[\"parent\"]) : undefined;\r\n (this).lcid = _data[\"lcid\"];\r\n (this).keyboardLayoutId = _data[\"keyboardLayoutId\"];\r\n (this).name = _data[\"name\"];\r\n (this).ietfLanguageTag = _data[\"ietfLanguageTag\"];\r\n (this).displayName = _data[\"displayName\"];\r\n (this).nativeName = _data[\"nativeName\"];\r\n (this).englishName = _data[\"englishName\"];\r\n (this).twoLetterISOLanguageName = _data[\"twoLetterISOLanguageName\"];\r\n (this).threeLetterISOLanguageName = _data[\"threeLetterISOLanguageName\"];\r\n (this).threeLetterWindowsLanguageName = _data[\"threeLetterWindowsLanguageName\"];\r\n this.compareInfo = _data[\"compareInfo\"] ? CompareInfo.fromJS(_data[\"compareInfo\"]) : undefined;\r\n this.textInfo = _data[\"textInfo\"] ? TextInfo.fromJS(_data[\"textInfo\"]) : undefined;\r\n (this).isNeutralCulture = _data[\"isNeutralCulture\"];\r\n this.cultureTypes = _data[\"cultureTypes\"];\r\n this.numberFormat = _data[\"numberFormat\"] ? NumberFormatInfo.fromJS(_data[\"numberFormat\"]) : undefined;\r\n this.dateTimeFormat = _data[\"dateTimeFormat\"] ? DateTimeFormatInfo.fromJS(_data[\"dateTimeFormat\"]) : undefined;\r\n this.calendar = _data[\"calendar\"] ? Calendar.fromJS(_data[\"calendar\"]) : undefined;\r\n if (Array.isArray(_data[\"optionalCalendars\"])) {\r\n (this).optionalCalendars = [] as any;\r\n for (let item of _data[\"optionalCalendars\"])\r\n (this).optionalCalendars!.push(Calendar.fromJS(item));\r\n }\r\n (this).useUserOverride = _data[\"useUserOverride\"];\r\n (this).isReadOnly = _data[\"isReadOnly\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CultureInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CultureInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"parent\"] = this.parent ? this.parent.toJSON() : undefined;\r\n data[\"lcid\"] = this.lcid;\r\n data[\"keyboardLayoutId\"] = this.keyboardLayoutId;\r\n data[\"name\"] = this.name;\r\n data[\"ietfLanguageTag\"] = this.ietfLanguageTag;\r\n data[\"displayName\"] = this.displayName;\r\n data[\"nativeName\"] = this.nativeName;\r\n data[\"englishName\"] = this.englishName;\r\n data[\"twoLetterISOLanguageName\"] = this.twoLetterISOLanguageName;\r\n data[\"threeLetterISOLanguageName\"] = this.threeLetterISOLanguageName;\r\n data[\"threeLetterWindowsLanguageName\"] = this.threeLetterWindowsLanguageName;\r\n data[\"compareInfo\"] = this.compareInfo ? this.compareInfo.toJSON() : undefined;\r\n data[\"textInfo\"] = this.textInfo ? this.textInfo.toJSON() : undefined;\r\n data[\"isNeutralCulture\"] = this.isNeutralCulture;\r\n data[\"cultureTypes\"] = this.cultureTypes;\r\n data[\"numberFormat\"] = this.numberFormat ? this.numberFormat.toJSON() : undefined;\r\n data[\"dateTimeFormat\"] = this.dateTimeFormat ? this.dateTimeFormat.toJSON() : undefined;\r\n data[\"calendar\"] = this.calendar ? this.calendar.toJSON() : undefined;\r\n if (Array.isArray(this.optionalCalendars)) {\r\n data[\"optionalCalendars\"] = [];\r\n for (let item of this.optionalCalendars)\r\n data[\"optionalCalendars\"].push(item.toJSON());\r\n }\r\n data[\"useUserOverride\"] = this.useUserOverride;\r\n data[\"isReadOnly\"] = this.isReadOnly;\r\n return data; \r\n }\r\n\r\n clone(): CultureInfo {\r\n const json = this.toJSON();\r\n let result = new CultureInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICultureInfo {\r\n parent?: ICultureInfo;\r\n lcid?: number;\r\n keyboardLayoutId?: number;\r\n name?: string | undefined;\r\n ietfLanguageTag?: string | undefined;\r\n displayName?: string | undefined;\r\n nativeName?: string | undefined;\r\n englishName?: string | undefined;\r\n twoLetterISOLanguageName?: string | undefined;\r\n threeLetterISOLanguageName?: string | undefined;\r\n threeLetterWindowsLanguageName?: string | undefined;\r\n compareInfo?: ICompareInfo;\r\n textInfo?: ITextInfo;\r\n isNeutralCulture?: boolean;\r\n cultureTypes?: CultureTypes;\r\n numberFormat?: INumberFormatInfo;\r\n dateTimeFormat?: IDateTimeFormatInfo;\r\n calendar?: ICalendar;\r\n optionalCalendars?: ICalendar[] | undefined;\r\n useUserOverride?: boolean;\r\n isReadOnly?: boolean;\r\n}\r\n\r\nexport enum CultureTypes {\r\n _1 = 1,\r\n _2 = 2,\r\n _4 = 4,\r\n _7 = 7,\r\n _8 = 8,\r\n _16 = 16,\r\n _32 = 32,\r\n _64 = 64,\r\n}\r\n\r\nexport class CustomAttributeData implements ICustomAttributeData {\r\n attributeType?: Type;\r\n constructor_?: ConstructorInfo;\r\n readonly constructorArguments?: CustomAttributeTypedArgument[] | undefined;\r\n readonly namedArguments?: CustomAttributeNamedArgument[] | undefined;\r\n\r\n constructor(data?: ICustomAttributeData) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.attributeType = data.attributeType && !(data.attributeType).toJSON ? new Type(data.attributeType) : this.attributeType; \r\n this.constructor_ = data.constructor_ && !(data.constructor_).toJSON ? new ConstructorInfo(data.constructor_) : this.constructor_; \r\n if (data.constructorArguments) {\r\n this.constructorArguments = [];\r\n for (let i = 0; i < data.constructorArguments.length; i++) {\r\n let item = data.constructorArguments[i];\r\n this.constructorArguments[i] = item && !(item).toJSON ? new CustomAttributeTypedArgument(item) : item;\r\n }\r\n }\r\n if (data.namedArguments) {\r\n this.namedArguments = [];\r\n for (let i = 0; i < data.namedArguments.length; i++) {\r\n let item = data.namedArguments[i];\r\n this.namedArguments[i] = item && !(item).toJSON ? new CustomAttributeNamedArgument(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.attributeType = _data[\"attributeType\"] ? Type.fromJS(_data[\"attributeType\"]) : undefined;\r\n this.constructor_ = _data[\"constructor\"] ? ConstructorInfo.fromJS(_data[\"constructor\"]) : undefined;\r\n if (Array.isArray(_data[\"constructorArguments\"])) {\r\n (this).constructorArguments = [] as any;\r\n for (let item of _data[\"constructorArguments\"])\r\n (this).constructorArguments!.push(CustomAttributeTypedArgument.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"namedArguments\"])) {\r\n (this).namedArguments = [] as any;\r\n for (let item of _data[\"namedArguments\"])\r\n (this).namedArguments!.push(CustomAttributeNamedArgument.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CustomAttributeData {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CustomAttributeData();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"attributeType\"] = this.attributeType ? this.attributeType.toJSON() : undefined;\r\n data[\"constructor\"] = this.constructor_ ? this.constructor_.toJSON() : undefined;\r\n if (Array.isArray(this.constructorArguments)) {\r\n data[\"constructorArguments\"] = [];\r\n for (let item of this.constructorArguments)\r\n data[\"constructorArguments\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.namedArguments)) {\r\n data[\"namedArguments\"] = [];\r\n for (let item of this.namedArguments)\r\n data[\"namedArguments\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): CustomAttributeData {\r\n const json = this.toJSON();\r\n let result = new CustomAttributeData();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICustomAttributeData {\r\n attributeType?: IType;\r\n constructor_?: IConstructorInfo;\r\n constructorArguments?: ICustomAttributeTypedArgument[] | undefined;\r\n namedArguments?: ICustomAttributeNamedArgument[] | undefined;\r\n}\r\n\r\nexport class CustomAttributeNamedArgument implements ICustomAttributeNamedArgument {\r\n memberInfo?: MemberInfo;\r\n typedValue?: CustomAttributeTypedArgument;\r\n readonly memberName?: string | undefined;\r\n readonly isField?: boolean;\r\n\r\n constructor(data?: ICustomAttributeNamedArgument) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.memberInfo = data.memberInfo && !(data.memberInfo).toJSON ? new MemberInfo(data.memberInfo) : this.memberInfo; \r\n this.typedValue = data.typedValue && !(data.typedValue).toJSON ? new CustomAttributeTypedArgument(data.typedValue) : this.typedValue; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberInfo = _data[\"memberInfo\"] ? MemberInfo.fromJS(_data[\"memberInfo\"]) : undefined;\r\n this.typedValue = _data[\"typedValue\"] ? CustomAttributeTypedArgument.fromJS(_data[\"typedValue\"]) : undefined;\r\n (this).memberName = _data[\"memberName\"];\r\n (this).isField = _data[\"isField\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CustomAttributeNamedArgument {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CustomAttributeNamedArgument();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberInfo\"] = this.memberInfo ? this.memberInfo.toJSON() : undefined;\r\n data[\"typedValue\"] = this.typedValue ? this.typedValue.toJSON() : undefined;\r\n data[\"memberName\"] = this.memberName;\r\n data[\"isField\"] = this.isField;\r\n return data; \r\n }\r\n\r\n clone(): CustomAttributeNamedArgument {\r\n const json = this.toJSON();\r\n let result = new CustomAttributeNamedArgument();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICustomAttributeNamedArgument {\r\n memberInfo?: IMemberInfo;\r\n typedValue?: ICustomAttributeTypedArgument;\r\n memberName?: string | undefined;\r\n isField?: boolean;\r\n}\r\n\r\nexport class CustomAttributeTypedArgument implements ICustomAttributeTypedArgument {\r\n argumentType?: Type;\r\n readonly value?: any | undefined;\r\n\r\n constructor(data?: ICustomAttributeTypedArgument) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.argumentType = data.argumentType && !(data.argumentType).toJSON ? new Type(data.argumentType) : this.argumentType; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.argumentType = _data[\"argumentType\"] ? Type.fromJS(_data[\"argumentType\"]) : undefined;\r\n (this).value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CustomAttributeTypedArgument {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CustomAttributeTypedArgument();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"argumentType\"] = this.argumentType ? this.argumentType.toJSON() : undefined;\r\n data[\"value\"] = this.value;\r\n return data; \r\n }\r\n\r\n clone(): CustomAttributeTypedArgument {\r\n const json = this.toJSON();\r\n let result = new CustomAttributeTypedArgument();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICustomAttributeTypedArgument {\r\n argumentType?: IType;\r\n value?: any | undefined;\r\n}\r\n\r\nexport class DanhMucTienIchModel implements IDanhMucTienIchModel {\r\n id?: number;\r\n link?: string | undefined;\r\n fileId?: number;\r\n\r\n constructor(data?: IDanhMucTienIchModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.link = _data[\"link\"];\r\n this.fileId = _data[\"fileId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DanhMucTienIchModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DanhMucTienIchModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"link\"] = this.link;\r\n data[\"fileId\"] = this.fileId;\r\n return data; \r\n }\r\n\r\n clone(): DanhMucTienIchModel {\r\n const json = this.toJSON();\r\n let result = new DanhMucTienIchModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDanhMucTienIchModel {\r\n id?: number;\r\n link?: string | undefined;\r\n fileId?: number;\r\n}\r\n\r\nexport class DanhSachLinhVucModel implements IDanhSachLinhVucModel {\r\n id?: number;\r\n maLinhVuc?: string | undefined;\r\n tenLinhVuc?: string | undefined;\r\n iconClass?: string | undefined;\r\n\r\n constructor(data?: IDanhSachLinhVucModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.maLinhVuc = _data[\"maLinhVuc\"];\r\n this.tenLinhVuc = _data[\"tenLinhVuc\"];\r\n this.iconClass = _data[\"iconClass\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DanhSachLinhVucModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DanhSachLinhVucModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"maLinhVuc\"] = this.maLinhVuc;\r\n data[\"tenLinhVuc\"] = this.tenLinhVuc;\r\n data[\"iconClass\"] = this.iconClass;\r\n return data; \r\n }\r\n\r\n clone(): DanhSachLinhVucModel {\r\n const json = this.toJSON();\r\n let result = new DanhSachLinhVucModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDanhSachLinhVucModel {\r\n id?: number;\r\n maLinhVuc?: string | undefined;\r\n tenLinhVuc?: string | undefined;\r\n iconClass?: string | undefined;\r\n}\r\n\r\nexport class DanhSachLinhVucModelIListApiResponse implements IDanhSachLinhVucModelIListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DanhSachLinhVucModel[] | undefined;\r\n\r\n constructor(data?: IDanhSachLinhVucModelIListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new DanhSachLinhVucModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(DanhSachLinhVucModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DanhSachLinhVucModelIListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DanhSachLinhVucModelIListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): DanhSachLinhVucModelIListApiResponse {\r\n const json = this.toJSON();\r\n let result = new DanhSachLinhVucModelIListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDanhSachLinhVucModelIListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDanhSachLinhVucModel[] | undefined;\r\n}\r\n\r\nexport class DanhSachPhanAnhItemModel implements IDanhSachPhanAnhItemModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n idTrangThai?: number;\r\n trangThaiXuLy?: string | undefined;\r\n isHandle?: boolean;\r\n ngayGopY?: Date;\r\n\r\n constructor(data?: IDanhSachPhanAnhItemModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tieuDe = _data[\"tieuDe\"];\r\n this.idTrangThai = _data[\"idTrangThai\"];\r\n this.trangThaiXuLy = _data[\"trangThaiXuLy\"];\r\n this.isHandle = _data[\"isHandle\"];\r\n this.ngayGopY = _data[\"ngayGopY\"] ? new Date(_data[\"ngayGopY\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DanhSachPhanAnhItemModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DanhSachPhanAnhItemModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tieuDe\"] = this.tieuDe;\r\n data[\"idTrangThai\"] = this.idTrangThai;\r\n data[\"trangThaiXuLy\"] = this.trangThaiXuLy;\r\n data[\"isHandle\"] = this.isHandle;\r\n data[\"ngayGopY\"] = this.ngayGopY ? this.ngayGopY.toISOString() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DanhSachPhanAnhItemModel {\r\n const json = this.toJSON();\r\n let result = new DanhSachPhanAnhItemModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDanhSachPhanAnhItemModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n idTrangThai?: number;\r\n trangThaiXuLy?: string | undefined;\r\n isHandle?: boolean;\r\n ngayGopY?: Date;\r\n}\r\n\r\nexport class DanhSachPhanAnhItemModelListApiResponse implements IDanhSachPhanAnhItemModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DanhSachPhanAnhItemModel[] | undefined;\r\n\r\n constructor(data?: IDanhSachPhanAnhItemModelListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new DanhSachPhanAnhItemModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(DanhSachPhanAnhItemModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DanhSachPhanAnhItemModelListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DanhSachPhanAnhItemModelListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): DanhSachPhanAnhItemModelListApiResponse {\r\n const json = this.toJSON();\r\n let result = new DanhSachPhanAnhItemModelListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDanhSachPhanAnhItemModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDanhSachPhanAnhItemModel[] | undefined;\r\n}\r\n\r\nexport class DanhSachPhanAnhRequestModel implements IDanhSachPhanAnhRequestModel {\r\n search?: string | undefined;\r\n tinhTrangId?: number | undefined;\r\n orderDESCBy?: string | undefined;\r\n currentPage?: number;\r\n\r\n constructor(data?: IDanhSachPhanAnhRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.search = _data[\"search\"];\r\n this.tinhTrangId = _data[\"tinhTrangId\"];\r\n this.orderDESCBy = _data[\"orderDESCBy\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DanhSachPhanAnhRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DanhSachPhanAnhRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"search\"] = this.search;\r\n data[\"tinhTrangId\"] = this.tinhTrangId;\r\n data[\"orderDESCBy\"] = this.orderDESCBy;\r\n data[\"currentPage\"] = this.currentPage;\r\n return data; \r\n }\r\n\r\n clone(): DanhSachPhanAnhRequestModel {\r\n const json = this.toJSON();\r\n let result = new DanhSachPhanAnhRequestModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDanhSachPhanAnhRequestModel {\r\n search?: string | undefined;\r\n tinhTrangId?: number | undefined;\r\n orderDESCBy?: string | undefined;\r\n currentPage?: number;\r\n}\r\n\r\nexport class DataColumn implements IDataColumn {\r\n site?: ISite;\r\n container?: IContainer;\r\n readonly designMode?: boolean;\r\n allowDBNull?: boolean;\r\n autoIncrement?: boolean;\r\n autoIncrementSeed?: number;\r\n autoIncrementStep?: number;\r\n caption?: string | undefined;\r\n columnName?: string | undefined;\r\n prefix?: string | undefined;\r\n dataType?: Type;\r\n dateTimeMode?: DataSetDateTime;\r\n defaultValue?: any | undefined;\r\n expression?: string | undefined;\r\n readonly extendedProperties?: { [key: string]: any; } | undefined;\r\n maxLength?: number;\r\n namespace?: string | undefined;\r\n readonly ordinal?: number;\r\n readOnly?: boolean;\r\n table?: DataTable;\r\n unique?: boolean;\r\n columnMapping?: MappingType;\r\n\r\n constructor(data?: IDataColumn) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.site = data.site && !(data.site).toJSON ? new ISite(data.site) : this.site; \r\n this.container = data.container && !(data.container).toJSON ? new IContainer(data.container) : this.container; \r\n this.dataType = data.dataType && !(data.dataType).toJSON ? new Type(data.dataType) : this.dataType; \r\n this.table = data.table && !(data.table).toJSON ? new DataTable(data.table) : this.table; \r\n }\r\n if (!data) {\r\n this.allowDBNull = true;\r\n this.autoIncrement = false;\r\n this.autoIncrementSeed = 0;\r\n this.autoIncrementStep = 1;\r\n this.columnName = \"\";\r\n this.prefix = \"\";\r\n this.expression = \"\";\r\n this.maxLength = -1;\r\n this.readOnly = false;\r\n this.unique = false;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.site = _data[\"site\"] ? ISite.fromJS(_data[\"site\"]) : undefined;\r\n this.container = _data[\"container\"] ? IContainer.fromJS(_data[\"container\"]) : undefined;\r\n (this).designMode = _data[\"designMode\"];\r\n this.allowDBNull = _data[\"allowDBNull\"] !== undefined ? _data[\"allowDBNull\"] : true;\r\n this.autoIncrement = _data[\"autoIncrement\"] !== undefined ? _data[\"autoIncrement\"] : false;\r\n this.autoIncrementSeed = _data[\"autoIncrementSeed\"] !== undefined ? _data[\"autoIncrementSeed\"] : 0;\r\n this.autoIncrementStep = _data[\"autoIncrementStep\"] !== undefined ? _data[\"autoIncrementStep\"] : 1;\r\n this.caption = _data[\"caption\"];\r\n this.columnName = _data[\"columnName\"] !== undefined ? _data[\"columnName\"] : \"\";\r\n this.prefix = _data[\"prefix\"] !== undefined ? _data[\"prefix\"] : \"\";\r\n this.dataType = _data[\"dataType\"] ? Type.fromJS(_data[\"dataType\"]) : undefined;\r\n this.dateTimeMode = _data[\"dateTimeMode\"];\r\n this.defaultValue = _data[\"defaultValue\"];\r\n this.expression = _data[\"expression\"] !== undefined ? _data[\"expression\"] : \"\";\r\n if (_data[\"extendedProperties\"]) {\r\n (this).extendedProperties = {} as any;\r\n for (let key in _data[\"extendedProperties\"]) {\r\n if (_data[\"extendedProperties\"].hasOwnProperty(key))\r\n ((this).extendedProperties)![key] = _data[\"extendedProperties\"][key];\r\n }\r\n }\r\n this.maxLength = _data[\"maxLength\"] !== undefined ? _data[\"maxLength\"] : -1;\r\n this.namespace = _data[\"namespace\"];\r\n (this).ordinal = _data[\"ordinal\"];\r\n this.readOnly = _data[\"readOnly\"] !== undefined ? _data[\"readOnly\"] : false;\r\n this.table = _data[\"table\"] ? DataTable.fromJS(_data[\"table\"]) : undefined;\r\n this.unique = _data[\"unique\"] !== undefined ? _data[\"unique\"] : false;\r\n this.columnMapping = _data[\"columnMapping\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DataColumn {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DataColumn();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"site\"] = this.site ? this.site.toJSON() : undefined;\r\n data[\"container\"] = this.container ? this.container.toJSON() : undefined;\r\n data[\"designMode\"] = this.designMode;\r\n data[\"allowDBNull\"] = this.allowDBNull;\r\n data[\"autoIncrement\"] = this.autoIncrement;\r\n data[\"autoIncrementSeed\"] = this.autoIncrementSeed;\r\n data[\"autoIncrementStep\"] = this.autoIncrementStep;\r\n data[\"caption\"] = this.caption;\r\n data[\"columnName\"] = this.columnName;\r\n data[\"prefix\"] = this.prefix;\r\n data[\"dataType\"] = this.dataType ? this.dataType.toJSON() : undefined;\r\n data[\"dateTimeMode\"] = this.dateTimeMode;\r\n data[\"defaultValue\"] = this.defaultValue;\r\n data[\"expression\"] = this.expression;\r\n if (this.extendedProperties) {\r\n data[\"extendedProperties\"] = {};\r\n for (let key in this.extendedProperties) {\r\n if (this.extendedProperties.hasOwnProperty(key))\r\n (data[\"extendedProperties\"])[key] = this.extendedProperties[key];\r\n }\r\n }\r\n data[\"maxLength\"] = this.maxLength;\r\n data[\"namespace\"] = this.namespace;\r\n data[\"ordinal\"] = this.ordinal;\r\n data[\"readOnly\"] = this.readOnly;\r\n data[\"table\"] = this.table ? this.table.toJSON() : undefined;\r\n data[\"unique\"] = this.unique;\r\n data[\"columnMapping\"] = this.columnMapping;\r\n return data; \r\n }\r\n\r\n clone(): DataColumn {\r\n const json = this.toJSON();\r\n let result = new DataColumn();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDataColumn {\r\n site?: IISite;\r\n container?: IIContainer;\r\n designMode?: boolean;\r\n allowDBNull?: boolean;\r\n autoIncrement?: boolean;\r\n autoIncrementSeed?: number;\r\n autoIncrementStep?: number;\r\n caption?: string | undefined;\r\n columnName?: string | undefined;\r\n prefix?: string | undefined;\r\n dataType?: IType;\r\n dateTimeMode?: DataSetDateTime;\r\n defaultValue?: any | undefined;\r\n expression?: string | undefined;\r\n extendedProperties?: { [key: string]: any; } | undefined;\r\n maxLength?: number;\r\n namespace?: string | undefined;\r\n ordinal?: number;\r\n readOnly?: boolean;\r\n table?: IDataTable;\r\n unique?: boolean;\r\n columnMapping?: MappingType;\r\n}\r\n\r\nexport enum DataRowVersion {\r\n _256 = 256,\r\n _512 = 512,\r\n _1024 = 1024,\r\n _1536 = 1536,\r\n}\r\n\r\nexport class DataSet implements IDataSet {\r\n container?: IContainer;\r\n readonly designMode?: boolean;\r\n remotingFormat?: SerializationFormat;\r\n schemaSerializationMode?: SchemaSerializationMode;\r\n caseSensitive?: boolean;\r\n readonly defaultViewManager?: any[] | undefined;\r\n enforceConstraints?: boolean;\r\n dataSetName?: string | undefined;\r\n namespace?: string | undefined;\r\n prefix?: string | undefined;\r\n readonly extendedProperties?: { [key: string]: any; } | undefined;\r\n readonly hasErrors?: boolean;\r\n readonly isInitialized?: boolean;\r\n locale?: CultureInfo;\r\n site?: ISite;\r\n readonly relations?: any[] | undefined;\r\n readonly tables?: any[] | undefined;\r\n\r\n constructor(data?: IDataSet) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.container = data.container && !(data.container).toJSON ? new IContainer(data.container) : this.container; \r\n this.locale = data.locale && !(data.locale).toJSON ? new CultureInfo(data.locale) : this.locale; \r\n this.site = data.site && !(data.site).toJSON ? new ISite(data.site) : this.site; \r\n }\r\n if (!data) {\r\n this.caseSensitive = false;\r\n this.enforceConstraints = true;\r\n this.dataSetName = \"\";\r\n this.namespace = \"\";\r\n this.prefix = \"\";\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.container = _data[\"container\"] ? IContainer.fromJS(_data[\"container\"]) : undefined;\r\n (this).designMode = _data[\"designMode\"];\r\n this.remotingFormat = _data[\"remotingFormat\"];\r\n this.schemaSerializationMode = _data[\"schemaSerializationMode\"];\r\n this.caseSensitive = _data[\"caseSensitive\"] !== undefined ? _data[\"caseSensitive\"] : false;\r\n if (Array.isArray(_data[\"defaultViewManager\"])) {\r\n (this).defaultViewManager = [] as any;\r\n for (let item of _data[\"defaultViewManager\"])\r\n (this).defaultViewManager!.push(item);\r\n }\r\n this.enforceConstraints = _data[\"enforceConstraints\"] !== undefined ? _data[\"enforceConstraints\"] : true;\r\n this.dataSetName = _data[\"dataSetName\"] !== undefined ? _data[\"dataSetName\"] : \"\";\r\n this.namespace = _data[\"namespace\"] !== undefined ? _data[\"namespace\"] : \"\";\r\n this.prefix = _data[\"prefix\"] !== undefined ? _data[\"prefix\"] : \"\";\r\n if (_data[\"extendedProperties\"]) {\r\n (this).extendedProperties = {} as any;\r\n for (let key in _data[\"extendedProperties\"]) {\r\n if (_data[\"extendedProperties\"].hasOwnProperty(key))\r\n ((this).extendedProperties)![key] = _data[\"extendedProperties\"][key];\r\n }\r\n }\r\n (this).hasErrors = _data[\"hasErrors\"];\r\n (this).isInitialized = _data[\"isInitialized\"];\r\n this.locale = _data[\"locale\"] ? CultureInfo.fromJS(_data[\"locale\"]) : undefined;\r\n this.site = _data[\"site\"] ? ISite.fromJS(_data[\"site\"]) : undefined;\r\n if (Array.isArray(_data[\"relations\"])) {\r\n (this).relations = [] as any;\r\n for (let item of _data[\"relations\"])\r\n (this).relations!.push(item);\r\n }\r\n if (Array.isArray(_data[\"tables\"])) {\r\n (this).tables = [] as any;\r\n for (let item of _data[\"tables\"])\r\n (this).tables!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DataSet {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DataSet();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"container\"] = this.container ? this.container.toJSON() : undefined;\r\n data[\"designMode\"] = this.designMode;\r\n data[\"remotingFormat\"] = this.remotingFormat;\r\n data[\"schemaSerializationMode\"] = this.schemaSerializationMode;\r\n data[\"caseSensitive\"] = this.caseSensitive;\r\n if (Array.isArray(this.defaultViewManager)) {\r\n data[\"defaultViewManager\"] = [];\r\n for (let item of this.defaultViewManager)\r\n data[\"defaultViewManager\"].push(item);\r\n }\r\n data[\"enforceConstraints\"] = this.enforceConstraints;\r\n data[\"dataSetName\"] = this.dataSetName;\r\n data[\"namespace\"] = this.namespace;\r\n data[\"prefix\"] = this.prefix;\r\n if (this.extendedProperties) {\r\n data[\"extendedProperties\"] = {};\r\n for (let key in this.extendedProperties) {\r\n if (this.extendedProperties.hasOwnProperty(key))\r\n (data[\"extendedProperties\"])[key] = this.extendedProperties[key];\r\n }\r\n }\r\n data[\"hasErrors\"] = this.hasErrors;\r\n data[\"isInitialized\"] = this.isInitialized;\r\n data[\"locale\"] = this.locale ? this.locale.toJSON() : undefined;\r\n data[\"site\"] = this.site ? this.site.toJSON() : undefined;\r\n if (Array.isArray(this.relations)) {\r\n data[\"relations\"] = [];\r\n for (let item of this.relations)\r\n data[\"relations\"].push(item);\r\n }\r\n if (Array.isArray(this.tables)) {\r\n data[\"tables\"] = [];\r\n for (let item of this.tables)\r\n data[\"tables\"].push(item);\r\n }\r\n return data; \r\n }\r\n\r\n clone(): DataSet {\r\n const json = this.toJSON();\r\n let result = new DataSet();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDataSet {\r\n container?: IIContainer;\r\n designMode?: boolean;\r\n remotingFormat?: SerializationFormat;\r\n schemaSerializationMode?: SchemaSerializationMode;\r\n caseSensitive?: boolean;\r\n defaultViewManager?: any[] | undefined;\r\n enforceConstraints?: boolean;\r\n dataSetName?: string | undefined;\r\n namespace?: string | undefined;\r\n prefix?: string | undefined;\r\n extendedProperties?: { [key: string]: any; } | undefined;\r\n hasErrors?: boolean;\r\n isInitialized?: boolean;\r\n locale?: ICultureInfo;\r\n site?: IISite;\r\n relations?: any[] | undefined;\r\n tables?: any[] | undefined;\r\n}\r\n\r\nexport enum DataSetDateTime {\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n}\r\n\r\nexport class DataTable implements IDataTable {\r\n container?: IContainer;\r\n readonly designMode?: boolean;\r\n caseSensitive?: boolean;\r\n readonly isInitialized?: boolean;\r\n remotingFormat?: SerializationFormat;\r\n readonly childRelations?: any[] | undefined;\r\n readonly columns?: any[] | undefined;\r\n readonly constraints?: any[] | undefined;\r\n dataSet?: DataSet;\r\n readonly defaultView?: any[] | undefined;\r\n displayExpression?: string | undefined;\r\n readonly extendedProperties?: { [key: string]: any; } | undefined;\r\n readonly hasErrors?: boolean;\r\n locale?: CultureInfo;\r\n minimumCapacity?: number;\r\n readonly parentRelations?: any[] | undefined;\r\n primaryKey?: DataColumn[] | undefined;\r\n readonly rows?: any[] | undefined;\r\n tableName?: string | undefined;\r\n namespace?: string | undefined;\r\n prefix?: string | undefined;\r\n site?: ISite;\r\n\r\n constructor(data?: IDataTable) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.container = data.container && !(data.container).toJSON ? new IContainer(data.container) : this.container; \r\n this.dataSet = data.dataSet && !(data.dataSet).toJSON ? new DataSet(data.dataSet) : this.dataSet; \r\n this.locale = data.locale && !(data.locale).toJSON ? new CultureInfo(data.locale) : this.locale; \r\n if (data.primaryKey) {\r\n this.primaryKey = [];\r\n for (let i = 0; i < data.primaryKey.length; i++) {\r\n let item = data.primaryKey[i];\r\n this.primaryKey[i] = item && !(item).toJSON ? new DataColumn(item) : item;\r\n }\r\n }\r\n this.site = data.site && !(data.site).toJSON ? new ISite(data.site) : this.site; \r\n }\r\n if (!data) {\r\n this.displayExpression = \"\";\r\n this.minimumCapacity = 50;\r\n this.tableName = \"\";\r\n this.prefix = \"\";\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.container = _data[\"container\"] ? IContainer.fromJS(_data[\"container\"]) : undefined;\r\n (this).designMode = _data[\"designMode\"];\r\n this.caseSensitive = _data[\"caseSensitive\"];\r\n (this).isInitialized = _data[\"isInitialized\"];\r\n this.remotingFormat = _data[\"remotingFormat\"];\r\n if (Array.isArray(_data[\"childRelations\"])) {\r\n (this).childRelations = [] as any;\r\n for (let item of _data[\"childRelations\"])\r\n (this).childRelations!.push(item);\r\n }\r\n if (Array.isArray(_data[\"columns\"])) {\r\n (this).columns = [] as any;\r\n for (let item of _data[\"columns\"])\r\n (this).columns!.push(item);\r\n }\r\n if (Array.isArray(_data[\"constraints\"])) {\r\n (this).constraints = [] as any;\r\n for (let item of _data[\"constraints\"])\r\n (this).constraints!.push(item);\r\n }\r\n this.dataSet = _data[\"dataSet\"] ? DataSet.fromJS(_data[\"dataSet\"]) : undefined;\r\n if (Array.isArray(_data[\"defaultView\"])) {\r\n (this).defaultView = [] as any;\r\n for (let item of _data[\"defaultView\"])\r\n (this).defaultView!.push(item);\r\n }\r\n this.displayExpression = _data[\"displayExpression\"] !== undefined ? _data[\"displayExpression\"] : \"\";\r\n if (_data[\"extendedProperties\"]) {\r\n (this).extendedProperties = {} as any;\r\n for (let key in _data[\"extendedProperties\"]) {\r\n if (_data[\"extendedProperties\"].hasOwnProperty(key))\r\n ((this).extendedProperties)![key] = _data[\"extendedProperties\"][key];\r\n }\r\n }\r\n (this).hasErrors = _data[\"hasErrors\"];\r\n this.locale = _data[\"locale\"] ? CultureInfo.fromJS(_data[\"locale\"]) : undefined;\r\n this.minimumCapacity = _data[\"minimumCapacity\"] !== undefined ? _data[\"minimumCapacity\"] : 50;\r\n if (Array.isArray(_data[\"parentRelations\"])) {\r\n (this).parentRelations = [] as any;\r\n for (let item of _data[\"parentRelations\"])\r\n (this).parentRelations!.push(item);\r\n }\r\n if (Array.isArray(_data[\"primaryKey\"])) {\r\n this.primaryKey = [] as any;\r\n for (let item of _data[\"primaryKey\"])\r\n this.primaryKey!.push(DataColumn.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"rows\"])) {\r\n (this).rows = [] as any;\r\n for (let item of _data[\"rows\"])\r\n (this).rows!.push(item);\r\n }\r\n this.tableName = _data[\"tableName\"] !== undefined ? _data[\"tableName\"] : \"\";\r\n this.namespace = _data[\"namespace\"];\r\n this.prefix = _data[\"prefix\"] !== undefined ? _data[\"prefix\"] : \"\";\r\n this.site = _data[\"site\"] ? ISite.fromJS(_data[\"site\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DataTable {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DataTable();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"container\"] = this.container ? this.container.toJSON() : undefined;\r\n data[\"designMode\"] = this.designMode;\r\n data[\"caseSensitive\"] = this.caseSensitive;\r\n data[\"isInitialized\"] = this.isInitialized;\r\n data[\"remotingFormat\"] = this.remotingFormat;\r\n if (Array.isArray(this.childRelations)) {\r\n data[\"childRelations\"] = [];\r\n for (let item of this.childRelations)\r\n data[\"childRelations\"].push(item);\r\n }\r\n if (Array.isArray(this.columns)) {\r\n data[\"columns\"] = [];\r\n for (let item of this.columns)\r\n data[\"columns\"].push(item);\r\n }\r\n if (Array.isArray(this.constraints)) {\r\n data[\"constraints\"] = [];\r\n for (let item of this.constraints)\r\n data[\"constraints\"].push(item);\r\n }\r\n data[\"dataSet\"] = this.dataSet ? this.dataSet.toJSON() : undefined;\r\n if (Array.isArray(this.defaultView)) {\r\n data[\"defaultView\"] = [];\r\n for (let item of this.defaultView)\r\n data[\"defaultView\"].push(item);\r\n }\r\n data[\"displayExpression\"] = this.displayExpression;\r\n if (this.extendedProperties) {\r\n data[\"extendedProperties\"] = {};\r\n for (let key in this.extendedProperties) {\r\n if (this.extendedProperties.hasOwnProperty(key))\r\n (data[\"extendedProperties\"])[key] = this.extendedProperties[key];\r\n }\r\n }\r\n data[\"hasErrors\"] = this.hasErrors;\r\n data[\"locale\"] = this.locale ? this.locale.toJSON() : undefined;\r\n data[\"minimumCapacity\"] = this.minimumCapacity;\r\n if (Array.isArray(this.parentRelations)) {\r\n data[\"parentRelations\"] = [];\r\n for (let item of this.parentRelations)\r\n data[\"parentRelations\"].push(item);\r\n }\r\n if (Array.isArray(this.primaryKey)) {\r\n data[\"primaryKey\"] = [];\r\n for (let item of this.primaryKey)\r\n data[\"primaryKey\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.rows)) {\r\n data[\"rows\"] = [];\r\n for (let item of this.rows)\r\n data[\"rows\"].push(item);\r\n }\r\n data[\"tableName\"] = this.tableName;\r\n data[\"namespace\"] = this.namespace;\r\n data[\"prefix\"] = this.prefix;\r\n data[\"site\"] = this.site ? this.site.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DataTable {\r\n const json = this.toJSON();\r\n let result = new DataTable();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDataTable {\r\n container?: IIContainer;\r\n designMode?: boolean;\r\n caseSensitive?: boolean;\r\n isInitialized?: boolean;\r\n remotingFormat?: SerializationFormat;\r\n childRelations?: any[] | undefined;\r\n columns?: any[] | undefined;\r\n constraints?: any[] | undefined;\r\n dataSet?: IDataSet;\r\n defaultView?: any[] | undefined;\r\n displayExpression?: string | undefined;\r\n extendedProperties?: { [key: string]: any; } | undefined;\r\n hasErrors?: boolean;\r\n locale?: ICultureInfo;\r\n minimumCapacity?: number;\r\n parentRelations?: any[] | undefined;\r\n primaryKey?: IDataColumn[] | undefined;\r\n rows?: any[] | undefined;\r\n tableName?: string | undefined;\r\n namespace?: string | undefined;\r\n prefix?: string | undefined;\r\n site?: IISite;\r\n}\r\n\r\nexport class DateTimeFormatInfo implements IDateTimeFormatInfo {\r\n amDesignator?: string | undefined;\r\n calendar?: Calendar;\r\n dateSeparator?: string | undefined;\r\n firstDayOfWeek?: DayOfWeek;\r\n calendarWeekRule?: CalendarWeekRule;\r\n fullDateTimePattern?: string | undefined;\r\n longDatePattern?: string | undefined;\r\n longTimePattern?: string | undefined;\r\n monthDayPattern?: string | undefined;\r\n pmDesignator?: string | undefined;\r\n readonly rfC1123Pattern?: string | undefined;\r\n shortDatePattern?: string | undefined;\r\n shortTimePattern?: string | undefined;\r\n readonly sortableDateTimePattern?: string | undefined;\r\n timeSeparator?: string | undefined;\r\n readonly universalSortableDateTimePattern?: string | undefined;\r\n yearMonthPattern?: string | undefined;\r\n abbreviatedDayNames?: string[] | undefined;\r\n shortestDayNames?: string[] | undefined;\r\n dayNames?: string[] | undefined;\r\n abbreviatedMonthNames?: string[] | undefined;\r\n monthNames?: string[] | undefined;\r\n readonly isReadOnly?: boolean;\r\n readonly nativeCalendarName?: string | undefined;\r\n abbreviatedMonthGenitiveNames?: string[] | undefined;\r\n monthGenitiveNames?: string[] | undefined;\r\n\r\n constructor(data?: IDateTimeFormatInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.calendar = data.calendar && !(data.calendar).toJSON ? new Calendar(data.calendar) : this.calendar; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.amDesignator = _data[\"amDesignator\"];\r\n this.calendar = _data[\"calendar\"] ? Calendar.fromJS(_data[\"calendar\"]) : undefined;\r\n this.dateSeparator = _data[\"dateSeparator\"];\r\n this.firstDayOfWeek = _data[\"firstDayOfWeek\"];\r\n this.calendarWeekRule = _data[\"calendarWeekRule\"];\r\n this.fullDateTimePattern = _data[\"fullDateTimePattern\"];\r\n this.longDatePattern = _data[\"longDatePattern\"];\r\n this.longTimePattern = _data[\"longTimePattern\"];\r\n this.monthDayPattern = _data[\"monthDayPattern\"];\r\n this.pmDesignator = _data[\"pmDesignator\"];\r\n (this).rfC1123Pattern = _data[\"rfC1123Pattern\"];\r\n this.shortDatePattern = _data[\"shortDatePattern\"];\r\n this.shortTimePattern = _data[\"shortTimePattern\"];\r\n (this).sortableDateTimePattern = _data[\"sortableDateTimePattern\"];\r\n this.timeSeparator = _data[\"timeSeparator\"];\r\n (this).universalSortableDateTimePattern = _data[\"universalSortableDateTimePattern\"];\r\n this.yearMonthPattern = _data[\"yearMonthPattern\"];\r\n if (Array.isArray(_data[\"abbreviatedDayNames\"])) {\r\n this.abbreviatedDayNames = [] as any;\r\n for (let item of _data[\"abbreviatedDayNames\"])\r\n this.abbreviatedDayNames!.push(item);\r\n }\r\n if (Array.isArray(_data[\"shortestDayNames\"])) {\r\n this.shortestDayNames = [] as any;\r\n for (let item of _data[\"shortestDayNames\"])\r\n this.shortestDayNames!.push(item);\r\n }\r\n if (Array.isArray(_data[\"dayNames\"])) {\r\n this.dayNames = [] as any;\r\n for (let item of _data[\"dayNames\"])\r\n this.dayNames!.push(item);\r\n }\r\n if (Array.isArray(_data[\"abbreviatedMonthNames\"])) {\r\n this.abbreviatedMonthNames = [] as any;\r\n for (let item of _data[\"abbreviatedMonthNames\"])\r\n this.abbreviatedMonthNames!.push(item);\r\n }\r\n if (Array.isArray(_data[\"monthNames\"])) {\r\n this.monthNames = [] as any;\r\n for (let item of _data[\"monthNames\"])\r\n this.monthNames!.push(item);\r\n }\r\n (this).isReadOnly = _data[\"isReadOnly\"];\r\n (this).nativeCalendarName = _data[\"nativeCalendarName\"];\r\n if (Array.isArray(_data[\"abbreviatedMonthGenitiveNames\"])) {\r\n this.abbreviatedMonthGenitiveNames = [] as any;\r\n for (let item of _data[\"abbreviatedMonthGenitiveNames\"])\r\n this.abbreviatedMonthGenitiveNames!.push(item);\r\n }\r\n if (Array.isArray(_data[\"monthGenitiveNames\"])) {\r\n this.monthGenitiveNames = [] as any;\r\n for (let item of _data[\"monthGenitiveNames\"])\r\n this.monthGenitiveNames!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DateTimeFormatInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DateTimeFormatInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"amDesignator\"] = this.amDesignator;\r\n data[\"calendar\"] = this.calendar ? this.calendar.toJSON() : undefined;\r\n data[\"dateSeparator\"] = this.dateSeparator;\r\n data[\"firstDayOfWeek\"] = this.firstDayOfWeek;\r\n data[\"calendarWeekRule\"] = this.calendarWeekRule;\r\n data[\"fullDateTimePattern\"] = this.fullDateTimePattern;\r\n data[\"longDatePattern\"] = this.longDatePattern;\r\n data[\"longTimePattern\"] = this.longTimePattern;\r\n data[\"monthDayPattern\"] = this.monthDayPattern;\r\n data[\"pmDesignator\"] = this.pmDesignator;\r\n data[\"rfC1123Pattern\"] = this.rfC1123Pattern;\r\n data[\"shortDatePattern\"] = this.shortDatePattern;\r\n data[\"shortTimePattern\"] = this.shortTimePattern;\r\n data[\"sortableDateTimePattern\"] = this.sortableDateTimePattern;\r\n data[\"timeSeparator\"] = this.timeSeparator;\r\n data[\"universalSortableDateTimePattern\"] = this.universalSortableDateTimePattern;\r\n data[\"yearMonthPattern\"] = this.yearMonthPattern;\r\n if (Array.isArray(this.abbreviatedDayNames)) {\r\n data[\"abbreviatedDayNames\"] = [];\r\n for (let item of this.abbreviatedDayNames)\r\n data[\"abbreviatedDayNames\"].push(item);\r\n }\r\n if (Array.isArray(this.shortestDayNames)) {\r\n data[\"shortestDayNames\"] = [];\r\n for (let item of this.shortestDayNames)\r\n data[\"shortestDayNames\"].push(item);\r\n }\r\n if (Array.isArray(this.dayNames)) {\r\n data[\"dayNames\"] = [];\r\n for (let item of this.dayNames)\r\n data[\"dayNames\"].push(item);\r\n }\r\n if (Array.isArray(this.abbreviatedMonthNames)) {\r\n data[\"abbreviatedMonthNames\"] = [];\r\n for (let item of this.abbreviatedMonthNames)\r\n data[\"abbreviatedMonthNames\"].push(item);\r\n }\r\n if (Array.isArray(this.monthNames)) {\r\n data[\"monthNames\"] = [];\r\n for (let item of this.monthNames)\r\n data[\"monthNames\"].push(item);\r\n }\r\n data[\"isReadOnly\"] = this.isReadOnly;\r\n data[\"nativeCalendarName\"] = this.nativeCalendarName;\r\n if (Array.isArray(this.abbreviatedMonthGenitiveNames)) {\r\n data[\"abbreviatedMonthGenitiveNames\"] = [];\r\n for (let item of this.abbreviatedMonthGenitiveNames)\r\n data[\"abbreviatedMonthGenitiveNames\"].push(item);\r\n }\r\n if (Array.isArray(this.monthGenitiveNames)) {\r\n data[\"monthGenitiveNames\"] = [];\r\n for (let item of this.monthGenitiveNames)\r\n data[\"monthGenitiveNames\"].push(item);\r\n }\r\n return data; \r\n }\r\n\r\n clone(): DateTimeFormatInfo {\r\n const json = this.toJSON();\r\n let result = new DateTimeFormatInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDateTimeFormatInfo {\r\n amDesignator?: string | undefined;\r\n calendar?: ICalendar;\r\n dateSeparator?: string | undefined;\r\n firstDayOfWeek?: DayOfWeek;\r\n calendarWeekRule?: CalendarWeekRule;\r\n fullDateTimePattern?: string | undefined;\r\n longDatePattern?: string | undefined;\r\n longTimePattern?: string | undefined;\r\n monthDayPattern?: string | undefined;\r\n pmDesignator?: string | undefined;\r\n rfC1123Pattern?: string | undefined;\r\n shortDatePattern?: string | undefined;\r\n shortTimePattern?: string | undefined;\r\n sortableDateTimePattern?: string | undefined;\r\n timeSeparator?: string | undefined;\r\n universalSortableDateTimePattern?: string | undefined;\r\n yearMonthPattern?: string | undefined;\r\n abbreviatedDayNames?: string[] | undefined;\r\n shortestDayNames?: string[] | undefined;\r\n dayNames?: string[] | undefined;\r\n abbreviatedMonthNames?: string[] | undefined;\r\n monthNames?: string[] | undefined;\r\n isReadOnly?: boolean;\r\n nativeCalendarName?: string | undefined;\r\n abbreviatedMonthGenitiveNames?: string[] | undefined;\r\n monthGenitiveNames?: string[] | undefined;\r\n}\r\n\r\nexport enum DayOfWeek {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n _6 = 6,\r\n}\r\n\r\nexport class DbParameter implements IDbParameter {\r\n dbType?: DbType;\r\n direction?: ParameterDirection;\r\n isNullable?: boolean;\r\n parameterName?: string | undefined;\r\n precision?: number;\r\n scale?: number;\r\n size?: number;\r\n sourceColumn?: string | undefined;\r\n sourceColumnNullMapping?: boolean;\r\n sourceVersion?: DataRowVersion;\r\n value?: any | undefined;\r\n\r\n constructor(data?: IDbParameter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n if (!data) {\r\n this.parameterName = \"\";\r\n this.sourceColumn = \"\";\r\n this.sourceColumnNullMapping = false;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.dbType = _data[\"dbType\"];\r\n this.direction = _data[\"direction\"];\r\n this.isNullable = _data[\"isNullable\"];\r\n this.parameterName = _data[\"parameterName\"] !== undefined ? _data[\"parameterName\"] : \"\";\r\n this.precision = _data[\"precision\"];\r\n this.scale = _data[\"scale\"];\r\n this.size = _data[\"size\"];\r\n this.sourceColumn = _data[\"sourceColumn\"] !== undefined ? _data[\"sourceColumn\"] : \"\";\r\n this.sourceColumnNullMapping = _data[\"sourceColumnNullMapping\"] !== undefined ? _data[\"sourceColumnNullMapping\"] : false;\r\n this.sourceVersion = _data[\"sourceVersion\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DbParameter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DbParameter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"dbType\"] = this.dbType;\r\n data[\"direction\"] = this.direction;\r\n data[\"isNullable\"] = this.isNullable;\r\n data[\"parameterName\"] = this.parameterName;\r\n data[\"precision\"] = this.precision;\r\n data[\"scale\"] = this.scale;\r\n data[\"size\"] = this.size;\r\n data[\"sourceColumn\"] = this.sourceColumn;\r\n data[\"sourceColumnNullMapping\"] = this.sourceColumnNullMapping;\r\n data[\"sourceVersion\"] = this.sourceVersion;\r\n data[\"value\"] = this.value;\r\n return data; \r\n }\r\n\r\n clone(): DbParameter {\r\n const json = this.toJSON();\r\n let result = new DbParameter();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDbParameter {\r\n dbType?: DbType;\r\n direction?: ParameterDirection;\r\n isNullable?: boolean;\r\n parameterName?: string | undefined;\r\n precision?: number;\r\n scale?: number;\r\n size?: number;\r\n sourceColumn?: string | undefined;\r\n sourceColumnNullMapping?: boolean;\r\n sourceVersion?: DataRowVersion;\r\n value?: any | undefined;\r\n}\r\n\r\nexport class DbProviderFactory implements IDbProviderFactory {\r\n readonly canCreateBatch?: boolean;\r\n readonly canCreateDataSourceEnumerator?: boolean;\r\n readonly canCreateDataAdapter?: boolean;\r\n readonly canCreateCommandBuilder?: boolean;\r\n\r\n constructor(data?: IDbProviderFactory) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).canCreateBatch = _data[\"canCreateBatch\"];\r\n (this).canCreateDataSourceEnumerator = _data[\"canCreateDataSourceEnumerator\"];\r\n (this).canCreateDataAdapter = _data[\"canCreateDataAdapter\"];\r\n (this).canCreateCommandBuilder = _data[\"canCreateCommandBuilder\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DbProviderFactory {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DbProviderFactory();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"canCreateBatch\"] = this.canCreateBatch;\r\n data[\"canCreateDataSourceEnumerator\"] = this.canCreateDataSourceEnumerator;\r\n data[\"canCreateDataAdapter\"] = this.canCreateDataAdapter;\r\n data[\"canCreateCommandBuilder\"] = this.canCreateCommandBuilder;\r\n return data; \r\n }\r\n\r\n clone(): DbProviderFactory {\r\n const json = this.toJSON();\r\n let result = new DbProviderFactory();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDbProviderFactory {\r\n canCreateBatch?: boolean;\r\n canCreateDataSourceEnumerator?: boolean;\r\n canCreateDataAdapter?: boolean;\r\n canCreateCommandBuilder?: boolean;\r\n}\r\n\r\nexport enum DbType {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n _6 = 6,\r\n _7 = 7,\r\n _8 = 8,\r\n _9 = 9,\r\n _10 = 10,\r\n _11 = 11,\r\n _12 = 12,\r\n _13 = 13,\r\n _14 = 14,\r\n _15 = 15,\r\n _16 = 16,\r\n _17 = 17,\r\n _18 = 18,\r\n _19 = 19,\r\n _20 = 20,\r\n _21 = 21,\r\n _22 = 22,\r\n _23 = 23,\r\n _25 = 25,\r\n _26 = 26,\r\n _27 = 27,\r\n}\r\n\r\nexport class DiaBanBcThongKeXuLyModel implements IDiaBanBcThongKeXuLyModel {\r\n id?: number;\r\n ten?: string | undefined;\r\n\r\n constructor(data?: IDiaBanBcThongKeXuLyModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.ten = _data[\"ten\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiaBanBcThongKeXuLyModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiaBanBcThongKeXuLyModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"ten\"] = this.ten;\r\n return data; \r\n }\r\n\r\n clone(): DiaBanBcThongKeXuLyModel {\r\n const json = this.toJSON();\r\n let result = new DiaBanBcThongKeXuLyModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDiaBanBcThongKeXuLyModel {\r\n id?: number;\r\n ten?: string | undefined;\r\n}\r\n\r\nexport class DiaBanContentOfPost implements IDiaBanContentOfPost {\r\n id?: number;\r\n ten?: string | undefined;\r\n parentId?: number | undefined;\r\n type?: number;\r\n\r\n constructor(data?: IDiaBanContentOfPost) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.ten = _data[\"ten\"];\r\n this.parentId = _data[\"parentId\"];\r\n this.type = _data[\"type\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiaBanContentOfPost {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiaBanContentOfPost();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"ten\"] = this.ten;\r\n data[\"parentId\"] = this.parentId;\r\n data[\"type\"] = this.type;\r\n return data; \r\n }\r\n\r\n clone(): DiaBanContentOfPost {\r\n const json = this.toJSON();\r\n let result = new DiaBanContentOfPost();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDiaBanContentOfPost {\r\n id?: number;\r\n ten?: string | undefined;\r\n parentId?: number | undefined;\r\n type?: number;\r\n}\r\n\r\nexport class DiaBanInfoModel implements IDiaBanInfoModel {\r\n id?: number;\r\n ma?: string | undefined;\r\n ten?: string | undefined;\r\n type?: number;\r\n parentId?: number | undefined;\r\n\r\n constructor(data?: IDiaBanInfoModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.ma = _data[\"ma\"];\r\n this.ten = _data[\"ten\"];\r\n this.type = _data[\"type\"];\r\n this.parentId = _data[\"parentId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiaBanInfoModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiaBanInfoModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"ma\"] = this.ma;\r\n data[\"ten\"] = this.ten;\r\n data[\"type\"] = this.type;\r\n data[\"parentId\"] = this.parentId;\r\n return data; \r\n }\r\n\r\n clone(): DiaBanInfoModel {\r\n const json = this.toJSON();\r\n let result = new DiaBanInfoModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDiaBanInfoModel {\r\n id?: number;\r\n ma?: string | undefined;\r\n ten?: string | undefined;\r\n type?: number;\r\n parentId?: number | undefined;\r\n}\r\n\r\nexport class DiaBanModel implements IDiaBanModel {\r\n id?: number;\r\n value?: string | undefined;\r\n name?: string | undefined;\r\n type?: number;\r\n parentId?: number | undefined;\r\n\r\n constructor(data?: IDiaBanModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.value = _data[\"value\"];\r\n this.name = _data[\"name\"];\r\n this.type = _data[\"type\"];\r\n this.parentId = _data[\"parentId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiaBanModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiaBanModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"value\"] = this.value;\r\n data[\"name\"] = this.name;\r\n data[\"type\"] = this.type;\r\n data[\"parentId\"] = this.parentId;\r\n return data; \r\n }\r\n\r\n clone(): DiaBanModel {\r\n const json = this.toJSON();\r\n let result = new DiaBanModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDiaBanModel {\r\n id?: number;\r\n value?: string | undefined;\r\n name?: string | undefined;\r\n type?: number;\r\n parentId?: number | undefined;\r\n}\r\n\r\nexport class DiaBanSelect implements IDiaBanSelect {\r\n id?: number;\r\n ma?: string | undefined;\r\n ten?: string | undefined;\r\n\r\n constructor(data?: IDiaBanSelect) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.ma = _data[\"ma\"];\r\n this.ten = _data[\"ten\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiaBanSelect {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiaBanSelect();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"ma\"] = this.ma;\r\n data[\"ten\"] = this.ten;\r\n return data; \r\n }\r\n\r\n clone(): DiaBanSelect {\r\n const json = this.toJSON();\r\n let result = new DiaBanSelect();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDiaBanSelect {\r\n id?: number;\r\n ma?: string | undefined;\r\n ten?: string | undefined;\r\n}\r\n\r\nexport class DiaBanTinhHinhXuLyChartModel implements IDiaBanTinhHinhXuLyChartModel {\r\n id?: string | undefined;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IDiaBanTinhHinhXuLyChartModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiaBanTinhHinhXuLyChartModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiaBanTinhHinhXuLyChartModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data; \r\n }\r\n\r\n clone(): DiaBanTinhHinhXuLyChartModel {\r\n const json = this.toJSON();\r\n let result = new DiaBanTinhHinhXuLyChartModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDiaBanTinhHinhXuLyChartModel {\r\n id?: string | undefined;\r\n name?: string | undefined;\r\n}\r\n\r\nexport enum DigitShapes {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n}\r\n\r\nexport class DmcacbuocxulyEntity implements IDmcacbuocxulyEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n ten?: string | undefined;\r\n tt?: string | undefined;\r\n trangthai?: number | undefined;\r\n readonly donvivacacbuocxulies?: DonvivacacbuocxulyEntity[] | undefined;\r\n\r\n constructor(data?: IDmcacbuocxulyEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n if (data.donvivacacbuocxulies) {\r\n this.donvivacacbuocxulies = [];\r\n for (let i = 0; i < data.donvivacacbuocxulies.length; i++) {\r\n let item = data.donvivacacbuocxulies[i];\r\n this.donvivacacbuocxulies[i] = item && !(item).toJSON ? new DonvivacacbuocxulyEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.id = _data[\"id\"];\r\n this.ten = _data[\"ten\"];\r\n this.tt = _data[\"tt\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n if (Array.isArray(_data[\"donvivacacbuocxulies\"])) {\r\n (this).donvivacacbuocxulies = [] as any;\r\n for (let item of _data[\"donvivacacbuocxulies\"])\r\n (this).donvivacacbuocxulies!.push(DonvivacacbuocxulyEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmcacbuocxulyEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmcacbuocxulyEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"id\"] = this.id;\r\n data[\"ten\"] = this.ten;\r\n data[\"tt\"] = this.tt;\r\n data[\"trangthai\"] = this.trangthai;\r\n if (Array.isArray(this.donvivacacbuocxulies)) {\r\n data[\"donvivacacbuocxulies\"] = [];\r\n for (let item of this.donvivacacbuocxulies)\r\n data[\"donvivacacbuocxulies\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): DmcacbuocxulyEntity {\r\n const json = this.toJSON();\r\n let result = new DmcacbuocxulyEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmcacbuocxulyEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n ten?: string | undefined;\r\n tt?: string | undefined;\r\n trangthai?: number | undefined;\r\n donvivacacbuocxulies?: IDonvivacacbuocxulyEntity[] | undefined;\r\n}\r\n\r\nexport class DmcacbuocxulyEntityApiResponse implements IDmcacbuocxulyEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmcacbuocxulyEntity;\r\n\r\n constructor(data?: IDmcacbuocxulyEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmcacbuocxulyEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmcacbuocxulyEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmcacbuocxulyEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmcacbuocxulyEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmcacbuocxulyEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmcacbuocxulyEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmcacbuocxulyEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmcacbuocxulyEntity;\r\n}\r\n\r\nexport class DmcanboEntity implements IDmcanboEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n cap?: number | undefined;\r\n chucvu?: string | undefined;\r\n id?: number;\r\n macanbo?: string | undefined;\r\n tencanbo?: string | undefined;\r\n trangthai?: number | undefined;\r\n\r\n constructor(data?: IDmcanboEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.cap = _data[\"cap\"];\r\n this.chucvu = _data[\"chucvu\"];\r\n this.id = _data[\"id\"];\r\n this.macanbo = _data[\"macanbo\"];\r\n this.tencanbo = _data[\"tencanbo\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmcanboEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmcanboEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"cap\"] = this.cap;\r\n data[\"chucvu\"] = this.chucvu;\r\n data[\"id\"] = this.id;\r\n data[\"macanbo\"] = this.macanbo;\r\n data[\"tencanbo\"] = this.tencanbo;\r\n data[\"trangthai\"] = this.trangthai;\r\n return data; \r\n }\r\n\r\n clone(): DmcanboEntity {\r\n const json = this.toJSON();\r\n let result = new DmcanboEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmcanboEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n cap?: number | undefined;\r\n chucvu?: string | undefined;\r\n id?: number;\r\n macanbo?: string | undefined;\r\n tencanbo?: string | undefined;\r\n trangthai?: number | undefined;\r\n}\r\n\r\nexport class DmcanboEntityApiResponse implements IDmcanboEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmcanboEntity;\r\n\r\n constructor(data?: IDmcanboEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmcanboEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmcanboEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmcanboEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmcanboEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmcanboEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmcanboEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmcanboEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmcanboEntity;\r\n}\r\n\r\nexport class DmcanboEntityListApiResponse implements IDmcanboEntityListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmcanboEntity[] | undefined;\r\n\r\n constructor(data?: IDmcanboEntityListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new DmcanboEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(DmcanboEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmcanboEntityListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmcanboEntityListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): DmcanboEntityListApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmcanboEntityListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmcanboEntityListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmcanboEntity[] | undefined;\r\n}\r\n\r\nexport class DmdiabanEntity implements IDmdiabanEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n ma?: string | undefined;\r\n parentid?: number | undefined;\r\n ten?: string | undefined;\r\n type?: number | undefined;\r\n readonly dmdonvis?: DmdonviEntity[] | undefined;\r\n\r\n constructor(data?: IDmdiabanEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n if (data.dmdonvis) {\r\n this.dmdonvis = [];\r\n for (let i = 0; i < data.dmdonvis.length; i++) {\r\n let item = data.dmdonvis[i];\r\n this.dmdonvis[i] = item && !(item).toJSON ? new DmdonviEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.id = _data[\"id\"];\r\n this.ma = _data[\"ma\"];\r\n this.parentid = _data[\"parentid\"];\r\n this.ten = _data[\"ten\"];\r\n this.type = _data[\"type\"];\r\n if (Array.isArray(_data[\"dmdonvis\"])) {\r\n (this).dmdonvis = [] as any;\r\n for (let item of _data[\"dmdonvis\"])\r\n (this).dmdonvis!.push(DmdonviEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmdiabanEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmdiabanEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"id\"] = this.id;\r\n data[\"ma\"] = this.ma;\r\n data[\"parentid\"] = this.parentid;\r\n data[\"ten\"] = this.ten;\r\n data[\"type\"] = this.type;\r\n if (Array.isArray(this.dmdonvis)) {\r\n data[\"dmdonvis\"] = [];\r\n for (let item of this.dmdonvis)\r\n data[\"dmdonvis\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): DmdiabanEntity {\r\n const json = this.toJSON();\r\n let result = new DmdiabanEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmdiabanEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n ma?: string | undefined;\r\n parentid?: number | undefined;\r\n ten?: string | undefined;\r\n type?: number | undefined;\r\n dmdonvis?: IDmdonviEntity[] | undefined;\r\n}\r\n\r\nexport class DmdiabanEntityEntityCollectionApiResponse implements IDmdiabanEntityEntityCollectionApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmdiabanEntity[] | undefined;\r\n\r\n constructor(data?: IDmdiabanEntityEntityCollectionApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new DmdiabanEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(DmdiabanEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmdiabanEntityEntityCollectionApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmdiabanEntityEntityCollectionApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): DmdiabanEntityEntityCollectionApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmdiabanEntityEntityCollectionApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmdiabanEntityEntityCollectionApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmdiabanEntity[] | undefined;\r\n}\r\n\r\nexport class DmdichvuEntity implements IDmdichvuEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n madichvu?: string | undefined;\r\n tendichvu?: string | undefined;\r\n trangthai?: number | undefined;\r\n\r\n constructor(data?: IDmdichvuEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.id = _data[\"id\"];\r\n this.madichvu = _data[\"madichvu\"];\r\n this.tendichvu = _data[\"tendichvu\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmdichvuEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmdichvuEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"id\"] = this.id;\r\n data[\"madichvu\"] = this.madichvu;\r\n data[\"tendichvu\"] = this.tendichvu;\r\n data[\"trangthai\"] = this.trangthai;\r\n return data; \r\n }\r\n\r\n clone(): DmdichvuEntity {\r\n const json = this.toJSON();\r\n let result = new DmdichvuEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmdichvuEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n madichvu?: string | undefined;\r\n tendichvu?: string | undefined;\r\n trangthai?: number | undefined;\r\n}\r\n\r\nexport class DmdichvuEntityApiResponse implements IDmdichvuEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmdichvuEntity;\r\n\r\n constructor(data?: IDmdichvuEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmdichvuEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmdichvuEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmdichvuEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmdichvuEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmdichvuEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmdichvuEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmdichvuEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmdichvuEntity;\r\n}\r\n\r\nexport class DmdinhdanhEntity implements IDmdinhdanhEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n capdinhdanh?: number;\r\n coquanbanhanh?: string | undefined;\r\n diachi?: string | undefined;\r\n email?: string | undefined;\r\n fax?: string | undefined;\r\n id?: number;\r\n madinhdanh?: string | undefined;\r\n madvqhns?: string | undefined;\r\n mahuyen?: string | undefined;\r\n matinh?: string | undefined;\r\n maxa?: string | undefined;\r\n ngaybanhanh?: Date | undefined;\r\n ngayhhl?: Date | undefined;\r\n ngayhl?: Date | undefined;\r\n qdbanhanh?: string | undefined;\r\n sodienthoai?: string | undefined;\r\n tendonvi?: string | undefined;\r\n website?: string | undefined;\r\n\r\n constructor(data?: IDmdinhdanhEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.capdinhdanh = _data[\"capdinhdanh\"];\r\n this.coquanbanhanh = _data[\"coquanbanhanh\"];\r\n this.diachi = _data[\"diachi\"];\r\n this.email = _data[\"email\"];\r\n this.fax = _data[\"fax\"];\r\n this.id = _data[\"id\"];\r\n this.madinhdanh = _data[\"madinhdanh\"];\r\n this.madvqhns = _data[\"madvqhns\"];\r\n this.mahuyen = _data[\"mahuyen\"];\r\n this.matinh = _data[\"matinh\"];\r\n this.maxa = _data[\"maxa\"];\r\n this.ngaybanhanh = _data[\"ngaybanhanh\"] ? new Date(_data[\"ngaybanhanh\"].toString()) : undefined;\r\n this.ngayhhl = _data[\"ngayhhl\"] ? new Date(_data[\"ngayhhl\"].toString()) : undefined;\r\n this.ngayhl = _data[\"ngayhl\"] ? new Date(_data[\"ngayhl\"].toString()) : undefined;\r\n this.qdbanhanh = _data[\"qdbanhanh\"];\r\n this.sodienthoai = _data[\"sodienthoai\"];\r\n this.tendonvi = _data[\"tendonvi\"];\r\n this.website = _data[\"website\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmdinhdanhEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmdinhdanhEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"capdinhdanh\"] = this.capdinhdanh;\r\n data[\"coquanbanhanh\"] = this.coquanbanhanh;\r\n data[\"diachi\"] = this.diachi;\r\n data[\"email\"] = this.email;\r\n data[\"fax\"] = this.fax;\r\n data[\"id\"] = this.id;\r\n data[\"madinhdanh\"] = this.madinhdanh;\r\n data[\"madvqhns\"] = this.madvqhns;\r\n data[\"mahuyen\"] = this.mahuyen;\r\n data[\"matinh\"] = this.matinh;\r\n data[\"maxa\"] = this.maxa;\r\n data[\"ngaybanhanh\"] = this.ngaybanhanh ? this.ngaybanhanh.toISOString() : undefined;\r\n data[\"ngayhhl\"] = this.ngayhhl ? this.ngayhhl.toISOString() : undefined;\r\n data[\"ngayhl\"] = this.ngayhl ? this.ngayhl.toISOString() : undefined;\r\n data[\"qdbanhanh\"] = this.qdbanhanh;\r\n data[\"sodienthoai\"] = this.sodienthoai;\r\n data[\"tendonvi\"] = this.tendonvi;\r\n data[\"website\"] = this.website;\r\n return data; \r\n }\r\n\r\n clone(): DmdinhdanhEntity {\r\n const json = this.toJSON();\r\n let result = new DmdinhdanhEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmdinhdanhEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n capdinhdanh?: number;\r\n coquanbanhanh?: string | undefined;\r\n diachi?: string | undefined;\r\n email?: string | undefined;\r\n fax?: string | undefined;\r\n id?: number;\r\n madinhdanh?: string | undefined;\r\n madvqhns?: string | undefined;\r\n mahuyen?: string | undefined;\r\n matinh?: string | undefined;\r\n maxa?: string | undefined;\r\n ngaybanhanh?: Date | undefined;\r\n ngayhhl?: Date | undefined;\r\n ngayhl?: Date | undefined;\r\n qdbanhanh?: string | undefined;\r\n sodienthoai?: string | undefined;\r\n tendonvi?: string | undefined;\r\n website?: string | undefined;\r\n}\r\n\r\nexport class DmdinhdanhEntityApiResponse implements IDmdinhdanhEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmdinhdanhEntity;\r\n\r\n constructor(data?: IDmdinhdanhEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmdinhdanhEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmdinhdanhEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmdinhdanhEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmdinhdanhEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmdinhdanhEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmdinhdanhEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmdinhdanhEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmdinhdanhEntity;\r\n}\r\n\r\nexport class DmdonviEntity implements IDmdonviEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n capdv?: number;\r\n diachi?: string | undefined;\r\n id?: number;\r\n idDiaban?: number | undefined;\r\n idTochuc?: number | undefined;\r\n madbhc?: string | undefined;\r\n madinhdanh?: string | undefined;\r\n madonvicha?: string | undefined;\r\n tendv?: string | undefined;\r\n type?: number | undefined;\r\n trangthai?: number | undefined;\r\n unitcode?: string | undefined;\r\n readonly dmdonviLinhvucs?: DmdonviLinhvucEntity[] | undefined;\r\n readonly donvivacacbuocxulies?: DonvivacacbuocxulyEntity[] | undefined;\r\n dmdiaban?: DmdiabanEntity;\r\n\r\n constructor(data?: IDmdonviEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n if (data.dmdonviLinhvucs) {\r\n this.dmdonviLinhvucs = [];\r\n for (let i = 0; i < data.dmdonviLinhvucs.length; i++) {\r\n let item = data.dmdonviLinhvucs[i];\r\n this.dmdonviLinhvucs[i] = item && !(item).toJSON ? new DmdonviLinhvucEntity(item) : item;\r\n }\r\n }\r\n if (data.donvivacacbuocxulies) {\r\n this.donvivacacbuocxulies = [];\r\n for (let i = 0; i < data.donvivacacbuocxulies.length; i++) {\r\n let item = data.donvivacacbuocxulies[i];\r\n this.donvivacacbuocxulies[i] = item && !(item).toJSON ? new DonvivacacbuocxulyEntity(item) : item;\r\n }\r\n }\r\n this.dmdiaban = data.dmdiaban && !(data.dmdiaban).toJSON ? new DmdiabanEntity(data.dmdiaban) : this.dmdiaban; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.capdv = _data[\"capdv\"];\r\n this.diachi = _data[\"diachi\"];\r\n this.id = _data[\"id\"];\r\n this.idDiaban = _data[\"idDiaban\"];\r\n this.idTochuc = _data[\"idTochuc\"];\r\n this.madbhc = _data[\"madbhc\"];\r\n this.madinhdanh = _data[\"madinhdanh\"];\r\n this.madonvicha = _data[\"madonvicha\"];\r\n this.tendv = _data[\"tendv\"];\r\n this.type = _data[\"type\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.unitcode = _data[\"unitcode\"];\r\n if (Array.isArray(_data[\"dmdonviLinhvucs\"])) {\r\n (this).dmdonviLinhvucs = [] as any;\r\n for (let item of _data[\"dmdonviLinhvucs\"])\r\n (this).dmdonviLinhvucs!.push(DmdonviLinhvucEntity.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"donvivacacbuocxulies\"])) {\r\n (this).donvivacacbuocxulies = [] as any;\r\n for (let item of _data[\"donvivacacbuocxulies\"])\r\n (this).donvivacacbuocxulies!.push(DonvivacacbuocxulyEntity.fromJS(item));\r\n }\r\n this.dmdiaban = _data[\"dmdiaban\"] ? DmdiabanEntity.fromJS(_data[\"dmdiaban\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmdonviEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmdonviEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"capdv\"] = this.capdv;\r\n data[\"diachi\"] = this.diachi;\r\n data[\"id\"] = this.id;\r\n data[\"idDiaban\"] = this.idDiaban;\r\n data[\"idTochuc\"] = this.idTochuc;\r\n data[\"madbhc\"] = this.madbhc;\r\n data[\"madinhdanh\"] = this.madinhdanh;\r\n data[\"madonvicha\"] = this.madonvicha;\r\n data[\"tendv\"] = this.tendv;\r\n data[\"type\"] = this.type;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"unitcode\"] = this.unitcode;\r\n if (Array.isArray(this.dmdonviLinhvucs)) {\r\n data[\"dmdonviLinhvucs\"] = [];\r\n for (let item of this.dmdonviLinhvucs)\r\n data[\"dmdonviLinhvucs\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.donvivacacbuocxulies)) {\r\n data[\"donvivacacbuocxulies\"] = [];\r\n for (let item of this.donvivacacbuocxulies)\r\n data[\"donvivacacbuocxulies\"].push(item.toJSON());\r\n }\r\n data[\"dmdiaban\"] = this.dmdiaban ? this.dmdiaban.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmdonviEntity {\r\n const json = this.toJSON();\r\n let result = new DmdonviEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmdonviEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n capdv?: number;\r\n diachi?: string | undefined;\r\n id?: number;\r\n idDiaban?: number | undefined;\r\n idTochuc?: number | undefined;\r\n madbhc?: string | undefined;\r\n madinhdanh?: string | undefined;\r\n madonvicha?: string | undefined;\r\n tendv?: string | undefined;\r\n type?: number | undefined;\r\n trangthai?: number | undefined;\r\n unitcode?: string | undefined;\r\n dmdonviLinhvucs?: IDmdonviLinhvucEntity[] | undefined;\r\n donvivacacbuocxulies?: IDonvivacacbuocxulyEntity[] | undefined;\r\n dmdiaban?: IDmdiabanEntity;\r\n}\r\n\r\nexport class DmdonviEntityApiResponse implements IDmdonviEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmdonviEntity;\r\n\r\n constructor(data?: IDmdonviEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmdonviEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmdonviEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmdonviEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmdonviEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmdonviEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmdonviEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmdonviEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmdonviEntity;\r\n}\r\n\r\nexport class DmdonviEntityListApiResponse implements IDmdonviEntityListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmdonviEntity[] | undefined;\r\n\r\n constructor(data?: IDmdonviEntityListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new DmdonviEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(DmdonviEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmdonviEntityListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmdonviEntityListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): DmdonviEntityListApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmdonviEntityListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmdonviEntityListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmdonviEntity[] | undefined;\r\n}\r\n\r\nexport class DmdonviLinhvucEntity implements IDmdonviLinhvucEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n idDonvi?: number;\r\n idLinhvuc?: number;\r\n dmdonvi?: DmdonviEntity;\r\n\r\n constructor(data?: IDmdonviLinhvucEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n this.dmdonvi = data.dmdonvi && !(data.dmdonvi).toJSON ? new DmdonviEntity(data.dmdonvi) : this.dmdonvi; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.idDonvi = _data[\"idDonvi\"];\r\n this.idLinhvuc = _data[\"idLinhvuc\"];\r\n this.dmdonvi = _data[\"dmdonvi\"] ? DmdonviEntity.fromJS(_data[\"dmdonvi\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmdonviLinhvucEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmdonviLinhvucEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"idDonvi\"] = this.idDonvi;\r\n data[\"idLinhvuc\"] = this.idLinhvuc;\r\n data[\"dmdonvi\"] = this.dmdonvi ? this.dmdonvi.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmdonviLinhvucEntity {\r\n const json = this.toJSON();\r\n let result = new DmdonviLinhvucEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmdonviLinhvucEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n idDonvi?: number;\r\n idLinhvuc?: number;\r\n dmdonvi?: IDmdonviEntity;\r\n}\r\n\r\nexport class DmDVModel implements IDmDVModel {\r\n dmdonviEntity?: DmdonviEntity;\r\n listId?: number[] | undefined;\r\n\r\n constructor(data?: IDmDVModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.dmdonviEntity = data.dmdonviEntity && !(data.dmdonviEntity).toJSON ? new DmdonviEntity(data.dmdonviEntity) : this.dmdonviEntity; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.dmdonviEntity = _data[\"dmdonviEntity\"] ? DmdonviEntity.fromJS(_data[\"dmdonviEntity\"]) : undefined;\r\n if (Array.isArray(_data[\"listId\"])) {\r\n this.listId = [] as any;\r\n for (let item of _data[\"listId\"])\r\n this.listId!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmDVModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmDVModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"dmdonviEntity\"] = this.dmdonviEntity ? this.dmdonviEntity.toJSON() : undefined;\r\n if (Array.isArray(this.listId)) {\r\n data[\"listId\"] = [];\r\n for (let item of this.listId)\r\n data[\"listId\"].push(item);\r\n }\r\n return data; \r\n }\r\n\r\n clone(): DmDVModel {\r\n const json = this.toJSON();\r\n let result = new DmDVModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmDVModel {\r\n dmdonviEntity?: IDmdonviEntity;\r\n listId?: number[] | undefined;\r\n}\r\n\r\nexport class DmDVModelUpdate implements IDmDVModelUpdate {\r\n dmdonviEntity?: DmdonviEntity;\r\n listDVLV?: DmdonviLinhvucEntity[] | undefined;\r\n\r\n constructor(data?: IDmDVModelUpdate) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.dmdonviEntity = data.dmdonviEntity && !(data.dmdonviEntity).toJSON ? new DmdonviEntity(data.dmdonviEntity) : this.dmdonviEntity; \r\n if (data.listDVLV) {\r\n this.listDVLV = [];\r\n for (let i = 0; i < data.listDVLV.length; i++) {\r\n let item = data.listDVLV[i];\r\n this.listDVLV[i] = item && !(item).toJSON ? new DmdonviLinhvucEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.dmdonviEntity = _data[\"dmdonviEntity\"] ? DmdonviEntity.fromJS(_data[\"dmdonviEntity\"]) : undefined;\r\n if (Array.isArray(_data[\"listDVLV\"])) {\r\n this.listDVLV = [] as any;\r\n for (let item of _data[\"listDVLV\"])\r\n this.listDVLV!.push(DmdonviLinhvucEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmDVModelUpdate {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmDVModelUpdate();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"dmdonviEntity\"] = this.dmdonviEntity ? this.dmdonviEntity.toJSON() : undefined;\r\n if (Array.isArray(this.listDVLV)) {\r\n data[\"listDVLV\"] = [];\r\n for (let item of this.listDVLV)\r\n data[\"listDVLV\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): DmDVModelUpdate {\r\n const json = this.toJSON();\r\n let result = new DmDVModelUpdate();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmDVModelUpdate {\r\n dmdonviEntity?: IDmdonviEntity;\r\n listDVLV?: IDmdonviLinhvucEntity[] | undefined;\r\n}\r\n\r\nexport class DmDVModelUpdateApiResponse implements IDmDVModelUpdateApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmDVModelUpdate;\r\n\r\n constructor(data?: IDmDVModelUpdateApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmDVModelUpdate(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmDVModelUpdate.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmDVModelUpdateApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmDVModelUpdateApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmDVModelUpdateApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmDVModelUpdateApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmDVModelUpdateApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmDVModelUpdate;\r\n}\r\n\r\nexport class DmlinhvucEntity implements IDmlinhvucEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n donviphoihop?: string | undefined;\r\n donvixuly?: string | undefined;\r\n iconclass?: string | undefined;\r\n id?: number;\r\n malinhvuc?: string | undefined;\r\n tenlinhvuc?: string | undefined;\r\n trangthai?: number | undefined;\r\n readonly noidunggopies?: NoidunggopyEntity[] | undefined;\r\n\r\n constructor(data?: IDmlinhvucEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n if (data.noidunggopies) {\r\n this.noidunggopies = [];\r\n for (let i = 0; i < data.noidunggopies.length; i++) {\r\n let item = data.noidunggopies[i];\r\n this.noidunggopies[i] = item && !(item).toJSON ? new NoidunggopyEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.donviphoihop = _data[\"donviphoihop\"];\r\n this.donvixuly = _data[\"donvixuly\"];\r\n this.iconclass = _data[\"iconclass\"];\r\n this.id = _data[\"id\"];\r\n this.malinhvuc = _data[\"malinhvuc\"];\r\n this.tenlinhvuc = _data[\"tenlinhvuc\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n if (Array.isArray(_data[\"noidunggopies\"])) {\r\n (this).noidunggopies = [] as any;\r\n for (let item of _data[\"noidunggopies\"])\r\n (this).noidunggopies!.push(NoidunggopyEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmlinhvucEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmlinhvucEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"donviphoihop\"] = this.donviphoihop;\r\n data[\"donvixuly\"] = this.donvixuly;\r\n data[\"iconclass\"] = this.iconclass;\r\n data[\"id\"] = this.id;\r\n data[\"malinhvuc\"] = this.malinhvuc;\r\n data[\"tenlinhvuc\"] = this.tenlinhvuc;\r\n data[\"trangthai\"] = this.trangthai;\r\n if (Array.isArray(this.noidunggopies)) {\r\n data[\"noidunggopies\"] = [];\r\n for (let item of this.noidunggopies)\r\n data[\"noidunggopies\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): DmlinhvucEntity {\r\n const json = this.toJSON();\r\n let result = new DmlinhvucEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmlinhvucEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n donviphoihop?: string | undefined;\r\n donvixuly?: string | undefined;\r\n iconclass?: string | undefined;\r\n id?: number;\r\n malinhvuc?: string | undefined;\r\n tenlinhvuc?: string | undefined;\r\n trangthai?: number | undefined;\r\n noidunggopies?: INoidunggopyEntity[] | undefined;\r\n}\r\n\r\nexport class DmlinhvucEntityApiResponse implements IDmlinhvucEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmlinhvucEntity;\r\n\r\n constructor(data?: IDmlinhvucEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmlinhvucEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmlinhvucEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmlinhvucEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmlinhvucEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmlinhvucEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmlinhvucEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmlinhvucEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmlinhvucEntity;\r\n}\r\n\r\nexport class DmlinhvucEntityEntityCollectionApiResponse implements IDmlinhvucEntityEntityCollectionApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmlinhvucEntity[] | undefined;\r\n\r\n constructor(data?: IDmlinhvucEntityEntityCollectionApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new DmlinhvucEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(DmlinhvucEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmlinhvucEntityEntityCollectionApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmlinhvucEntityEntityCollectionApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): DmlinhvucEntityEntityCollectionApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmlinhvucEntityEntityCollectionApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmlinhvucEntityEntityCollectionApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmlinhvucEntity[] | undefined;\r\n}\r\n\r\nexport class DmnguoisudungEntity implements IDmnguoisudungEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n diachi?: string | undefined;\r\n email?: string | undefined;\r\n id?: number;\r\n ma?: string | undefined;\r\n sdt?: string | undefined;\r\n ten?: string | undefined;\r\n\r\n constructor(data?: IDmnguoisudungEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.diachi = _data[\"diachi\"];\r\n this.email = _data[\"email\"];\r\n this.id = _data[\"id\"];\r\n this.ma = _data[\"ma\"];\r\n this.sdt = _data[\"sdt\"];\r\n this.ten = _data[\"ten\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmnguoisudungEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmnguoisudungEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"diachi\"] = this.diachi;\r\n data[\"email\"] = this.email;\r\n data[\"id\"] = this.id;\r\n data[\"ma\"] = this.ma;\r\n data[\"sdt\"] = this.sdt;\r\n data[\"ten\"] = this.ten;\r\n return data; \r\n }\r\n\r\n clone(): DmnguoisudungEntity {\r\n const json = this.toJSON();\r\n let result = new DmnguoisudungEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmnguoisudungEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n diachi?: string | undefined;\r\n email?: string | undefined;\r\n id?: number;\r\n ma?: string | undefined;\r\n sdt?: string | undefined;\r\n ten?: string | undefined;\r\n}\r\n\r\nexport class DmnguoisudungEntityApiResponse implements IDmnguoisudungEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmnguoisudungEntity;\r\n\r\n constructor(data?: IDmnguoisudungEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmnguoisudungEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmnguoisudungEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmnguoisudungEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmnguoisudungEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmnguoisudungEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmnguoisudungEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmnguoisudungEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmnguoisudungEntity;\r\n}\r\n\r\nexport class DmtrangthaiEntity implements IDmtrangthaiEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n color?: string | undefined;\r\n id?: number;\r\n status?: number | undefined;\r\n tentrangthai?: string | undefined;\r\n readonly lichsuxulies?: LichsuxulyEntity[] | undefined;\r\n readonly noidunggopies?: NoidunggopyEntity[] | undefined;\r\n\r\n constructor(data?: IDmtrangthaiEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n if (data.lichsuxulies) {\r\n this.lichsuxulies = [];\r\n for (let i = 0; i < data.lichsuxulies.length; i++) {\r\n let item = data.lichsuxulies[i];\r\n this.lichsuxulies[i] = item && !(item).toJSON ? new LichsuxulyEntity(item) : item;\r\n }\r\n }\r\n if (data.noidunggopies) {\r\n this.noidunggopies = [];\r\n for (let i = 0; i < data.noidunggopies.length; i++) {\r\n let item = data.noidunggopies[i];\r\n this.noidunggopies[i] = item && !(item).toJSON ? new NoidunggopyEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.color = _data[\"color\"];\r\n this.id = _data[\"id\"];\r\n this.status = _data[\"status\"];\r\n this.tentrangthai = _data[\"tentrangthai\"];\r\n if (Array.isArray(_data[\"lichsuxulies\"])) {\r\n (this).lichsuxulies = [] as any;\r\n for (let item of _data[\"lichsuxulies\"])\r\n (this).lichsuxulies!.push(LichsuxulyEntity.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"noidunggopies\"])) {\r\n (this).noidunggopies = [] as any;\r\n for (let item of _data[\"noidunggopies\"])\r\n (this).noidunggopies!.push(NoidunggopyEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmtrangthaiEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmtrangthaiEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"color\"] = this.color;\r\n data[\"id\"] = this.id;\r\n data[\"status\"] = this.status;\r\n data[\"tentrangthai\"] = this.tentrangthai;\r\n if (Array.isArray(this.lichsuxulies)) {\r\n data[\"lichsuxulies\"] = [];\r\n for (let item of this.lichsuxulies)\r\n data[\"lichsuxulies\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.noidunggopies)) {\r\n data[\"noidunggopies\"] = [];\r\n for (let item of this.noidunggopies)\r\n data[\"noidunggopies\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): DmtrangthaiEntity {\r\n const json = this.toJSON();\r\n let result = new DmtrangthaiEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmtrangthaiEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n color?: string | undefined;\r\n id?: number;\r\n status?: number | undefined;\r\n tentrangthai?: string | undefined;\r\n lichsuxulies?: ILichsuxulyEntity[] | undefined;\r\n noidunggopies?: INoidunggopyEntity[] | undefined;\r\n}\r\n\r\nexport class DmtrangthaiEntityApiResponse implements IDmtrangthaiEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmtrangthaiEntity;\r\n\r\n constructor(data?: IDmtrangthaiEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmtrangthaiEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmtrangthaiEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmtrangthaiEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmtrangthaiEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmtrangthaiEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmtrangthaiEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmtrangthaiEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmtrangthaiEntity;\r\n}\r\n\r\nexport class DmtudienEntity implements IDmtudienEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n fieldname?: string | undefined;\r\n id?: number;\r\n matudien?: string | undefined;\r\n tentudien?: string | undefined;\r\n trangthai?: number | undefined;\r\n\r\n constructor(data?: IDmtudienEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.fieldname = _data[\"fieldname\"];\r\n this.id = _data[\"id\"];\r\n this.matudien = _data[\"matudien\"];\r\n this.tentudien = _data[\"tentudien\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmtudienEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmtudienEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"fieldname\"] = this.fieldname;\r\n data[\"id\"] = this.id;\r\n data[\"matudien\"] = this.matudien;\r\n data[\"tentudien\"] = this.tentudien;\r\n data[\"trangthai\"] = this.trangthai;\r\n return data; \r\n }\r\n\r\n clone(): DmtudienEntity {\r\n const json = this.toJSON();\r\n let result = new DmtudienEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmtudienEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n fieldname?: string | undefined;\r\n id?: number;\r\n matudien?: string | undefined;\r\n tentudien?: string | undefined;\r\n trangthai?: number | undefined;\r\n}\r\n\r\nexport class DmtudienEntityApiResponse implements IDmtudienEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmtudienEntity;\r\n\r\n constructor(data?: IDmtudienEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmtudienEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmtudienEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmtudienEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmtudienEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmtudienEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmtudienEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmtudienEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmtudienEntity;\r\n}\r\n\r\nexport class DmtudienEntityListApiResponse implements IDmtudienEntityListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmtudienEntity[] | undefined;\r\n\r\n constructor(data?: IDmtudienEntityListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new DmtudienEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(DmtudienEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmtudienEntityListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmtudienEntityListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): DmtudienEntityListApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmtudienEntityListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmtudienEntityListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmtudienEntity[] | undefined;\r\n}\r\n\r\nexport class DmvitriEntity implements IDmvitriEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n ma?: string | undefined;\r\n ten?: string | undefined;\r\n trangthai?: number | undefined;\r\n\r\n constructor(data?: IDmvitriEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.id = _data[\"id\"];\r\n this.ma = _data[\"ma\"];\r\n this.ten = _data[\"ten\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmvitriEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmvitriEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"id\"] = this.id;\r\n data[\"ma\"] = this.ma;\r\n data[\"ten\"] = this.ten;\r\n data[\"trangthai\"] = this.trangthai;\r\n return data; \r\n }\r\n\r\n clone(): DmvitriEntity {\r\n const json = this.toJSON();\r\n let result = new DmvitriEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmvitriEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n ma?: string | undefined;\r\n ten?: string | undefined;\r\n trangthai?: number | undefined;\r\n}\r\n\r\nexport class DmvitriEntityApiResponse implements IDmvitriEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmvitriEntity;\r\n\r\n constructor(data?: IDmvitriEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmvitriEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmvitriEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmvitriEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmvitriEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DmvitriEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmvitriEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmvitriEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmvitriEntity;\r\n}\r\n\r\nexport class DongYPheDuyetGopY implements IDongYPheDuyetGopY {\r\n isConfirm?: boolean;\r\n noiDungId?: number;\r\n yKien?: string | undefined;\r\n noiDungPhanHoi?: string | undefined;\r\n lstFileIdRemove?: number[] | undefined;\r\n idLanhDao?: number | undefined;\r\n isTransfer?: boolean | undefined;\r\n lstFile?: FileDongYPheDuyetGopYModel[] | undefined;\r\n\r\n constructor(data?: IDongYPheDuyetGopY) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstFile) {\r\n this.lstFile = [];\r\n for (let i = 0; i < data.lstFile.length; i++) {\r\n let item = data.lstFile[i];\r\n this.lstFile[i] = item && !(item).toJSON ? new FileDongYPheDuyetGopYModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.isConfirm = _data[\"isConfirm\"];\r\n this.noiDungId = _data[\"noiDungId\"];\r\n this.yKien = _data[\"yKien\"];\r\n this.noiDungPhanHoi = _data[\"noiDungPhanHoi\"];\r\n if (Array.isArray(_data[\"lstFileIdRemove\"])) {\r\n this.lstFileIdRemove = [] as any;\r\n for (let item of _data[\"lstFileIdRemove\"])\r\n this.lstFileIdRemove!.push(item);\r\n }\r\n this.idLanhDao = _data[\"idLanhDao\"];\r\n this.isTransfer = _data[\"isTransfer\"];\r\n if (Array.isArray(_data[\"lstFile\"])) {\r\n this.lstFile = [] as any;\r\n for (let item of _data[\"lstFile\"])\r\n this.lstFile!.push(FileDongYPheDuyetGopYModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DongYPheDuyetGopY {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DongYPheDuyetGopY();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"isConfirm\"] = this.isConfirm;\r\n data[\"noiDungId\"] = this.noiDungId;\r\n data[\"yKien\"] = this.yKien;\r\n data[\"noiDungPhanHoi\"] = this.noiDungPhanHoi;\r\n if (Array.isArray(this.lstFileIdRemove)) {\r\n data[\"lstFileIdRemove\"] = [];\r\n for (let item of this.lstFileIdRemove)\r\n data[\"lstFileIdRemove\"].push(item);\r\n }\r\n data[\"idLanhDao\"] = this.idLanhDao;\r\n data[\"isTransfer\"] = this.isTransfer;\r\n if (Array.isArray(this.lstFile)) {\r\n data[\"lstFile\"] = [];\r\n for (let item of this.lstFile)\r\n data[\"lstFile\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): DongYPheDuyetGopY {\r\n const json = this.toJSON();\r\n let result = new DongYPheDuyetGopY();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDongYPheDuyetGopY {\r\n isConfirm?: boolean;\r\n noiDungId?: number;\r\n yKien?: string | undefined;\r\n noiDungPhanHoi?: string | undefined;\r\n lstFileIdRemove?: number[] | undefined;\r\n idLanhDao?: number | undefined;\r\n isTransfer?: boolean | undefined;\r\n lstFile?: IFileDongYPheDuyetGopYModel[] | undefined;\r\n}\r\n\r\nexport class DonViBcThongKeXuLyModel implements IDonViBcThongKeXuLyModel {\r\n id?: number;\r\n unitCode?: string | undefined;\r\n unitName?: string | undefined;\r\n\r\n constructor(data?: IDonViBcThongKeXuLyModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.unitCode = _data[\"unitCode\"];\r\n this.unitName = _data[\"unitName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DonViBcThongKeXuLyModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DonViBcThongKeXuLyModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"unitCode\"] = this.unitCode;\r\n data[\"unitName\"] = this.unitName;\r\n return data; \r\n }\r\n\r\n clone(): DonViBcThongKeXuLyModel {\r\n const json = this.toJSON();\r\n let result = new DonViBcThongKeXuLyModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDonViBcThongKeXuLyModel {\r\n id?: number;\r\n unitCode?: string | undefined;\r\n unitName?: string | undefined;\r\n}\r\n\r\nexport class DonViFilterModel implements IDonViFilterModel {\r\n value?: string | undefined;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IDonViFilterModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.value = _data[\"value\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DonViFilterModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DonViFilterModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value;\r\n data[\"name\"] = this.name;\r\n return data; \r\n }\r\n\r\n clone(): DonViFilterModel {\r\n const json = this.toJSON();\r\n let result = new DonViFilterModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDonViFilterModel {\r\n value?: string | undefined;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class DonViHoTroXuLyGopYModel implements IDonViHoTroXuLyGopYModel {\r\n unitCode?: string | undefined;\r\n unitName?: string | undefined;\r\n\r\n constructor(data?: IDonViHoTroXuLyGopYModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.unitCode = _data[\"unitCode\"];\r\n this.unitName = _data[\"unitName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DonViHoTroXuLyGopYModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DonViHoTroXuLyGopYModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"unitCode\"] = this.unitCode;\r\n data[\"unitName\"] = this.unitName;\r\n return data; \r\n }\r\n\r\n clone(): DonViHoTroXuLyGopYModel {\r\n const json = this.toJSON();\r\n let result = new DonViHoTroXuLyGopYModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDonViHoTroXuLyGopYModel {\r\n unitCode?: string | undefined;\r\n unitName?: string | undefined;\r\n}\r\n\r\nexport class DonViPhoiHopPhanCongXuLyModel implements IDonViPhoiHopPhanCongXuLyModel {\r\n id?: number;\r\n ten?: string | undefined;\r\n\r\n constructor(data?: IDonViPhoiHopPhanCongXuLyModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.ten = _data[\"ten\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DonViPhoiHopPhanCongXuLyModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DonViPhoiHopPhanCongXuLyModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"ten\"] = this.ten;\r\n return data; \r\n }\r\n\r\n clone(): DonViPhoiHopPhanCongXuLyModel {\r\n const json = this.toJSON();\r\n let result = new DonViPhoiHopPhanCongXuLyModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDonViPhoiHopPhanCongXuLyModel {\r\n id?: number;\r\n ten?: string | undefined;\r\n}\r\n\r\nexport class DonviphoihopxulyEntity implements IDonviphoihopxulyEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n donviid?: number | undefined;\r\n id?: number;\r\n mota?: string | undefined;\r\n noidungid?: number | undefined;\r\n unitcode?: string | undefined;\r\n noidunggopy?: NoidunggopyEntity;\r\n\r\n constructor(data?: IDonviphoihopxulyEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n this.noidunggopy = data.noidunggopy && !(data.noidunggopy).toJSON ? new NoidunggopyEntity(data.noidunggopy) : this.noidunggopy; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.donviid = _data[\"donviid\"];\r\n this.id = _data[\"id\"];\r\n this.mota = _data[\"mota\"];\r\n this.noidungid = _data[\"noidungid\"];\r\n this.unitcode = _data[\"unitcode\"];\r\n this.noidunggopy = _data[\"noidunggopy\"] ? NoidunggopyEntity.fromJS(_data[\"noidunggopy\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DonviphoihopxulyEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DonviphoihopxulyEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"donviid\"] = this.donviid;\r\n data[\"id\"] = this.id;\r\n data[\"mota\"] = this.mota;\r\n data[\"noidungid\"] = this.noidungid;\r\n data[\"unitcode\"] = this.unitcode;\r\n data[\"noidunggopy\"] = this.noidunggopy ? this.noidunggopy.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DonviphoihopxulyEntity {\r\n const json = this.toJSON();\r\n let result = new DonviphoihopxulyEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDonviphoihopxulyEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n donviid?: number | undefined;\r\n id?: number;\r\n mota?: string | undefined;\r\n noidungid?: number | undefined;\r\n unitcode?: string | undefined;\r\n noidunggopy?: INoidunggopyEntity;\r\n}\r\n\r\nexport class DonviphoihopxulyEntityApiResponse implements IDonviphoihopxulyEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DonviphoihopxulyEntity;\r\n\r\n constructor(data?: IDonviphoihopxulyEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DonviphoihopxulyEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DonviphoihopxulyEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DonviphoihopxulyEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DonviphoihopxulyEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DonviphoihopxulyEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DonviphoihopxulyEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDonviphoihopxulyEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDonviphoihopxulyEntity;\r\n}\r\n\r\nexport class DonViPhongBanSelect implements IDonViPhongBanSelect {\r\n id?: number;\r\n unitcode?: string | undefined;\r\n tendv?: string | undefined;\r\n capdv?: number;\r\n madonvicha?: string | undefined;\r\n\r\n constructor(data?: IDonViPhongBanSelect) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.unitcode = _data[\"unitcode\"];\r\n this.tendv = _data[\"tendv\"];\r\n this.capdv = _data[\"capdv\"];\r\n this.madonvicha = _data[\"madonvicha\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DonViPhongBanSelect {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DonViPhongBanSelect();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"unitcode\"] = this.unitcode;\r\n data[\"tendv\"] = this.tendv;\r\n data[\"capdv\"] = this.capdv;\r\n data[\"madonvicha\"] = this.madonvicha;\r\n return data; \r\n }\r\n\r\n clone(): DonViPhongBanSelect {\r\n const json = this.toJSON();\r\n let result = new DonViPhongBanSelect();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDonViPhongBanSelect {\r\n id?: number;\r\n unitcode?: string | undefined;\r\n tendv?: string | undefined;\r\n capdv?: number;\r\n madonvicha?: string | undefined;\r\n}\r\n\r\nexport class DonViSelect implements IDonViSelect {\r\n id?: number;\r\n unitcode?: string | undefined;\r\n tendv?: string | undefined;\r\n capdv?: number;\r\n\r\n constructor(data?: IDonViSelect) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.unitcode = _data[\"unitcode\"];\r\n this.tendv = _data[\"tendv\"];\r\n this.capdv = _data[\"capdv\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DonViSelect {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DonViSelect();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"unitcode\"] = this.unitcode;\r\n data[\"tendv\"] = this.tendv;\r\n data[\"capdv\"] = this.capdv;\r\n return data; \r\n }\r\n\r\n clone(): DonViSelect {\r\n const json = this.toJSON();\r\n let result = new DonViSelect();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDonViSelect {\r\n id?: number;\r\n unitcode?: string | undefined;\r\n tendv?: string | undefined;\r\n capdv?: number;\r\n}\r\n\r\nexport class DonViSelectIEnumerableApiResponse implements IDonViSelectIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DonViSelect[] | undefined;\r\n\r\n constructor(data?: IDonViSelectIEnumerableApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new DonViSelect(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(DonViSelect.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DonViSelectIEnumerableApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DonViSelectIEnumerableApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): DonViSelectIEnumerableApiResponse {\r\n const json = this.toJSON();\r\n let result = new DonViSelectIEnumerableApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDonViSelectIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDonViSelect[] | undefined;\r\n}\r\n\r\nexport class DonViTinhHinhXuLyChartModel implements IDonViTinhHinhXuLyChartModel {\r\n id?: string | undefined;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IDonViTinhHinhXuLyChartModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DonViTinhHinhXuLyChartModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DonViTinhHinhXuLyChartModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data; \r\n }\r\n\r\n clone(): DonViTinhHinhXuLyChartModel {\r\n const json = this.toJSON();\r\n let result = new DonViTinhHinhXuLyChartModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDonViTinhHinhXuLyChartModel {\r\n id?: string | undefined;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class DonvivacacbuocxulyEntity implements IDonvivacacbuocxulyEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n idcacbuocxuly?: number | undefined;\r\n iddonvi?: number | undefined;\r\n dmcacbuocxuly?: DmcacbuocxulyEntity;\r\n dmdonvi?: DmdonviEntity;\r\n\r\n constructor(data?: IDonvivacacbuocxulyEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n this.dmcacbuocxuly = data.dmcacbuocxuly && !(data.dmcacbuocxuly).toJSON ? new DmcacbuocxulyEntity(data.dmcacbuocxuly) : this.dmcacbuocxuly; \r\n this.dmdonvi = data.dmdonvi && !(data.dmdonvi).toJSON ? new DmdonviEntity(data.dmdonvi) : this.dmdonvi; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.id = _data[\"id\"];\r\n this.idcacbuocxuly = _data[\"idcacbuocxuly\"];\r\n this.iddonvi = _data[\"iddonvi\"];\r\n this.dmcacbuocxuly = _data[\"dmcacbuocxuly\"] ? DmcacbuocxulyEntity.fromJS(_data[\"dmcacbuocxuly\"]) : undefined;\r\n this.dmdonvi = _data[\"dmdonvi\"] ? DmdonviEntity.fromJS(_data[\"dmdonvi\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DonvivacacbuocxulyEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DonvivacacbuocxulyEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"id\"] = this.id;\r\n data[\"idcacbuocxuly\"] = this.idcacbuocxuly;\r\n data[\"iddonvi\"] = this.iddonvi;\r\n data[\"dmcacbuocxuly\"] = this.dmcacbuocxuly ? this.dmcacbuocxuly.toJSON() : undefined;\r\n data[\"dmdonvi\"] = this.dmdonvi ? this.dmdonvi.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DonvivacacbuocxulyEntity {\r\n const json = this.toJSON();\r\n let result = new DonvivacacbuocxulyEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDonvivacacbuocxulyEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n idcacbuocxuly?: number | undefined;\r\n iddonvi?: number | undefined;\r\n dmcacbuocxuly?: IDmcacbuocxulyEntity;\r\n dmdonvi?: IDmdonviEntity;\r\n}\r\n\r\nexport class DonvivacacbuocxulyEntityApiResponse implements IDonvivacacbuocxulyEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DonvivacacbuocxulyEntity;\r\n\r\n constructor(data?: IDonvivacacbuocxulyEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DonvivacacbuocxulyEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DonvivacacbuocxulyEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DonvivacacbuocxulyEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DonvivacacbuocxulyEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): DonvivacacbuocxulyEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DonvivacacbuocxulyEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDonvivacacbuocxulyEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDonvivacacbuocxulyEntity;\r\n}\r\n\r\nexport class DuyetTrucTiepKhiXuLyModel implements IDuyetTrucTiepKhiXuLyModel {\r\n noiDungId?: number;\r\n yKien?: string | undefined;\r\n noiDungPhanHoi?: string | undefined;\r\n lstFile?: FileDuyetTrucTiepKhiXuLyModel[] | undefined;\r\n\r\n constructor(data?: IDuyetTrucTiepKhiXuLyModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstFile) {\r\n this.lstFile = [];\r\n for (let i = 0; i < data.lstFile.length; i++) {\r\n let item = data.lstFile[i];\r\n this.lstFile[i] = item && !(item).toJSON ? new FileDuyetTrucTiepKhiXuLyModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.noiDungId = _data[\"noiDungId\"];\r\n this.yKien = _data[\"yKien\"];\r\n this.noiDungPhanHoi = _data[\"noiDungPhanHoi\"];\r\n if (Array.isArray(_data[\"lstFile\"])) {\r\n this.lstFile = [] as any;\r\n for (let item of _data[\"lstFile\"])\r\n this.lstFile!.push(FileDuyetTrucTiepKhiXuLyModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DuyetTrucTiepKhiXuLyModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DuyetTrucTiepKhiXuLyModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"noiDungId\"] = this.noiDungId;\r\n data[\"yKien\"] = this.yKien;\r\n data[\"noiDungPhanHoi\"] = this.noiDungPhanHoi;\r\n if (Array.isArray(this.lstFile)) {\r\n data[\"lstFile\"] = [];\r\n for (let item of this.lstFile)\r\n data[\"lstFile\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): DuyetTrucTiepKhiXuLyModel {\r\n const json = this.toJSON();\r\n let result = new DuyetTrucTiepKhiXuLyModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDuyetTrucTiepKhiXuLyModel {\r\n noiDungId?: number;\r\n yKien?: string | undefined;\r\n noiDungPhanHoi?: string | undefined;\r\n lstFile?: IFileDuyetTrucTiepKhiXuLyModel[] | undefined;\r\n}\r\n\r\nexport class EntityPhancongandNvhotro implements IEntityPhancongandNvhotro {\r\n lstnhanvienphoihop?: NhanvienphoihopEntity[] | undefined;\r\n phancongEntity?: PhancongEntity;\r\n noiDungId?: number;\r\n donViXuLyId?: number;\r\n thoiGianXuLyDenNgay?: Date;\r\n lstDonViPhoiHopId?: number[] | undefined;\r\n yKienChuyenDonVi?: string | undefined;\r\n noiDungTraLoi?: string | undefined;\r\n lstFiles?: FilePhanCongAndNvHoTroModel[] | undefined;\r\n chiaSe?: boolean;\r\n isChangeContent?: boolean;\r\n thongTinEdit?: ThongTinDinhKemPhanCongAndNvHoTroModel;\r\n\r\n constructor(data?: IEntityPhancongandNvhotro) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstnhanvienphoihop) {\r\n this.lstnhanvienphoihop = [];\r\n for (let i = 0; i < data.lstnhanvienphoihop.length; i++) {\r\n let item = data.lstnhanvienphoihop[i];\r\n this.lstnhanvienphoihop[i] = item && !(item).toJSON ? new NhanvienphoihopEntity(item) : item;\r\n }\r\n }\r\n this.phancongEntity = data.phancongEntity && !(data.phancongEntity).toJSON ? new PhancongEntity(data.phancongEntity) : this.phancongEntity; \r\n if (data.lstFiles) {\r\n this.lstFiles = [];\r\n for (let i = 0; i < data.lstFiles.length; i++) {\r\n let item = data.lstFiles[i];\r\n this.lstFiles[i] = item && !(item).toJSON ? new FilePhanCongAndNvHoTroModel(item) : item;\r\n }\r\n }\r\n this.thongTinEdit = data.thongTinEdit && !(data.thongTinEdit).toJSON ? new ThongTinDinhKemPhanCongAndNvHoTroModel(data.thongTinEdit) : this.thongTinEdit; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"lstnhanvienphoihop\"])) {\r\n this.lstnhanvienphoihop = [] as any;\r\n for (let item of _data[\"lstnhanvienphoihop\"])\r\n this.lstnhanvienphoihop!.push(NhanvienphoihopEntity.fromJS(item));\r\n }\r\n this.phancongEntity = _data[\"phancongEntity\"] ? PhancongEntity.fromJS(_data[\"phancongEntity\"]) : undefined;\r\n this.noiDungId = _data[\"noiDungId\"];\r\n this.donViXuLyId = _data[\"donViXuLyId\"];\r\n this.thoiGianXuLyDenNgay = _data[\"thoiGianXuLyDenNgay\"] ? new Date(_data[\"thoiGianXuLyDenNgay\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"lstDonViPhoiHopId\"])) {\r\n this.lstDonViPhoiHopId = [] as any;\r\n for (let item of _data[\"lstDonViPhoiHopId\"])\r\n this.lstDonViPhoiHopId!.push(item);\r\n }\r\n this.yKienChuyenDonVi = _data[\"yKienChuyenDonVi\"];\r\n this.noiDungTraLoi = _data[\"noiDungTraLoi\"];\r\n if (Array.isArray(_data[\"lstFiles\"])) {\r\n this.lstFiles = [] as any;\r\n for (let item of _data[\"lstFiles\"])\r\n this.lstFiles!.push(FilePhanCongAndNvHoTroModel.fromJS(item));\r\n }\r\n this.chiaSe = _data[\"chiaSe\"];\r\n this.isChangeContent = _data[\"isChangeContent\"];\r\n this.thongTinEdit = _data[\"thongTinEdit\"] ? ThongTinDinhKemPhanCongAndNvHoTroModel.fromJS(_data[\"thongTinEdit\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): EntityPhancongandNvhotro {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EntityPhancongandNvhotro();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.lstnhanvienphoihop)) {\r\n data[\"lstnhanvienphoihop\"] = [];\r\n for (let item of this.lstnhanvienphoihop)\r\n data[\"lstnhanvienphoihop\"].push(item.toJSON());\r\n }\r\n data[\"phancongEntity\"] = this.phancongEntity ? this.phancongEntity.toJSON() : undefined;\r\n data[\"noiDungId\"] = this.noiDungId;\r\n data[\"donViXuLyId\"] = this.donViXuLyId;\r\n data[\"thoiGianXuLyDenNgay\"] = this.thoiGianXuLyDenNgay ? this.thoiGianXuLyDenNgay.toISOString() : undefined;\r\n if (Array.isArray(this.lstDonViPhoiHopId)) {\r\n data[\"lstDonViPhoiHopId\"] = [];\r\n for (let item of this.lstDonViPhoiHopId)\r\n data[\"lstDonViPhoiHopId\"].push(item);\r\n }\r\n data[\"yKienChuyenDonVi\"] = this.yKienChuyenDonVi;\r\n data[\"noiDungTraLoi\"] = this.noiDungTraLoi;\r\n if (Array.isArray(this.lstFiles)) {\r\n data[\"lstFiles\"] = [];\r\n for (let item of this.lstFiles)\r\n data[\"lstFiles\"].push(item.toJSON());\r\n }\r\n data[\"chiaSe\"] = this.chiaSe;\r\n data[\"isChangeContent\"] = this.isChangeContent;\r\n data[\"thongTinEdit\"] = this.thongTinEdit ? this.thongTinEdit.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): EntityPhancongandNvhotro {\r\n const json = this.toJSON();\r\n let result = new EntityPhancongandNvhotro();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IEntityPhancongandNvhotro {\r\n lstnhanvienphoihop?: INhanvienphoihopEntity[] | undefined;\r\n phancongEntity?: IPhancongEntity;\r\n noiDungId?: number;\r\n donViXuLyId?: number;\r\n thoiGianXuLyDenNgay?: Date;\r\n lstDonViPhoiHopId?: number[] | undefined;\r\n yKienChuyenDonVi?: string | undefined;\r\n noiDungTraLoi?: string | undefined;\r\n lstFiles?: IFilePhanCongAndNvHoTroModel[] | undefined;\r\n chiaSe?: boolean;\r\n isChangeContent?: boolean;\r\n thongTinEdit?: IThongTinDinhKemPhanCongAndNvHoTroModel;\r\n}\r\n\r\nexport enum EventAttributes {\r\n _0 = 0,\r\n _512 = 512,\r\n _1024 = 1024,\r\n}\r\n\r\nexport class EventInfo implements IEventInfo {\r\n readonly name?: string | undefined;\r\n declaringType?: Type;\r\n reflectedType?: Type;\r\n module?: Module;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n memberType?: MemberTypes;\r\n attributes?: EventAttributes;\r\n readonly isSpecialName?: boolean;\r\n addMethod?: MethodInfo;\r\n removeMethod?: MethodInfo;\r\n raiseMethod?: MethodInfo;\r\n readonly isMulticast?: boolean;\r\n eventHandlerType?: Type;\r\n\r\n constructor(data?: IEventInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType; \r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType; \r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module; \r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.addMethod = data.addMethod && !(data.addMethod).toJSON ? new MethodInfo(data.addMethod) : this.addMethod; \r\n this.removeMethod = data.removeMethod && !(data.removeMethod).toJSON ? new MethodInfo(data.removeMethod) : this.removeMethod; \r\n this.raiseMethod = data.raiseMethod && !(data.raiseMethod).toJSON ? new MethodInfo(data.raiseMethod) : this.raiseMethod; \r\n this.eventHandlerType = data.eventHandlerType && !(data.eventHandlerType).toJSON ? new Type(data.eventHandlerType) : this.eventHandlerType; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n this.memberType = _data[\"memberType\"];\r\n this.attributes = _data[\"attributes\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n this.addMethod = _data[\"addMethod\"] ? MethodInfo.fromJS(_data[\"addMethod\"]) : undefined;\r\n this.removeMethod = _data[\"removeMethod\"] ? MethodInfo.fromJS(_data[\"removeMethod\"]) : undefined;\r\n this.raiseMethod = _data[\"raiseMethod\"] ? MethodInfo.fromJS(_data[\"raiseMethod\"]) : undefined;\r\n (this).isMulticast = _data[\"isMulticast\"];\r\n this.eventHandlerType = _data[\"eventHandlerType\"] ? Type.fromJS(_data[\"eventHandlerType\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): EventInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EventInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"memberType\"] = this.memberType;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"addMethod\"] = this.addMethod ? this.addMethod.toJSON() : undefined;\r\n data[\"removeMethod\"] = this.removeMethod ? this.removeMethod.toJSON() : undefined;\r\n data[\"raiseMethod\"] = this.raiseMethod ? this.raiseMethod.toJSON() : undefined;\r\n data[\"isMulticast\"] = this.isMulticast;\r\n data[\"eventHandlerType\"] = this.eventHandlerType ? this.eventHandlerType.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): EventInfo {\r\n const json = this.toJSON();\r\n let result = new EventInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IEventInfo {\r\n name?: string | undefined;\r\n declaringType?: IType;\r\n reflectedType?: IType;\r\n module?: IModule;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n memberType?: MemberTypes;\r\n attributes?: EventAttributes;\r\n isSpecialName?: boolean;\r\n addMethod?: IMethodInfo;\r\n removeMethod?: IMethodInfo;\r\n raiseMethod?: IMethodInfo;\r\n isMulticast?: boolean;\r\n eventHandlerType?: IType;\r\n}\r\n\r\nexport enum ExOp {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n _6 = 6,\r\n _7 = 7,\r\n _8 = 8,\r\n _9 = 9,\r\n _10 = 10,\r\n _11 = 11,\r\n _12 = 12,\r\n _13 = 13,\r\n _14 = 14,\r\n _15 = 15,\r\n _16 = 16,\r\n}\r\n\r\nexport enum ExpressionElementType {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n}\r\n\r\nexport class FeedbackContentModel implements IFeedbackContentModel {\r\n search?: string | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n condition?: string | undefined;\r\n sortColumn?: string | undefined;\r\n sortExpression?: string | undefined;\r\n status?: string | undefined;\r\n columnName?: string | undefined;\r\n provinceCode?: string | undefined;\r\n districtCode?: string | undefined;\r\n wardCode?: string | undefined;\r\n userId?: number | undefined;\r\n unitCode?: string | undefined;\r\n processStatus?: number | undefined;\r\n field?: number | undefined;\r\n fromDate?: Date | undefined;\r\n toDate?: Date | undefined;\r\n\r\n constructor(data?: IFeedbackContentModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.search = _data[\"search\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.condition = _data[\"condition\"];\r\n this.sortColumn = _data[\"sortColumn\"];\r\n this.sortExpression = _data[\"sortExpression\"];\r\n this.status = _data[\"status\"];\r\n this.columnName = _data[\"columnName\"];\r\n this.provinceCode = _data[\"provinceCode\"];\r\n this.districtCode = _data[\"districtCode\"];\r\n this.wardCode = _data[\"wardCode\"];\r\n this.userId = _data[\"userId\"];\r\n this.unitCode = _data[\"unitCode\"];\r\n this.processStatus = _data[\"processStatus\"];\r\n this.field = _data[\"field\"];\r\n this.fromDate = _data[\"fromDate\"] ? new Date(_data[\"fromDate\"].toString()) : undefined;\r\n this.toDate = _data[\"toDate\"] ? new Date(_data[\"toDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): FeedbackContentModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FeedbackContentModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"search\"] = this.search;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"condition\"] = this.condition;\r\n data[\"sortColumn\"] = this.sortColumn;\r\n data[\"sortExpression\"] = this.sortExpression;\r\n data[\"status\"] = this.status;\r\n data[\"columnName\"] = this.columnName;\r\n data[\"provinceCode\"] = this.provinceCode;\r\n data[\"districtCode\"] = this.districtCode;\r\n data[\"wardCode\"] = this.wardCode;\r\n data[\"userId\"] = this.userId;\r\n data[\"unitCode\"] = this.unitCode;\r\n data[\"processStatus\"] = this.processStatus;\r\n data[\"field\"] = this.field;\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString() : undefined;\r\n data[\"toDate\"] = this.toDate ? this.toDate.toISOString() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): FeedbackContentModel {\r\n const json = this.toJSON();\r\n let result = new FeedbackContentModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFeedbackContentModel {\r\n search?: string | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n condition?: string | undefined;\r\n sortColumn?: string | undefined;\r\n sortExpression?: string | undefined;\r\n status?: string | undefined;\r\n columnName?: string | undefined;\r\n provinceCode?: string | undefined;\r\n districtCode?: string | undefined;\r\n wardCode?: string | undefined;\r\n userId?: number | undefined;\r\n unitCode?: string | undefined;\r\n processStatus?: number | undefined;\r\n field?: number | undefined;\r\n fromDate?: Date | undefined;\r\n toDate?: Date | undefined;\r\n}\r\n\r\nexport class FeedbackDetailFileModel implements IFeedbackDetailFileModel {\r\n fileId?: number;\r\n fileName?: string | undefined;\r\n\r\n constructor(data?: IFeedbackDetailFileModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fileId = _data[\"fileId\"];\r\n this.fileName = _data[\"fileName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FeedbackDetailFileModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FeedbackDetailFileModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fileId\"] = this.fileId;\r\n data[\"fileName\"] = this.fileName;\r\n return data; \r\n }\r\n\r\n clone(): FeedbackDetailFileModel {\r\n const json = this.toJSON();\r\n let result = new FeedbackDetailFileModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFeedbackDetailFileModel {\r\n fileId?: number;\r\n fileName?: string | undefined;\r\n}\r\n\r\nexport class FeedbackDetailsModel implements IFeedbackDetailsModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n diaDiem?: string | undefined;\r\n tinh?: number | undefined;\r\n huyen?: number | undefined;\r\n xa?: number | undefined;\r\n thon?: number | undefined;\r\n ngayGopY?: Date;\r\n noiDung?: string | undefined;\r\n linkVideo?: string | undefined;\r\n donViTraLoi?: string | undefined;\r\n cauTraLoi?: string | undefined;\r\n ngayTraLoi?: Date;\r\n luotBinhLuan?: number | undefined;\r\n luotQuanTam?: number | undefined;\r\n tenLinhVuc?: string | undefined;\r\n anh?: string | undefined;\r\n trangthaixl?: number;\r\n lstAnhHoiDinhKem?: FeedbackDetailFileModel[] | undefined;\r\n lstFileHoiDinhKem?: FeedbackDetailFileModel[] | undefined;\r\n lstFileTraLoiDinhKem?: FeedbackDetailFileModel[] | undefined;\r\n\r\n constructor(data?: IFeedbackDetailsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstAnhHoiDinhKem) {\r\n this.lstAnhHoiDinhKem = [];\r\n for (let i = 0; i < data.lstAnhHoiDinhKem.length; i++) {\r\n let item = data.lstAnhHoiDinhKem[i];\r\n this.lstAnhHoiDinhKem[i] = item && !(item).toJSON ? new FeedbackDetailFileModel(item) : item;\r\n }\r\n }\r\n if (data.lstFileHoiDinhKem) {\r\n this.lstFileHoiDinhKem = [];\r\n for (let i = 0; i < data.lstFileHoiDinhKem.length; i++) {\r\n let item = data.lstFileHoiDinhKem[i];\r\n this.lstFileHoiDinhKem[i] = item && !(item).toJSON ? new FeedbackDetailFileModel(item) : item;\r\n }\r\n }\r\n if (data.lstFileTraLoiDinhKem) {\r\n this.lstFileTraLoiDinhKem = [];\r\n for (let i = 0; i < data.lstFileTraLoiDinhKem.length; i++) {\r\n let item = data.lstFileTraLoiDinhKem[i];\r\n this.lstFileTraLoiDinhKem[i] = item && !(item).toJSON ? new FeedbackDetailFileModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tieuDe = _data[\"tieuDe\"];\r\n this.diaDiem = _data[\"diaDiem\"];\r\n this.tinh = _data[\"tinh\"];\r\n this.huyen = _data[\"huyen\"];\r\n this.xa = _data[\"xa\"];\r\n this.thon = _data[\"thon\"];\r\n this.ngayGopY = _data[\"ngayGopY\"] ? new Date(_data[\"ngayGopY\"].toString()) : undefined;\r\n this.noiDung = _data[\"noiDung\"];\r\n this.linkVideo = _data[\"linkVideo\"];\r\n this.donViTraLoi = _data[\"donViTraLoi\"];\r\n this.cauTraLoi = _data[\"cauTraLoi\"];\r\n this.ngayTraLoi = _data[\"ngayTraLoi\"] ? new Date(_data[\"ngayTraLoi\"].toString()) : undefined;\r\n this.luotBinhLuan = _data[\"luotBinhLuan\"];\r\n this.luotQuanTam = _data[\"luotQuanTam\"];\r\n this.tenLinhVuc = _data[\"tenLinhVuc\"];\r\n this.anh = _data[\"anh\"];\r\n this.trangthaixl = _data[\"trangthaixl\"];\r\n if (Array.isArray(_data[\"lstAnhHoiDinhKem\"])) {\r\n this.lstAnhHoiDinhKem = [] as any;\r\n for (let item of _data[\"lstAnhHoiDinhKem\"])\r\n this.lstAnhHoiDinhKem!.push(FeedbackDetailFileModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstFileHoiDinhKem\"])) {\r\n this.lstFileHoiDinhKem = [] as any;\r\n for (let item of _data[\"lstFileHoiDinhKem\"])\r\n this.lstFileHoiDinhKem!.push(FeedbackDetailFileModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstFileTraLoiDinhKem\"])) {\r\n this.lstFileTraLoiDinhKem = [] as any;\r\n for (let item of _data[\"lstFileTraLoiDinhKem\"])\r\n this.lstFileTraLoiDinhKem!.push(FeedbackDetailFileModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FeedbackDetailsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FeedbackDetailsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tieuDe\"] = this.tieuDe;\r\n data[\"diaDiem\"] = this.diaDiem;\r\n data[\"tinh\"] = this.tinh;\r\n data[\"huyen\"] = this.huyen;\r\n data[\"xa\"] = this.xa;\r\n data[\"thon\"] = this.thon;\r\n data[\"ngayGopY\"] = this.ngayGopY ? this.ngayGopY.toISOString() : undefined;\r\n data[\"noiDung\"] = this.noiDung;\r\n data[\"linkVideo\"] = this.linkVideo;\r\n data[\"donViTraLoi\"] = this.donViTraLoi;\r\n data[\"cauTraLoi\"] = this.cauTraLoi;\r\n data[\"ngayTraLoi\"] = this.ngayTraLoi ? this.ngayTraLoi.toISOString() : undefined;\r\n data[\"luotBinhLuan\"] = this.luotBinhLuan;\r\n data[\"luotQuanTam\"] = this.luotQuanTam;\r\n data[\"tenLinhVuc\"] = this.tenLinhVuc;\r\n data[\"anh\"] = this.anh;\r\n data[\"trangthaixl\"] = this.trangthaixl;\r\n if (Array.isArray(this.lstAnhHoiDinhKem)) {\r\n data[\"lstAnhHoiDinhKem\"] = [];\r\n for (let item of this.lstAnhHoiDinhKem)\r\n data[\"lstAnhHoiDinhKem\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstFileHoiDinhKem)) {\r\n data[\"lstFileHoiDinhKem\"] = [];\r\n for (let item of this.lstFileHoiDinhKem)\r\n data[\"lstFileHoiDinhKem\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstFileTraLoiDinhKem)) {\r\n data[\"lstFileTraLoiDinhKem\"] = [];\r\n for (let item of this.lstFileTraLoiDinhKem)\r\n data[\"lstFileTraLoiDinhKem\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): FeedbackDetailsModel {\r\n const json = this.toJSON();\r\n let result = new FeedbackDetailsModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFeedbackDetailsModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n diaDiem?: string | undefined;\r\n tinh?: number | undefined;\r\n huyen?: number | undefined;\r\n xa?: number | undefined;\r\n thon?: number | undefined;\r\n ngayGopY?: Date;\r\n noiDung?: string | undefined;\r\n linkVideo?: string | undefined;\r\n donViTraLoi?: string | undefined;\r\n cauTraLoi?: string | undefined;\r\n ngayTraLoi?: Date;\r\n luotBinhLuan?: number | undefined;\r\n luotQuanTam?: number | undefined;\r\n tenLinhVuc?: string | undefined;\r\n anh?: string | undefined;\r\n trangthaixl?: number;\r\n lstAnhHoiDinhKem?: IFeedbackDetailFileModel[] | undefined;\r\n lstFileHoiDinhKem?: IFeedbackDetailFileModel[] | undefined;\r\n lstFileTraLoiDinhKem?: IFeedbackDetailFileModel[] | undefined;\r\n}\r\n\r\nexport class FeedbackDetailsModelApiResponse implements IFeedbackDetailsModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: FeedbackDetailsModel;\r\n\r\n constructor(data?: IFeedbackDetailsModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new FeedbackDetailsModel(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? FeedbackDetailsModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): FeedbackDetailsModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FeedbackDetailsModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): FeedbackDetailsModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new FeedbackDetailsModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFeedbackDetailsModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IFeedbackDetailsModel;\r\n}\r\n\r\nexport class FeedbackNotificationListModel implements IFeedbackNotificationListModel {\r\n id?: number;\r\n noiDungId?: number | undefined;\r\n title?: string | undefined;\r\n message?: string | undefined;\r\n isRead?: boolean;\r\n createdDate?: Date;\r\n\r\n constructor(data?: IFeedbackNotificationListModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.noiDungId = _data[\"noiDungId\"];\r\n this.title = _data[\"title\"];\r\n this.message = _data[\"message\"];\r\n this.isRead = _data[\"isRead\"];\r\n this.createdDate = _data[\"createdDate\"] ? new Date(_data[\"createdDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): FeedbackNotificationListModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FeedbackNotificationListModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"noiDungId\"] = this.noiDungId;\r\n data[\"title\"] = this.title;\r\n data[\"message\"] = this.message;\r\n data[\"isRead\"] = this.isRead;\r\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): FeedbackNotificationListModel {\r\n const json = this.toJSON();\r\n let result = new FeedbackNotificationListModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFeedbackNotificationListModel {\r\n id?: number;\r\n noiDungId?: number | undefined;\r\n title?: string | undefined;\r\n message?: string | undefined;\r\n isRead?: boolean;\r\n createdDate?: Date;\r\n}\r\n\r\nexport class FeedbackNotificationListModelListApiResponse implements IFeedbackNotificationListModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: FeedbackNotificationListModel[] | undefined;\r\n\r\n constructor(data?: IFeedbackNotificationListModelListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new FeedbackNotificationListModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(FeedbackNotificationListModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FeedbackNotificationListModelListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FeedbackNotificationListModelListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): FeedbackNotificationListModelListApiResponse {\r\n const json = this.toJSON();\r\n let result = new FeedbackNotificationListModelListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFeedbackNotificationListModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IFeedbackNotificationListModel[] | undefined;\r\n}\r\n\r\nexport class FeedbackSubmitFormDataModel implements IFeedbackSubmitFormDataModel {\r\n lstLinhVuc?: LinhVucModel[] | undefined;\r\n lstDiaBan?: DiaBanModel[] | undefined;\r\n\r\n constructor(data?: IFeedbackSubmitFormDataModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstLinhVuc) {\r\n this.lstLinhVuc = [];\r\n for (let i = 0; i < data.lstLinhVuc.length; i++) {\r\n let item = data.lstLinhVuc[i];\r\n this.lstLinhVuc[i] = item && !(item).toJSON ? new LinhVucModel(item) : item;\r\n }\r\n }\r\n if (data.lstDiaBan) {\r\n this.lstDiaBan = [];\r\n for (let i = 0; i < data.lstDiaBan.length; i++) {\r\n let item = data.lstDiaBan[i];\r\n this.lstDiaBan[i] = item && !(item).toJSON ? new DiaBanModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"lstLinhVuc\"])) {\r\n this.lstLinhVuc = [] as any;\r\n for (let item of _data[\"lstLinhVuc\"])\r\n this.lstLinhVuc!.push(LinhVucModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstDiaBan\"])) {\r\n this.lstDiaBan = [] as any;\r\n for (let item of _data[\"lstDiaBan\"])\r\n this.lstDiaBan!.push(DiaBanModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FeedbackSubmitFormDataModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FeedbackSubmitFormDataModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.lstLinhVuc)) {\r\n data[\"lstLinhVuc\"] = [];\r\n for (let item of this.lstLinhVuc)\r\n data[\"lstLinhVuc\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstDiaBan)) {\r\n data[\"lstDiaBan\"] = [];\r\n for (let item of this.lstDiaBan)\r\n data[\"lstDiaBan\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): FeedbackSubmitFormDataModel {\r\n const json = this.toJSON();\r\n let result = new FeedbackSubmitFormDataModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFeedbackSubmitFormDataModel {\r\n lstLinhVuc?: ILinhVucModel[] | undefined;\r\n lstDiaBan?: IDiaBanModel[] | undefined;\r\n}\r\n\r\nexport class FeedbackSubmitFormDataModelApiResponse implements IFeedbackSubmitFormDataModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: FeedbackSubmitFormDataModel;\r\n\r\n constructor(data?: IFeedbackSubmitFormDataModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new FeedbackSubmitFormDataModel(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? FeedbackSubmitFormDataModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): FeedbackSubmitFormDataModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FeedbackSubmitFormDataModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): FeedbackSubmitFormDataModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new FeedbackSubmitFormDataModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFeedbackSubmitFormDataModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IFeedbackSubmitFormDataModel;\r\n}\r\n\r\nexport enum FieldAttributes {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n _6 = 6,\r\n _7 = 7,\r\n _16 = 16,\r\n _32 = 32,\r\n _64 = 64,\r\n _128 = 128,\r\n _256 = 256,\r\n _512 = 512,\r\n _1024 = 1024,\r\n _4096 = 4096,\r\n _8192 = 8192,\r\n _32768 = 32768,\r\n _38144 = 38144,\r\n}\r\n\r\nexport class FieldInfo implements IFieldInfo {\r\n readonly name?: string | undefined;\r\n declaringType?: Type;\r\n reflectedType?: Type;\r\n module?: Module;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n memberType?: MemberTypes;\r\n attributes?: FieldAttributes;\r\n fieldType?: Type;\r\n readonly isInitOnly?: boolean;\r\n readonly isLiteral?: boolean;\r\n readonly isNotSerialized?: boolean;\r\n readonly isPinvokeImpl?: boolean;\r\n readonly isSpecialName?: boolean;\r\n readonly isStatic?: boolean;\r\n readonly isAssembly?: boolean;\r\n readonly isFamily?: boolean;\r\n readonly isFamilyAndAssembly?: boolean;\r\n readonly isFamilyOrAssembly?: boolean;\r\n readonly isPrivate?: boolean;\r\n readonly isPublic?: boolean;\r\n readonly isSecurityCritical?: boolean;\r\n readonly isSecuritySafeCritical?: boolean;\r\n readonly isSecurityTransparent?: boolean;\r\n fieldHandle?: RuntimeFieldHandle;\r\n\r\n constructor(data?: IFieldInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType; \r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType; \r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module; \r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.fieldType = data.fieldType && !(data.fieldType).toJSON ? new Type(data.fieldType) : this.fieldType; \r\n this.fieldHandle = data.fieldHandle && !(data.fieldHandle).toJSON ? new RuntimeFieldHandle(data.fieldHandle) : this.fieldHandle; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n this.memberType = _data[\"memberType\"];\r\n this.attributes = _data[\"attributes\"];\r\n this.fieldType = _data[\"fieldType\"] ? Type.fromJS(_data[\"fieldType\"]) : undefined;\r\n (this).isInitOnly = _data[\"isInitOnly\"];\r\n (this).isLiteral = _data[\"isLiteral\"];\r\n (this).isNotSerialized = _data[\"isNotSerialized\"];\r\n (this).isPinvokeImpl = _data[\"isPinvokeImpl\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n (this).isStatic = _data[\"isStatic\"];\r\n (this).isAssembly = _data[\"isAssembly\"];\r\n (this).isFamily = _data[\"isFamily\"];\r\n (this).isFamilyAndAssembly = _data[\"isFamilyAndAssembly\"];\r\n (this).isFamilyOrAssembly = _data[\"isFamilyOrAssembly\"];\r\n (this).isPrivate = _data[\"isPrivate\"];\r\n (this).isPublic = _data[\"isPublic\"];\r\n (this).isSecurityCritical = _data[\"isSecurityCritical\"];\r\n (this).isSecuritySafeCritical = _data[\"isSecuritySafeCritical\"];\r\n (this).isSecurityTransparent = _data[\"isSecurityTransparent\"];\r\n this.fieldHandle = _data[\"fieldHandle\"] ? RuntimeFieldHandle.fromJS(_data[\"fieldHandle\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): FieldInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FieldInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"memberType\"] = this.memberType;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"fieldType\"] = this.fieldType ? this.fieldType.toJSON() : undefined;\r\n data[\"isInitOnly\"] = this.isInitOnly;\r\n data[\"isLiteral\"] = this.isLiteral;\r\n data[\"isNotSerialized\"] = this.isNotSerialized;\r\n data[\"isPinvokeImpl\"] = this.isPinvokeImpl;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"isStatic\"] = this.isStatic;\r\n data[\"isAssembly\"] = this.isAssembly;\r\n data[\"isFamily\"] = this.isFamily;\r\n data[\"isFamilyAndAssembly\"] = this.isFamilyAndAssembly;\r\n data[\"isFamilyOrAssembly\"] = this.isFamilyOrAssembly;\r\n data[\"isPrivate\"] = this.isPrivate;\r\n data[\"isPublic\"] = this.isPublic;\r\n data[\"isSecurityCritical\"] = this.isSecurityCritical;\r\n data[\"isSecuritySafeCritical\"] = this.isSecuritySafeCritical;\r\n data[\"isSecurityTransparent\"] = this.isSecurityTransparent;\r\n data[\"fieldHandle\"] = this.fieldHandle ? this.fieldHandle.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): FieldInfo {\r\n const json = this.toJSON();\r\n let result = new FieldInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFieldInfo {\r\n name?: string | undefined;\r\n declaringType?: IType;\r\n reflectedType?: IType;\r\n module?: IModule;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n memberType?: MemberTypes;\r\n attributes?: FieldAttributes;\r\n fieldType?: IType;\r\n isInitOnly?: boolean;\r\n isLiteral?: boolean;\r\n isNotSerialized?: boolean;\r\n isPinvokeImpl?: boolean;\r\n isSpecialName?: boolean;\r\n isStatic?: boolean;\r\n isAssembly?: boolean;\r\n isFamily?: boolean;\r\n isFamilyAndAssembly?: boolean;\r\n isFamilyOrAssembly?: boolean;\r\n isPrivate?: boolean;\r\n isPublic?: boolean;\r\n isSecurityCritical?: boolean;\r\n isSecuritySafeCritical?: boolean;\r\n isSecurityTransparent?: boolean;\r\n fieldHandle?: IRuntimeFieldHandle;\r\n}\r\n\r\nexport class FileAttachPhanCongXuLyModel implements IFileAttachPhanCongXuLyModel {\r\n fileId?: number;\r\n fileName?: string | undefined;\r\n\r\n constructor(data?: IFileAttachPhanCongXuLyModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fileId = _data[\"fileId\"];\r\n this.fileName = _data[\"fileName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileAttachPhanCongXuLyModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileAttachPhanCongXuLyModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fileId\"] = this.fileId;\r\n data[\"fileName\"] = this.fileName;\r\n return data; \r\n }\r\n\r\n clone(): FileAttachPhanCongXuLyModel {\r\n const json = this.toJSON();\r\n let result = new FileAttachPhanCongXuLyModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFileAttachPhanCongXuLyModel {\r\n fileId?: number;\r\n fileName?: string | undefined;\r\n}\r\n\r\nexport class FileChuyenDonViXuLyModel implements IFileChuyenDonViXuLyModel {\r\n id?: number;\r\n fileName?: string | undefined;\r\n\r\n constructor(data?: IFileChuyenDonViXuLyModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fileName = _data[\"fileName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileChuyenDonViXuLyModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileChuyenDonViXuLyModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fileName\"] = this.fileName;\r\n return data; \r\n }\r\n\r\n clone(): FileChuyenDonViXuLyModel {\r\n const json = this.toJSON();\r\n let result = new FileChuyenDonViXuLyModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFileChuyenDonViXuLyModel {\r\n id?: number;\r\n fileName?: string | undefined;\r\n}\r\n\r\nexport class FileDongYPheDuyetGopYModel implements IFileDongYPheDuyetGopYModel {\r\n fileId?: number;\r\n fileName?: string | undefined;\r\n\r\n constructor(data?: IFileDongYPheDuyetGopYModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fileId = _data[\"fileId\"];\r\n this.fileName = _data[\"fileName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileDongYPheDuyetGopYModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileDongYPheDuyetGopYModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fileId\"] = this.fileId;\r\n data[\"fileName\"] = this.fileName;\r\n return data; \r\n }\r\n\r\n clone(): FileDongYPheDuyetGopYModel {\r\n const json = this.toJSON();\r\n let result = new FileDongYPheDuyetGopYModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFileDongYPheDuyetGopYModel {\r\n fileId?: number;\r\n fileName?: string | undefined;\r\n}\r\n\r\nexport class FileDuyetTrucTiepKhiXuLyModel implements IFileDuyetTrucTiepKhiXuLyModel {\r\n fileId?: number;\r\n fileName?: string | undefined;\r\n\r\n constructor(data?: IFileDuyetTrucTiepKhiXuLyModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fileId = _data[\"fileId\"];\r\n this.fileName = _data[\"fileName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileDuyetTrucTiepKhiXuLyModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileDuyetTrucTiepKhiXuLyModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fileId\"] = this.fileId;\r\n data[\"fileName\"] = this.fileName;\r\n return data; \r\n }\r\n\r\n clone(): FileDuyetTrucTiepKhiXuLyModel {\r\n const json = this.toJSON();\r\n let result = new FileDuyetTrucTiepKhiXuLyModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFileDuyetTrucTiepKhiXuLyModel {\r\n fileId?: number;\r\n fileName?: string | undefined;\r\n}\r\n\r\nexport class FileInPostAnswerModel implements IFileInPostAnswerModel {\r\n fileId?: number;\r\n fileName?: string | undefined;\r\n\r\n constructor(data?: IFileInPostAnswerModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fileId = _data[\"fileId\"];\r\n this.fileName = _data[\"fileName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileInPostAnswerModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileInPostAnswerModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fileId\"] = this.fileId;\r\n data[\"fileName\"] = this.fileName;\r\n return data; \r\n }\r\n\r\n clone(): FileInPostAnswerModel {\r\n const json = this.toJSON();\r\n let result = new FileInPostAnswerModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFileInPostAnswerModel {\r\n fileId?: number;\r\n fileName?: string | undefined;\r\n}\r\n\r\nexport class FilePhanCongAndNvHoTroModel implements IFilePhanCongAndNvHoTroModel {\r\n id?: number;\r\n fileName?: string | undefined;\r\n\r\n constructor(data?: IFilePhanCongAndNvHoTroModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fileName = _data[\"fileName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FilePhanCongAndNvHoTroModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FilePhanCongAndNvHoTroModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fileName\"] = this.fileName;\r\n return data; \r\n }\r\n\r\n clone(): FilePhanCongAndNvHoTroModel {\r\n const json = this.toJSON();\r\n let result = new FilePhanCongAndNvHoTroModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFilePhanCongAndNvHoTroModel {\r\n id?: number;\r\n fileName?: string | undefined;\r\n}\r\n\r\nexport class FilePhanHoiGopYModel implements IFilePhanHoiGopYModel {\r\n id?: number;\r\n fileName?: string | undefined;\r\n\r\n constructor(data?: IFilePhanHoiGopYModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fileName = _data[\"fileName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FilePhanHoiGopYModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FilePhanHoiGopYModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fileName\"] = this.fileName;\r\n return data; \r\n }\r\n\r\n clone(): FilePhanHoiGopYModel {\r\n const json = this.toJSON();\r\n let result = new FilePhanHoiGopYModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFilePhanHoiGopYModel {\r\n id?: number;\r\n fileName?: string | undefined;\r\n}\r\n\r\nexport class FilePostPheDuyetHoanThanhGopYModel implements IFilePostPheDuyetHoanThanhGopYModel {\r\n fileId?: number;\r\n fileName?: string | undefined;\r\n\r\n constructor(data?: IFilePostPheDuyetHoanThanhGopYModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fileId = _data[\"fileId\"];\r\n this.fileName = _data[\"fileName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FilePostPheDuyetHoanThanhGopYModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FilePostPheDuyetHoanThanhGopYModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fileId\"] = this.fileId;\r\n data[\"fileName\"] = this.fileName;\r\n return data; \r\n }\r\n\r\n clone(): FilePostPheDuyetHoanThanhGopYModel {\r\n const json = this.toJSON();\r\n let result = new FilePostPheDuyetHoanThanhGopYModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFilePostPheDuyetHoanThanhGopYModel {\r\n fileId?: number;\r\n fileName?: string | undefined;\r\n}\r\n\r\nexport class FilePostXuLyGopYModel implements IFilePostXuLyGopYModel {\r\n id?: number;\r\n fileName?: string | undefined;\r\n\r\n constructor(data?: IFilePostXuLyGopYModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fileName = _data[\"fileName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FilePostXuLyGopYModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FilePostXuLyGopYModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fileName\"] = this.fileName;\r\n return data; \r\n }\r\n\r\n clone(): FilePostXuLyGopYModel {\r\n const json = this.toJSON();\r\n let result = new FilePostXuLyGopYModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFilePostXuLyGopYModel {\r\n id?: number;\r\n fileName?: string | undefined;\r\n}\r\n\r\nexport class FileThongTinDinhKemDonViPhanHoiModel implements IFileThongTinDinhKemDonViPhanHoiModel {\r\n fileId?: number;\r\n fileName?: string | undefined;\r\n\r\n constructor(data?: IFileThongTinDinhKemDonViPhanHoiModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fileId = _data[\"fileId\"];\r\n this.fileName = _data[\"fileName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileThongTinDinhKemDonViPhanHoiModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileThongTinDinhKemDonViPhanHoiModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fileId\"] = this.fileId;\r\n data[\"fileName\"] = this.fileName;\r\n return data; \r\n }\r\n\r\n clone(): FileThongTinDinhKemDonViPhanHoiModel {\r\n const json = this.toJSON();\r\n let result = new FileThongTinDinhKemDonViPhanHoiModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFileThongTinDinhKemDonViPhanHoiModel {\r\n fileId?: number;\r\n fileName?: string | undefined;\r\n}\r\n\r\nexport class FileThongTinDinhKemPheDuyetModel implements IFileThongTinDinhKemPheDuyetModel {\r\n fileId?: number;\r\n fileName?: string | undefined;\r\n\r\n constructor(data?: IFileThongTinDinhKemPheDuyetModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fileId = _data[\"fileId\"];\r\n this.fileName = _data[\"fileName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileThongTinDinhKemPheDuyetModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileThongTinDinhKemPheDuyetModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fileId\"] = this.fileId;\r\n data[\"fileName\"] = this.fileName;\r\n return data; \r\n }\r\n\r\n clone(): FileThongTinDinhKemPheDuyetModel {\r\n const json = this.toJSON();\r\n let result = new FileThongTinDinhKemPheDuyetModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFileThongTinDinhKemPheDuyetModel {\r\n fileId?: number;\r\n fileName?: string | undefined;\r\n}\r\n\r\nexport class FilterByModel implements IFilterByModel {\r\n categories?: CategoryFilterModel[] | undefined;\r\n sorts?: SortFilterModel[] | undefined;\r\n\r\n constructor(data?: IFilterByModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.categories) {\r\n this.categories = [];\r\n for (let i = 0; i < data.categories.length; i++) {\r\n let item = data.categories[i];\r\n this.categories[i] = item && !(item).toJSON ? new CategoryFilterModel(item) : item;\r\n }\r\n }\r\n if (data.sorts) {\r\n this.sorts = [];\r\n for (let i = 0; i < data.sorts.length; i++) {\r\n let item = data.sorts[i];\r\n this.sorts[i] = item && !(item).toJSON ? new SortFilterModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"categories\"])) {\r\n this.categories = [] as any;\r\n for (let item of _data[\"categories\"])\r\n this.categories!.push(CategoryFilterModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"sorts\"])) {\r\n this.sorts = [] as any;\r\n for (let item of _data[\"sorts\"])\r\n this.sorts!.push(SortFilterModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FilterByModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FilterByModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.categories)) {\r\n data[\"categories\"] = [];\r\n for (let item of this.categories)\r\n data[\"categories\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.sorts)) {\r\n data[\"sorts\"] = [];\r\n for (let item of this.sorts)\r\n data[\"sorts\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): FilterByModel {\r\n const json = this.toJSON();\r\n let result = new FilterByModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFilterByModel {\r\n categories?: ICategoryFilterModel[] | undefined;\r\n sorts?: ISortFilterModel[] | undefined;\r\n}\r\n\r\nexport class FilterByModelApiResponse implements IFilterByModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: FilterByModel;\r\n\r\n constructor(data?: IFilterByModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new FilterByModel(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? FilterByModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): FilterByModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FilterByModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): FilterByModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new FilterByModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFilterByModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IFilterByModel;\r\n}\r\n\r\nexport enum GenericParameterAttributes {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _8 = 8,\r\n _16 = 16,\r\n _28 = 28,\r\n}\r\n\r\nexport class GopYModel implements IGopYModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n noiDung?: string | undefined;\r\n linhVuc?: number | undefined;\r\n huyen?: number | undefined;\r\n xa?: number | undefined;\r\n thon?: number | undefined;\r\n diaDiem?: string | undefined;\r\n donViNhan?: string | undefined;\r\n anh?: string | undefined;\r\n\r\n constructor(data?: IGopYModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tieuDe = _data[\"tieuDe\"];\r\n this.noiDung = _data[\"noiDung\"];\r\n this.linhVuc = _data[\"linhVuc\"];\r\n this.huyen = _data[\"huyen\"];\r\n this.xa = _data[\"xa\"];\r\n this.thon = _data[\"thon\"];\r\n this.diaDiem = _data[\"diaDiem\"];\r\n this.donViNhan = _data[\"donViNhan\"];\r\n this.anh = _data[\"anh\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): GopYModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GopYModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tieuDe\"] = this.tieuDe;\r\n data[\"noiDung\"] = this.noiDung;\r\n data[\"linhVuc\"] = this.linhVuc;\r\n data[\"huyen\"] = this.huyen;\r\n data[\"xa\"] = this.xa;\r\n data[\"thon\"] = this.thon;\r\n data[\"diaDiem\"] = this.diaDiem;\r\n data[\"donViNhan\"] = this.donViNhan;\r\n data[\"anh\"] = this.anh;\r\n return data; \r\n }\r\n\r\n clone(): GopYModel {\r\n const json = this.toJSON();\r\n let result = new GopYModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IGopYModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n noiDung?: string | undefined;\r\n linhVuc?: number | undefined;\r\n huyen?: number | undefined;\r\n xa?: number | undefined;\r\n thon?: number | undefined;\r\n diaDiem?: string | undefined;\r\n donViNhan?: string | undefined;\r\n anh?: string | undefined;\r\n}\r\n\r\nexport class GopYModelApiResponse implements IGopYModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: GopYModel;\r\n\r\n constructor(data?: IGopYModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new GopYModel(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? GopYModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): GopYModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GopYModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): GopYModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new GopYModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IGopYModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IGopYModel;\r\n}\r\n\r\nexport class HorizontalBarModel implements IHorizontalBarModel {\r\n lstTitle?: TitleHorizontalModel[] | undefined;\r\n lstData?: ChartData[] | undefined;\r\n\r\n constructor(data?: IHorizontalBarModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstTitle) {\r\n this.lstTitle = [];\r\n for (let i = 0; i < data.lstTitle.length; i++) {\r\n let item = data.lstTitle[i];\r\n this.lstTitle[i] = item && !(item).toJSON ? new TitleHorizontalModel(item) : item;\r\n }\r\n }\r\n if (data.lstData) {\r\n this.lstData = [];\r\n for (let i = 0; i < data.lstData.length; i++) {\r\n let item = data.lstData[i];\r\n this.lstData[i] = item && !(item).toJSON ? new ChartData(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"lstTitle\"])) {\r\n this.lstTitle = [] as any;\r\n for (let item of _data[\"lstTitle\"])\r\n this.lstTitle!.push(TitleHorizontalModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstData\"])) {\r\n this.lstData = [] as any;\r\n for (let item of _data[\"lstData\"])\r\n this.lstData!.push(ChartData.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): HorizontalBarModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HorizontalBarModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.lstTitle)) {\r\n data[\"lstTitle\"] = [];\r\n for (let item of this.lstTitle)\r\n data[\"lstTitle\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstData)) {\r\n data[\"lstData\"] = [];\r\n for (let item of this.lstData)\r\n data[\"lstData\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): HorizontalBarModel {\r\n const json = this.toJSON();\r\n let result = new HorizontalBarModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IHorizontalBarModel {\r\n lstTitle?: ITitleHorizontalModel[] | undefined;\r\n lstData?: IChartData[] | undefined;\r\n}\r\n\r\nexport class HorizontalBarModelApiResponse implements IHorizontalBarModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: HorizontalBarModel;\r\n\r\n constructor(data?: IHorizontalBarModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new HorizontalBarModel(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? HorizontalBarModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): HorizontalBarModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HorizontalBarModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): HorizontalBarModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new HorizontalBarModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IHorizontalBarModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IHorizontalBarModel;\r\n}\r\n\r\nexport class HoTroItemModel implements IHoTroItemModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n trangThaiXuLy?: string | undefined;\r\n ngayGopY?: Date;\r\n\r\n constructor(data?: IHoTroItemModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tieuDe = _data[\"tieuDe\"];\r\n this.trangThaiXuLy = _data[\"trangThaiXuLy\"];\r\n this.ngayGopY = _data[\"ngayGopY\"] ? new Date(_data[\"ngayGopY\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): HoTroItemModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HoTroItemModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tieuDe\"] = this.tieuDe;\r\n data[\"trangThaiXuLy\"] = this.trangThaiXuLy;\r\n data[\"ngayGopY\"] = this.ngayGopY ? this.ngayGopY.toISOString() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): HoTroItemModel {\r\n const json = this.toJSON();\r\n let result = new HoTroItemModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IHoTroItemModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n trangThaiXuLy?: string | undefined;\r\n ngayGopY?: Date;\r\n}\r\n\r\nexport class HoTroItemModelListApiResponse implements IHoTroItemModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: HoTroItemModel[] | undefined;\r\n\r\n constructor(data?: IHoTroItemModelListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new HoTroItemModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(HoTroItemModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): HoTroItemModelListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HoTroItemModelListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): HoTroItemModelListApiResponse {\r\n const json = this.toJSON();\r\n let result = new HoTroItemModelListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IHoTroItemModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IHoTroItemModel[] | undefined;\r\n}\r\n\r\nexport class HoTroRequestModel implements IHoTroRequestModel {\r\n search?: string | undefined;\r\n tinhTrangId?: number | undefined;\r\n orderDESCBy?: string | undefined;\r\n currentPage?: number;\r\n\r\n constructor(data?: IHoTroRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.search = _data[\"search\"];\r\n this.tinhTrangId = _data[\"tinhTrangId\"];\r\n this.orderDESCBy = _data[\"orderDESCBy\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HoTroRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HoTroRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"search\"] = this.search;\r\n data[\"tinhTrangId\"] = this.tinhTrangId;\r\n data[\"orderDESCBy\"] = this.orderDESCBy;\r\n data[\"currentPage\"] = this.currentPage;\r\n return data; \r\n }\r\n\r\n clone(): HoTroRequestModel {\r\n const json = this.toJSON();\r\n let result = new HoTroRequestModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IHoTroRequestModel {\r\n search?: string | undefined;\r\n tinhTrangId?: number | undefined;\r\n orderDESCBy?: string | undefined;\r\n currentPage?: number;\r\n}\r\n\r\nexport class IAuditor implements IIAuditor {\r\n readonly hasDataToXmlSerialize?: boolean;\r\n\r\n constructor(data?: IIAuditor) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).hasDataToXmlSerialize = _data[\"hasDataToXmlSerialize\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): IAuditor {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IAuditor();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"hasDataToXmlSerialize\"] = this.hasDataToXmlSerialize;\r\n return data; \r\n }\r\n\r\n clone(): IAuditor {\r\n const json = this.toJSON();\r\n let result = new IAuditor();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIAuditor {\r\n hasDataToXmlSerialize?: boolean;\r\n}\r\n\r\nexport class IAuthorizer implements IIAuthorizer {\r\n\r\n constructor(data?: IIAuthorizer) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): IAuthorizer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IAuthorizer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data; \r\n }\r\n\r\n clone(): IAuthorizer {\r\n const json = this.toJSON();\r\n let result = new IAuthorizer();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIAuthorizer {\r\n}\r\n\r\nexport class IComponent implements IIComponent {\r\n site?: ISite;\r\n\r\n constructor(data?: IIComponent) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.site = data.site && !(data.site).toJSON ? new ISite(data.site) : this.site; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.site = _data[\"site\"] ? ISite.fromJS(_data[\"site\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): IComponent {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IComponent();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"site\"] = this.site ? this.site.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): IComponent {\r\n const json = this.toJSON();\r\n let result = new IComponent();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIComponent {\r\n site?: IISite;\r\n}\r\n\r\nexport class IConcurrencyPredicateFactory implements IIConcurrencyPredicateFactory {\r\n\r\n constructor(data?: IIConcurrencyPredicateFactory) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): IConcurrencyPredicateFactory {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IConcurrencyPredicateFactory();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data; \r\n }\r\n\r\n clone(): IConcurrencyPredicateFactory {\r\n const json = this.toJSON();\r\n let result = new IConcurrencyPredicateFactory();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIConcurrencyPredicateFactory {\r\n}\r\n\r\nexport class IContainer implements IIContainer {\r\n readonly components?: any[] | undefined;\r\n\r\n constructor(data?: IIContainer) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"components\"])) {\r\n (this).components = [] as any;\r\n for (let item of _data[\"components\"])\r\n (this).components!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): IContainer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IContainer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.components)) {\r\n data[\"components\"] = [];\r\n for (let item of this.components)\r\n data[\"components\"].push(item);\r\n }\r\n return data; \r\n }\r\n\r\n clone(): IContainer {\r\n const json = this.toJSON();\r\n let result = new IContainer();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIContainer {\r\n components?: any[] | undefined;\r\n}\r\n\r\nexport class ICustomAttributeProvider implements IICustomAttributeProvider {\r\n\r\n constructor(data?: IICustomAttributeProvider) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): ICustomAttributeProvider {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ICustomAttributeProvider();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data; \r\n }\r\n\r\n clone(): ICustomAttributeProvider {\r\n const json = this.toJSON();\r\n let result = new ICustomAttributeProvider();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IICustomAttributeProvider {\r\n}\r\n\r\nexport class IDbSpecificCreator implements IIDbSpecificCreator {\r\n perCallCatalogNameOverwrites?: { [key: string]: string; } | undefined;\r\n perCallSchemaNameOverwrites?: { [key: string]: string; } | undefined;\r\n readonly creatingSubQuery?: boolean;\r\n factoryToUse?: DbProviderFactory;\r\n\r\n constructor(data?: IIDbSpecificCreator) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.factoryToUse = data.factoryToUse && !(data.factoryToUse).toJSON ? new DbProviderFactory(data.factoryToUse) : this.factoryToUse; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (_data[\"perCallCatalogNameOverwrites\"]) {\r\n this.perCallCatalogNameOverwrites = {} as any;\r\n for (let key in _data[\"perCallCatalogNameOverwrites\"]) {\r\n if (_data[\"perCallCatalogNameOverwrites\"].hasOwnProperty(key))\r\n (this.perCallCatalogNameOverwrites)![key] = _data[\"perCallCatalogNameOverwrites\"][key];\r\n }\r\n }\r\n if (_data[\"perCallSchemaNameOverwrites\"]) {\r\n this.perCallSchemaNameOverwrites = {} as any;\r\n for (let key in _data[\"perCallSchemaNameOverwrites\"]) {\r\n if (_data[\"perCallSchemaNameOverwrites\"].hasOwnProperty(key))\r\n (this.perCallSchemaNameOverwrites)![key] = _data[\"perCallSchemaNameOverwrites\"][key];\r\n }\r\n }\r\n (this).creatingSubQuery = _data[\"creatingSubQuery\"];\r\n this.factoryToUse = _data[\"factoryToUse\"] ? DbProviderFactory.fromJS(_data[\"factoryToUse\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): IDbSpecificCreator {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IDbSpecificCreator();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (this.perCallCatalogNameOverwrites) {\r\n data[\"perCallCatalogNameOverwrites\"] = {};\r\n for (let key in this.perCallCatalogNameOverwrites) {\r\n if (this.perCallCatalogNameOverwrites.hasOwnProperty(key))\r\n (data[\"perCallCatalogNameOverwrites\"])[key] = this.perCallCatalogNameOverwrites[key];\r\n }\r\n }\r\n if (this.perCallSchemaNameOverwrites) {\r\n data[\"perCallSchemaNameOverwrites\"] = {};\r\n for (let key in this.perCallSchemaNameOverwrites) {\r\n if (this.perCallSchemaNameOverwrites.hasOwnProperty(key))\r\n (data[\"perCallSchemaNameOverwrites\"])[key] = this.perCallSchemaNameOverwrites[key];\r\n }\r\n }\r\n data[\"creatingSubQuery\"] = this.creatingSubQuery;\r\n data[\"factoryToUse\"] = this.factoryToUse ? this.factoryToUse.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): IDbSpecificCreator {\r\n const json = this.toJSON();\r\n let result = new IDbSpecificCreator();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIDbSpecificCreator {\r\n perCallCatalogNameOverwrites?: { [key: string]: string; } | undefined;\r\n perCallSchemaNameOverwrites?: { [key: string]: string; } | undefined;\r\n creatingSubQuery?: boolean;\r\n factoryToUse?: IDbProviderFactory;\r\n}\r\n\r\nexport class IEntityFieldCore implements IIEntityFieldCore {\r\n alias?: string | undefined;\r\n currentValue?: any | undefined;\r\n readonly dbValue?: any | undefined;\r\n isChanged?: boolean;\r\n isNull?: boolean;\r\n objectAlias?: string | undefined;\r\n aggregateFunctionToApply?: AggregateFunction;\r\n expressionToApply?: IExpression;\r\n overClauseToApply?: WindowSpecification;\r\n readonly actAsDerivedTableField?: boolean;\r\n linkedSuperTypeField?: IEntityFieldCore;\r\n readonly name?: string | undefined;\r\n dataType?: Type;\r\n readonly isPrimaryKey?: boolean;\r\n readonly isNullable?: boolean;\r\n readonly fieldIndex?: number;\r\n readonly containingObjectName?: string | undefined;\r\n readonly isForeignKey?: boolean;\r\n readonly isReadOnly?: boolean;\r\n readonly maxLength?: number;\r\n readonly scale?: number;\r\n readonly precision?: number;\r\n readonly actualContainingObjectName?: string | undefined;\r\n readonly isInMultiTargetEntity?: boolean;\r\n readonly isOfEnumDataType?: boolean;\r\n realDataType?: Type;\r\n\r\n constructor(data?: IIEntityFieldCore) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.expressionToApply = data.expressionToApply && !(data.expressionToApply).toJSON ? new IExpression(data.expressionToApply) : this.expressionToApply; \r\n this.overClauseToApply = data.overClauseToApply && !(data.overClauseToApply).toJSON ? new WindowSpecification(data.overClauseToApply) : this.overClauseToApply; \r\n this.linkedSuperTypeField = data.linkedSuperTypeField && !(data.linkedSuperTypeField).toJSON ? new IEntityFieldCore(data.linkedSuperTypeField) : this.linkedSuperTypeField; \r\n this.dataType = data.dataType && !(data.dataType).toJSON ? new Type(data.dataType) : this.dataType; \r\n this.realDataType = data.realDataType && !(data.realDataType).toJSON ? new Type(data.realDataType) : this.realDataType; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.alias = _data[\"alias\"];\r\n this.currentValue = _data[\"currentValue\"];\r\n (this).dbValue = _data[\"dbValue\"];\r\n this.isChanged = _data[\"isChanged\"];\r\n this.isNull = _data[\"isNull\"];\r\n this.objectAlias = _data[\"objectAlias\"];\r\n this.aggregateFunctionToApply = _data[\"aggregateFunctionToApply\"];\r\n this.expressionToApply = _data[\"expressionToApply\"] ? IExpression.fromJS(_data[\"expressionToApply\"]) : undefined;\r\n this.overClauseToApply = _data[\"overClauseToApply\"] ? WindowSpecification.fromJS(_data[\"overClauseToApply\"]) : undefined;\r\n (this).actAsDerivedTableField = _data[\"actAsDerivedTableField\"];\r\n this.linkedSuperTypeField = _data[\"linkedSuperTypeField\"] ? IEntityFieldCore.fromJS(_data[\"linkedSuperTypeField\"]) : undefined;\r\n (this).name = _data[\"name\"];\r\n this.dataType = _data[\"dataType\"] ? Type.fromJS(_data[\"dataType\"]) : undefined;\r\n (this).isPrimaryKey = _data[\"isPrimaryKey\"];\r\n (this).isNullable = _data[\"isNullable\"];\r\n (this).fieldIndex = _data[\"fieldIndex\"];\r\n (this).containingObjectName = _data[\"containingObjectName\"];\r\n (this).isForeignKey = _data[\"isForeignKey\"];\r\n (this).isReadOnly = _data[\"isReadOnly\"];\r\n (this).maxLength = _data[\"maxLength\"];\r\n (this).scale = _data[\"scale\"];\r\n (this).precision = _data[\"precision\"];\r\n (this).actualContainingObjectName = _data[\"actualContainingObjectName\"];\r\n (this).isInMultiTargetEntity = _data[\"isInMultiTargetEntity\"];\r\n (this).isOfEnumDataType = _data[\"isOfEnumDataType\"];\r\n this.realDataType = _data[\"realDataType\"] ? Type.fromJS(_data[\"realDataType\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): IEntityFieldCore {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IEntityFieldCore();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"alias\"] = this.alias;\r\n data[\"currentValue\"] = this.currentValue;\r\n data[\"dbValue\"] = this.dbValue;\r\n data[\"isChanged\"] = this.isChanged;\r\n data[\"isNull\"] = this.isNull;\r\n data[\"objectAlias\"] = this.objectAlias;\r\n data[\"aggregateFunctionToApply\"] = this.aggregateFunctionToApply;\r\n data[\"expressionToApply\"] = this.expressionToApply ? this.expressionToApply.toJSON() : undefined;\r\n data[\"overClauseToApply\"] = this.overClauseToApply ? this.overClauseToApply.toJSON() : undefined;\r\n data[\"actAsDerivedTableField\"] = this.actAsDerivedTableField;\r\n data[\"linkedSuperTypeField\"] = this.linkedSuperTypeField ? this.linkedSuperTypeField.toJSON() : undefined;\r\n data[\"name\"] = this.name;\r\n data[\"dataType\"] = this.dataType ? this.dataType.toJSON() : undefined;\r\n data[\"isPrimaryKey\"] = this.isPrimaryKey;\r\n data[\"isNullable\"] = this.isNullable;\r\n data[\"fieldIndex\"] = this.fieldIndex;\r\n data[\"containingObjectName\"] = this.containingObjectName;\r\n data[\"isForeignKey\"] = this.isForeignKey;\r\n data[\"isReadOnly\"] = this.isReadOnly;\r\n data[\"maxLength\"] = this.maxLength;\r\n data[\"scale\"] = this.scale;\r\n data[\"precision\"] = this.precision;\r\n data[\"actualContainingObjectName\"] = this.actualContainingObjectName;\r\n data[\"isInMultiTargetEntity\"] = this.isInMultiTargetEntity;\r\n data[\"isOfEnumDataType\"] = this.isOfEnumDataType;\r\n data[\"realDataType\"] = this.realDataType ? this.realDataType.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): IEntityFieldCore {\r\n const json = this.toJSON();\r\n let result = new IEntityFieldCore();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIEntityFieldCore {\r\n alias?: string | undefined;\r\n currentValue?: any | undefined;\r\n dbValue?: any | undefined;\r\n isChanged?: boolean;\r\n isNull?: boolean;\r\n objectAlias?: string | undefined;\r\n aggregateFunctionToApply?: AggregateFunction;\r\n expressionToApply?: IIExpression;\r\n overClauseToApply?: IWindowSpecification;\r\n actAsDerivedTableField?: boolean;\r\n linkedSuperTypeField?: IIEntityFieldCore;\r\n name?: string | undefined;\r\n dataType?: IType;\r\n isPrimaryKey?: boolean;\r\n isNullable?: boolean;\r\n fieldIndex?: number;\r\n containingObjectName?: string | undefined;\r\n isForeignKey?: boolean;\r\n isReadOnly?: boolean;\r\n maxLength?: number;\r\n scale?: number;\r\n precision?: number;\r\n actualContainingObjectName?: string | undefined;\r\n isInMultiTargetEntity?: boolean;\r\n isOfEnumDataType?: boolean;\r\n realDataType?: IType;\r\n}\r\n\r\nexport class IExpression implements IIExpression {\r\n readonly parameters?: DbParameter[] | undefined;\r\n databaseSpecificCreator?: IDbSpecificCreator;\r\n leftOperand?: IExpressionElement;\r\n rightOperand?: IExpressionElement;\r\n operator?: ExOp;\r\n\r\n constructor(data?: IIExpression) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.parameters) {\r\n this.parameters = [];\r\n for (let i = 0; i < data.parameters.length; i++) {\r\n let item = data.parameters[i];\r\n this.parameters[i] = item && !(item).toJSON ? new DbParameter(item) : item;\r\n }\r\n }\r\n this.databaseSpecificCreator = data.databaseSpecificCreator && !(data.databaseSpecificCreator).toJSON ? new IDbSpecificCreator(data.databaseSpecificCreator) : this.databaseSpecificCreator; \r\n this.leftOperand = data.leftOperand && !(data.leftOperand).toJSON ? new IExpressionElement(data.leftOperand) : this.leftOperand; \r\n this.rightOperand = data.rightOperand && !(data.rightOperand).toJSON ? new IExpressionElement(data.rightOperand) : this.rightOperand; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"parameters\"])) {\r\n (this).parameters = [] as any;\r\n for (let item of _data[\"parameters\"])\r\n (this).parameters!.push(DbParameter.fromJS(item));\r\n }\r\n this.databaseSpecificCreator = _data[\"databaseSpecificCreator\"] ? IDbSpecificCreator.fromJS(_data[\"databaseSpecificCreator\"]) : undefined;\r\n this.leftOperand = _data[\"leftOperand\"] ? IExpressionElement.fromJS(_data[\"leftOperand\"]) : undefined;\r\n this.rightOperand = _data[\"rightOperand\"] ? IExpressionElement.fromJS(_data[\"rightOperand\"]) : undefined;\r\n this.operator = _data[\"operator\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): IExpression {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IExpression();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.parameters)) {\r\n data[\"parameters\"] = [];\r\n for (let item of this.parameters)\r\n data[\"parameters\"].push(item.toJSON());\r\n }\r\n data[\"databaseSpecificCreator\"] = this.databaseSpecificCreator ? this.databaseSpecificCreator.toJSON() : undefined;\r\n data[\"leftOperand\"] = this.leftOperand ? this.leftOperand.toJSON() : undefined;\r\n data[\"rightOperand\"] = this.rightOperand ? this.rightOperand.toJSON() : undefined;\r\n data[\"operator\"] = this.operator;\r\n return data; \r\n }\r\n\r\n clone(): IExpression {\r\n const json = this.toJSON();\r\n let result = new IExpression();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIExpression {\r\n parameters?: IDbParameter[] | undefined;\r\n databaseSpecificCreator?: IIDbSpecificCreator;\r\n leftOperand?: IIExpressionElement;\r\n rightOperand?: IIExpressionElement;\r\n operator?: ExOp;\r\n}\r\n\r\nexport class IExpressionElement implements IIExpressionElement {\r\n type?: ExpressionElementType;\r\n contents?: any | undefined;\r\n\r\n constructor(data?: IIExpressionElement) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.type = _data[\"type\"];\r\n this.contents = _data[\"contents\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): IExpressionElement {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IExpressionElement();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"type\"] = this.type;\r\n data[\"contents\"] = this.contents;\r\n return data; \r\n }\r\n\r\n clone(): IExpressionElement {\r\n const json = this.toJSON();\r\n let result = new IExpressionElement();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIExpressionElement {\r\n type?: ExpressionElementType;\r\n contents?: any | undefined;\r\n}\r\n\r\nexport class InformationsModel implements IInformationsModel {\r\n lstDonVi?: DonViSelect[] | undefined;\r\n lstDiaBan?: DiaBanSelect[] | undefined;\r\n lstLinhVuc?: LinhVucSelect[] | undefined;\r\n lstToChuc?: ToChucSelect[] | undefined;\r\n currentDonVi?: DmDVModelUpdate;\r\n\r\n constructor(data?: IInformationsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstDonVi) {\r\n this.lstDonVi = [];\r\n for (let i = 0; i < data.lstDonVi.length; i++) {\r\n let item = data.lstDonVi[i];\r\n this.lstDonVi[i] = item && !(item).toJSON ? new DonViSelect(item) : item;\r\n }\r\n }\r\n if (data.lstDiaBan) {\r\n this.lstDiaBan = [];\r\n for (let i = 0; i < data.lstDiaBan.length; i++) {\r\n let item = data.lstDiaBan[i];\r\n this.lstDiaBan[i] = item && !(item).toJSON ? new DiaBanSelect(item) : item;\r\n }\r\n }\r\n if (data.lstLinhVuc) {\r\n this.lstLinhVuc = [];\r\n for (let i = 0; i < data.lstLinhVuc.length; i++) {\r\n let item = data.lstLinhVuc[i];\r\n this.lstLinhVuc[i] = item && !(item).toJSON ? new LinhVucSelect(item) : item;\r\n }\r\n }\r\n if (data.lstToChuc) {\r\n this.lstToChuc = [];\r\n for (let i = 0; i < data.lstToChuc.length; i++) {\r\n let item = data.lstToChuc[i];\r\n this.lstToChuc[i] = item && !(item).toJSON ? new ToChucSelect(item) : item;\r\n }\r\n }\r\n this.currentDonVi = data.currentDonVi && !(data.currentDonVi).toJSON ? new DmDVModelUpdate(data.currentDonVi) : this.currentDonVi; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"lstDonVi\"])) {\r\n this.lstDonVi = [] as any;\r\n for (let item of _data[\"lstDonVi\"])\r\n this.lstDonVi!.push(DonViSelect.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstDiaBan\"])) {\r\n this.lstDiaBan = [] as any;\r\n for (let item of _data[\"lstDiaBan\"])\r\n this.lstDiaBan!.push(DiaBanSelect.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstLinhVuc\"])) {\r\n this.lstLinhVuc = [] as any;\r\n for (let item of _data[\"lstLinhVuc\"])\r\n this.lstLinhVuc!.push(LinhVucSelect.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstToChuc\"])) {\r\n this.lstToChuc = [] as any;\r\n for (let item of _data[\"lstToChuc\"])\r\n this.lstToChuc!.push(ToChucSelect.fromJS(item));\r\n }\r\n this.currentDonVi = _data[\"currentDonVi\"] ? DmDVModelUpdate.fromJS(_data[\"currentDonVi\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): InformationsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InformationsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.lstDonVi)) {\r\n data[\"lstDonVi\"] = [];\r\n for (let item of this.lstDonVi)\r\n data[\"lstDonVi\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstDiaBan)) {\r\n data[\"lstDiaBan\"] = [];\r\n for (let item of this.lstDiaBan)\r\n data[\"lstDiaBan\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstLinhVuc)) {\r\n data[\"lstLinhVuc\"] = [];\r\n for (let item of this.lstLinhVuc)\r\n data[\"lstLinhVuc\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstToChuc)) {\r\n data[\"lstToChuc\"] = [];\r\n for (let item of this.lstToChuc)\r\n data[\"lstToChuc\"].push(item.toJSON());\r\n }\r\n data[\"currentDonVi\"] = this.currentDonVi ? this.currentDonVi.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): InformationsModel {\r\n const json = this.toJSON();\r\n let result = new InformationsModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IInformationsModel {\r\n lstDonVi?: IDonViSelect[] | undefined;\r\n lstDiaBan?: IDiaBanSelect[] | undefined;\r\n lstLinhVuc?: ILinhVucSelect[] | undefined;\r\n lstToChuc?: IToChucSelect[] | undefined;\r\n currentDonVi?: IDmDVModelUpdate;\r\n}\r\n\r\nexport class InformationsModelApiResponse implements IInformationsModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: InformationsModel;\r\n\r\n constructor(data?: IInformationsModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new InformationsModel(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? InformationsModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): InformationsModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InformationsModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): InformationsModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new InformationsModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IInformationsModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IInformationsModel;\r\n}\r\n\r\nexport class Int32ApiResponse implements IInt32ApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: number;\r\n\r\n constructor(data?: IInt32ApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Int32ApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Int32ApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data;\r\n return data; \r\n }\r\n\r\n clone(): Int32ApiResponse {\r\n const json = this.toJSON();\r\n let result = new Int32ApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IInt32ApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: number;\r\n}\r\n\r\nexport class Int64ApiResponse implements IInt64ApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: number;\r\n\r\n constructor(data?: IInt64ApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Int64ApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Int64ApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data;\r\n return data; \r\n }\r\n\r\n clone(): Int64ApiResponse {\r\n const json = this.toJSON();\r\n let result = new Int64ApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IInt64ApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: number;\r\n}\r\n\r\nexport class IntPtr implements IIntPtr {\r\n\r\n constructor(data?: IIntPtr) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): IntPtr {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IntPtr();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data; \r\n }\r\n\r\n clone(): IntPtr {\r\n const json = this.toJSON();\r\n let result = new IntPtr();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIntPtr {\r\n}\r\n\r\nexport class ISite implements IISite {\r\n component?: IComponent;\r\n container?: IContainer;\r\n readonly designMode?: boolean;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IISite) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.component = data.component && !(data.component).toJSON ? new IComponent(data.component) : this.component; \r\n this.container = data.container && !(data.container).toJSON ? new IContainer(data.container) : this.container; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.component = _data[\"component\"] ? IComponent.fromJS(_data[\"component\"]) : undefined;\r\n this.container = _data[\"container\"] ? IContainer.fromJS(_data[\"container\"]) : undefined;\r\n (this).designMode = _data[\"designMode\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ISite {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ISite();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"component\"] = this.component ? this.component.toJSON() : undefined;\r\n data[\"container\"] = this.container ? this.container.toJSON() : undefined;\r\n data[\"designMode\"] = this.designMode;\r\n data[\"name\"] = this.name;\r\n return data; \r\n }\r\n\r\n clone(): ISite {\r\n const json = this.toJSON();\r\n let result = new ISite();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IISite {\r\n component?: IIComponent;\r\n container?: IIContainer;\r\n designMode?: boolean;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class ItemModel implements IItemModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n linhVuc?: string | undefined;\r\n diaDiem?: string | undefined;\r\n ngayGopY?: Date;\r\n noiDung?: string | undefined;\r\n luotXem?: number;\r\n luotThich?: number;\r\n luotBinhLuan?: number;\r\n fileIdImage?: number | undefined;\r\n\r\n constructor(data?: IItemModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tieuDe = _data[\"tieuDe\"];\r\n this.linhVuc = _data[\"linhVuc\"];\r\n this.diaDiem = _data[\"diaDiem\"];\r\n this.ngayGopY = _data[\"ngayGopY\"] ? new Date(_data[\"ngayGopY\"].toString()) : undefined;\r\n this.noiDung = _data[\"noiDung\"];\r\n this.luotXem = _data[\"luotXem\"];\r\n this.luotThich = _data[\"luotThich\"];\r\n this.luotBinhLuan = _data[\"luotBinhLuan\"];\r\n this.fileIdImage = _data[\"fileIdImage\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tieuDe\"] = this.tieuDe;\r\n data[\"linhVuc\"] = this.linhVuc;\r\n data[\"diaDiem\"] = this.diaDiem;\r\n data[\"ngayGopY\"] = this.ngayGopY ? this.ngayGopY.toISOString() : undefined;\r\n data[\"noiDung\"] = this.noiDung;\r\n data[\"luotXem\"] = this.luotXem;\r\n data[\"luotThich\"] = this.luotThich;\r\n data[\"luotBinhLuan\"] = this.luotBinhLuan;\r\n data[\"fileIdImage\"] = this.fileIdImage;\r\n return data; \r\n }\r\n\r\n clone(): ItemModel {\r\n const json = this.toJSON();\r\n let result = new ItemModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n linhVuc?: string | undefined;\r\n diaDiem?: string | undefined;\r\n ngayGopY?: Date;\r\n noiDung?: string | undefined;\r\n luotXem?: number;\r\n luotThich?: number;\r\n luotBinhLuan?: number;\r\n fileIdImage?: number | undefined;\r\n}\r\n\r\nexport class ItemModelListApiResponse implements IItemModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemModel[] | undefined;\r\n\r\n constructor(data?: IItemModelListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ItemModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ItemModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemModelListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemModelListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): ItemModelListApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemModelListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemModel[] | undefined;\r\n}\r\n\r\nexport class IValidator implements IIValidator {\r\n\r\n constructor(data?: IIValidator) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): IValidator {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IValidator();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data; \r\n }\r\n\r\n clone(): IValidator {\r\n const json = this.toJSON();\r\n let result = new IValidator();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIValidator {\r\n}\r\n\r\nexport class LanhDaoThongTinDinhKemPheDuyetModel implements ILanhDaoThongTinDinhKemPheDuyetModel {\r\n id?: number;\r\n value?: string | undefined;\r\n name?: string | undefined;\r\n\r\n constructor(data?: ILanhDaoThongTinDinhKemPheDuyetModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.value = _data[\"value\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LanhDaoThongTinDinhKemPheDuyetModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LanhDaoThongTinDinhKemPheDuyetModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"value\"] = this.value;\r\n data[\"name\"] = this.name;\r\n return data; \r\n }\r\n\r\n clone(): LanhDaoThongTinDinhKemPheDuyetModel {\r\n const json = this.toJSON();\r\n let result = new LanhDaoThongTinDinhKemPheDuyetModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILanhDaoThongTinDinhKemPheDuyetModel {\r\n id?: number;\r\n value?: string | undefined;\r\n name?: string | undefined;\r\n}\r\n\r\nexport enum LayoutKind {\r\n _0 = 0,\r\n _2 = 2,\r\n _3 = 3,\r\n}\r\n\r\nexport class LichsuxulyEntity implements ILichsuxulyEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n fromFullname?: string | undefined;\r\n fromIsUnit?: number | undefined;\r\n fromUserid?: number | undefined;\r\n id?: number;\r\n idnoidung?: number;\r\n idtrangthai?: number;\r\n isSeenFeedback?: number | undefined;\r\n mota?: string | undefined;\r\n toFullname?: string | undefined;\r\n toIsUnit?: number | undefined;\r\n toUserid?: number | undefined;\r\n thoigian?: Date;\r\n dmtrangthai?: DmtrangthaiEntity;\r\n noidunggopy?: NoidunggopyEntity;\r\n\r\n constructor(data?: ILichsuxulyEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n this.dmtrangthai = data.dmtrangthai && !(data.dmtrangthai).toJSON ? new DmtrangthaiEntity(data.dmtrangthai) : this.dmtrangthai; \r\n this.noidunggopy = data.noidunggopy && !(data.noidunggopy).toJSON ? new NoidunggopyEntity(data.noidunggopy) : this.noidunggopy; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.fromFullname = _data[\"fromFullname\"];\r\n this.fromIsUnit = _data[\"fromIsUnit\"];\r\n this.fromUserid = _data[\"fromUserid\"];\r\n this.id = _data[\"id\"];\r\n this.idnoidung = _data[\"idnoidung\"];\r\n this.idtrangthai = _data[\"idtrangthai\"];\r\n this.isSeenFeedback = _data[\"isSeenFeedback\"];\r\n this.mota = _data[\"mota\"];\r\n this.toFullname = _data[\"toFullname\"];\r\n this.toIsUnit = _data[\"toIsUnit\"];\r\n this.toUserid = _data[\"toUserid\"];\r\n this.thoigian = _data[\"thoigian\"] ? new Date(_data[\"thoigian\"].toString()) : undefined;\r\n this.dmtrangthai = _data[\"dmtrangthai\"] ? DmtrangthaiEntity.fromJS(_data[\"dmtrangthai\"]) : undefined;\r\n this.noidunggopy = _data[\"noidunggopy\"] ? NoidunggopyEntity.fromJS(_data[\"noidunggopy\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): LichsuxulyEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LichsuxulyEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"fromFullname\"] = this.fromFullname;\r\n data[\"fromIsUnit\"] = this.fromIsUnit;\r\n data[\"fromUserid\"] = this.fromUserid;\r\n data[\"id\"] = this.id;\r\n data[\"idnoidung\"] = this.idnoidung;\r\n data[\"idtrangthai\"] = this.idtrangthai;\r\n data[\"isSeenFeedback\"] = this.isSeenFeedback;\r\n data[\"mota\"] = this.mota;\r\n data[\"toFullname\"] = this.toFullname;\r\n data[\"toIsUnit\"] = this.toIsUnit;\r\n data[\"toUserid\"] = this.toUserid;\r\n data[\"thoigian\"] = this.thoigian ? this.thoigian.toISOString() : undefined;\r\n data[\"dmtrangthai\"] = this.dmtrangthai ? this.dmtrangthai.toJSON() : undefined;\r\n data[\"noidunggopy\"] = this.noidunggopy ? this.noidunggopy.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): LichsuxulyEntity {\r\n const json = this.toJSON();\r\n let result = new LichsuxulyEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILichsuxulyEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n fromFullname?: string | undefined;\r\n fromIsUnit?: number | undefined;\r\n fromUserid?: number | undefined;\r\n id?: number;\r\n idnoidung?: number;\r\n idtrangthai?: number;\r\n isSeenFeedback?: number | undefined;\r\n mota?: string | undefined;\r\n toFullname?: string | undefined;\r\n toIsUnit?: number | undefined;\r\n toUserid?: number | undefined;\r\n thoigian?: Date;\r\n dmtrangthai?: IDmtrangthaiEntity;\r\n noidunggopy?: INoidunggopyEntity;\r\n}\r\n\r\nexport class LichSuXuLyModel implements ILichSuXuLyModel {\r\n thoiGian?: Date | undefined;\r\n fromName?: string | undefined;\r\n toName?: string | undefined;\r\n moTa?: string | undefined;\r\n\r\n constructor(data?: ILichSuXuLyModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.thoiGian = _data[\"thoiGian\"] ? new Date(_data[\"thoiGian\"].toString()) : undefined;\r\n this.fromName = _data[\"fromName\"];\r\n this.toName = _data[\"toName\"];\r\n this.moTa = _data[\"moTa\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LichSuXuLyModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LichSuXuLyModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"thoiGian\"] = this.thoiGian ? this.thoiGian.toISOString() : undefined;\r\n data[\"fromName\"] = this.fromName;\r\n data[\"toName\"] = this.toName;\r\n data[\"moTa\"] = this.moTa;\r\n return data; \r\n }\r\n\r\n clone(): LichSuXuLyModel {\r\n const json = this.toJSON();\r\n let result = new LichSuXuLyModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILichSuXuLyModel {\r\n thoiGian?: Date | undefined;\r\n fromName?: string | undefined;\r\n toName?: string | undefined;\r\n moTa?: string | undefined;\r\n}\r\n\r\nexport class LichSuXuLyModelListApiResponse implements ILichSuXuLyModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: LichSuXuLyModel[] | undefined;\r\n\r\n constructor(data?: ILichSuXuLyModelListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new LichSuXuLyModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(LichSuXuLyModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LichSuXuLyModelListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LichSuXuLyModelListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): LichSuXuLyModelListApiResponse {\r\n const json = this.toJSON();\r\n let result = new LichSuXuLyModelListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILichSuXuLyModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ILichSuXuLyModel[] | undefined;\r\n}\r\n\r\nexport class LikeCommentModel implements ILikeCommentModel {\r\n commentId?: number;\r\n userId?: number;\r\n type?: number;\r\n\r\n constructor(data?: ILikeCommentModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.commentId = _data[\"commentId\"];\r\n this.userId = _data[\"userId\"];\r\n this.type = _data[\"type\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LikeCommentModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LikeCommentModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"commentId\"] = this.commentId;\r\n data[\"userId\"] = this.userId;\r\n data[\"type\"] = this.type;\r\n return data; \r\n }\r\n\r\n clone(): LikeCommentModel {\r\n const json = this.toJSON();\r\n let result = new LikeCommentModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILikeCommentModel {\r\n commentId?: number;\r\n userId?: number;\r\n type?: number;\r\n}\r\n\r\nexport class LikePostModel implements ILikePostModel {\r\n providerId?: string | undefined;\r\n postId?: number;\r\n\r\n constructor(data?: ILikePostModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.providerId = _data[\"providerId\"];\r\n this.postId = _data[\"postId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LikePostModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LikePostModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"providerId\"] = this.providerId;\r\n data[\"postId\"] = this.postId;\r\n return data; \r\n }\r\n\r\n clone(): LikePostModel {\r\n const json = this.toJSON();\r\n let result = new LikePostModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILikePostModel {\r\n providerId?: string | undefined;\r\n postId?: number;\r\n}\r\n\r\nexport class LinhVucBcThongKeXuLyModel implements ILinhVucBcThongKeXuLyModel {\r\n id?: number;\r\n ten?: string | undefined;\r\n\r\n constructor(data?: ILinhVucBcThongKeXuLyModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.ten = _data[\"ten\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LinhVucBcThongKeXuLyModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LinhVucBcThongKeXuLyModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"ten\"] = this.ten;\r\n return data; \r\n }\r\n\r\n clone(): LinhVucBcThongKeXuLyModel {\r\n const json = this.toJSON();\r\n let result = new LinhVucBcThongKeXuLyModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILinhVucBcThongKeXuLyModel {\r\n id?: number;\r\n ten?: string | undefined;\r\n}\r\n\r\nexport class LinhVucContentDetailOfPost implements ILinhVucContentDetailOfPost {\r\n id?: number;\r\n ten?: string | undefined;\r\n\r\n constructor(data?: ILinhVucContentDetailOfPost) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.ten = _data[\"ten\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LinhVucContentDetailOfPost {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LinhVucContentDetailOfPost();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"ten\"] = this.ten;\r\n return data; \r\n }\r\n\r\n clone(): LinhVucContentDetailOfPost {\r\n const json = this.toJSON();\r\n let result = new LinhVucContentDetailOfPost();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILinhVucContentDetailOfPost {\r\n id?: number;\r\n ten?: string | undefined;\r\n}\r\n\r\nexport class LinhVucInfoModel implements ILinhVucInfoModel {\r\n id?: number;\r\n maLinhVuc?: string | undefined;\r\n tenLinhVuc?: string | undefined;\r\n iconClass?: string | undefined;\r\n\r\n constructor(data?: ILinhVucInfoModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.maLinhVuc = _data[\"maLinhVuc\"];\r\n this.tenLinhVuc = _data[\"tenLinhVuc\"];\r\n this.iconClass = _data[\"iconClass\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LinhVucInfoModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LinhVucInfoModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"maLinhVuc\"] = this.maLinhVuc;\r\n data[\"tenLinhVuc\"] = this.tenLinhVuc;\r\n data[\"iconClass\"] = this.iconClass;\r\n return data; \r\n }\r\n\r\n clone(): LinhVucInfoModel {\r\n const json = this.toJSON();\r\n let result = new LinhVucInfoModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILinhVucInfoModel {\r\n id?: number;\r\n maLinhVuc?: string | undefined;\r\n tenLinhVuc?: string | undefined;\r\n iconClass?: string | undefined;\r\n}\r\n\r\nexport class LinhVucModel implements ILinhVucModel {\r\n id?: number;\r\n value?: string | undefined;\r\n name?: string | undefined;\r\n\r\n constructor(data?: ILinhVucModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.value = _data[\"value\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LinhVucModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LinhVucModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"value\"] = this.value;\r\n data[\"name\"] = this.name;\r\n return data; \r\n }\r\n\r\n clone(): LinhVucModel {\r\n const json = this.toJSON();\r\n let result = new LinhVucModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILinhVucModel {\r\n id?: number;\r\n value?: string | undefined;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class LinhVucSelect implements ILinhVucSelect {\r\n id?: number;\r\n maLinhVuc?: string | undefined;\r\n tenLinhVuc?: string | undefined;\r\n\r\n constructor(data?: ILinhVucSelect) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.maLinhVuc = _data[\"maLinhVuc\"];\r\n this.tenLinhVuc = _data[\"tenLinhVuc\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LinhVucSelect {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LinhVucSelect();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"maLinhVuc\"] = this.maLinhVuc;\r\n data[\"tenLinhVuc\"] = this.tenLinhVuc;\r\n return data; \r\n }\r\n\r\n clone(): LinhVucSelect {\r\n const json = this.toJSON();\r\n let result = new LinhVucSelect();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILinhVucSelect {\r\n id?: number;\r\n maLinhVuc?: string | undefined;\r\n tenLinhVuc?: string | undefined;\r\n}\r\n\r\nexport class LinhVucTinhHinhXuLyChartModel implements ILinhVucTinhHinhXuLyChartModel {\r\n id?: string | undefined;\r\n name?: string | undefined;\r\n\r\n constructor(data?: ILinhVucTinhHinhXuLyChartModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LinhVucTinhHinhXuLyChartModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LinhVucTinhHinhXuLyChartModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data; \r\n }\r\n\r\n clone(): LinhVucTinhHinhXuLyChartModel {\r\n const json = this.toJSON();\r\n let result = new LinhVucTinhHinhXuLyChartModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILinhVucTinhHinhXuLyChartModel {\r\n id?: string | undefined;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class LuotquantamEntity implements ILuotquantamEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n idthanhvien?: number | undefined;\r\n referenceid?: number | undefined;\r\n type?: number | undefined;\r\n thanhvien?: ThanhvienEntity;\r\n\r\n constructor(data?: ILuotquantamEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n this.thanhvien = data.thanhvien && !(data.thanhvien).toJSON ? new ThanhvienEntity(data.thanhvien) : this.thanhvien; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.id = _data[\"id\"];\r\n this.idthanhvien = _data[\"idthanhvien\"];\r\n this.referenceid = _data[\"referenceid\"];\r\n this.type = _data[\"type\"];\r\n this.thanhvien = _data[\"thanhvien\"] ? ThanhvienEntity.fromJS(_data[\"thanhvien\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): LuotquantamEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LuotquantamEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"id\"] = this.id;\r\n data[\"idthanhvien\"] = this.idthanhvien;\r\n data[\"referenceid\"] = this.referenceid;\r\n data[\"type\"] = this.type;\r\n data[\"thanhvien\"] = this.thanhvien ? this.thanhvien.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): LuotquantamEntity {\r\n const json = this.toJSON();\r\n let result = new LuotquantamEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILuotquantamEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n idthanhvien?: number | undefined;\r\n referenceid?: number | undefined;\r\n type?: number | undefined;\r\n thanhvien?: IThanhvienEntity;\r\n}\r\n\r\nexport enum MappingType {\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n}\r\n\r\nexport class MauphanhoiEntity implements IMauphanhoiEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n noidung?: string | undefined;\r\n ten?: string | undefined;\r\n type?: number | undefined;\r\n\r\n constructor(data?: IMauphanhoiEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.id = _data[\"id\"];\r\n this.noidung = _data[\"noidung\"];\r\n this.ten = _data[\"ten\"];\r\n this.type = _data[\"type\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MauphanhoiEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MauphanhoiEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"id\"] = this.id;\r\n data[\"noidung\"] = this.noidung;\r\n data[\"ten\"] = this.ten;\r\n data[\"type\"] = this.type;\r\n return data; \r\n }\r\n\r\n clone(): MauphanhoiEntity {\r\n const json = this.toJSON();\r\n let result = new MauphanhoiEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IMauphanhoiEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n noidung?: string | undefined;\r\n ten?: string | undefined;\r\n type?: number | undefined;\r\n}\r\n\r\nexport class MauphanhoiEntityListApiResponse implements IMauphanhoiEntityListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: MauphanhoiEntity[] | undefined;\r\n\r\n constructor(data?: IMauphanhoiEntityListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new MauphanhoiEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(MauphanhoiEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): MauphanhoiEntityListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MauphanhoiEntityListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): MauphanhoiEntityListApiResponse {\r\n const json = this.toJSON();\r\n let result = new MauphanhoiEntityListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IMauphanhoiEntityListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IMauphanhoiEntity[] | undefined;\r\n}\r\n\r\nexport class MauPhanHoiXuLyGopYModel implements IMauPhanHoiXuLyGopYModel {\r\n id?: number;\r\n title?: string | undefined;\r\n content?: string | undefined;\r\n\r\n constructor(data?: IMauPhanHoiXuLyGopYModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.title = _data[\"title\"];\r\n this.content = _data[\"content\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MauPhanHoiXuLyGopYModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MauPhanHoiXuLyGopYModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"title\"] = this.title;\r\n data[\"content\"] = this.content;\r\n return data; \r\n }\r\n\r\n clone(): MauPhanHoiXuLyGopYModel {\r\n const json = this.toJSON();\r\n let result = new MauPhanHoiXuLyGopYModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IMauPhanHoiXuLyGopYModel {\r\n id?: number;\r\n title?: string | undefined;\r\n content?: string | undefined;\r\n}\r\n\r\nexport class MemberInfo implements IMemberInfo {\r\n memberType?: MemberTypes;\r\n readonly name?: string | undefined;\r\n declaringType?: Type;\r\n reflectedType?: Type;\r\n module?: Module;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n\r\n constructor(data?: IMemberInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType; \r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType; \r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module; \r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberType = _data[\"memberType\"];\r\n (this).name = _data[\"name\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MemberInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MemberInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberType\"] = this.memberType;\r\n data[\"name\"] = this.name;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n return data; \r\n }\r\n\r\n clone(): MemberInfo {\r\n const json = this.toJSON();\r\n let result = new MemberInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IMemberInfo {\r\n memberType?: MemberTypes;\r\n name?: string | undefined;\r\n declaringType?: IType;\r\n reflectedType?: IType;\r\n module?: IModule;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n}\r\n\r\nexport enum MemberTypes {\r\n _1 = 1,\r\n _2 = 2,\r\n _4 = 4,\r\n _8 = 8,\r\n _16 = 16,\r\n _32 = 32,\r\n _64 = 64,\r\n _128 = 128,\r\n _191 = 191,\r\n}\r\n\r\nexport enum MethodAttributes {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n _6 = 6,\r\n _7 = 7,\r\n _8 = 8,\r\n _16 = 16,\r\n _32 = 32,\r\n _64 = 64,\r\n _128 = 128,\r\n _256 = 256,\r\n _512 = 512,\r\n _1024 = 1024,\r\n _2048 = 2048,\r\n _4096 = 4096,\r\n _8192 = 8192,\r\n _16384 = 16384,\r\n _32768 = 32768,\r\n _53248 = 53248,\r\n}\r\n\r\nexport class MethodBase implements IMethodBase {\r\n memberType?: MemberTypes;\r\n readonly name?: string | undefined;\r\n declaringType?: Type;\r\n reflectedType?: Type;\r\n module?: Module;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n attributes?: MethodAttributes;\r\n methodImplementationFlags?: MethodImplAttributes;\r\n callingConvention?: CallingConventions;\r\n readonly isAbstract?: boolean;\r\n readonly isConstructor?: boolean;\r\n readonly isFinal?: boolean;\r\n readonly isHideBySig?: boolean;\r\n readonly isSpecialName?: boolean;\r\n readonly isStatic?: boolean;\r\n readonly isVirtual?: boolean;\r\n readonly isAssembly?: boolean;\r\n readonly isFamily?: boolean;\r\n readonly isFamilyAndAssembly?: boolean;\r\n readonly isFamilyOrAssembly?: boolean;\r\n readonly isPrivate?: boolean;\r\n readonly isPublic?: boolean;\r\n readonly isConstructedGenericMethod?: boolean;\r\n readonly isGenericMethod?: boolean;\r\n readonly isGenericMethodDefinition?: boolean;\r\n readonly containsGenericParameters?: boolean;\r\n methodHandle?: RuntimeMethodHandle;\r\n readonly isSecurityCritical?: boolean;\r\n readonly isSecuritySafeCritical?: boolean;\r\n readonly isSecurityTransparent?: boolean;\r\n\r\n constructor(data?: IMethodBase) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType; \r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType; \r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module; \r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.methodHandle = data.methodHandle && !(data.methodHandle).toJSON ? new RuntimeMethodHandle(data.methodHandle) : this.methodHandle; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberType = _data[\"memberType\"];\r\n (this).name = _data[\"name\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n this.attributes = _data[\"attributes\"];\r\n this.methodImplementationFlags = _data[\"methodImplementationFlags\"];\r\n this.callingConvention = _data[\"callingConvention\"];\r\n (this).isAbstract = _data[\"isAbstract\"];\r\n (this).isConstructor = _data[\"isConstructor\"];\r\n (this).isFinal = _data[\"isFinal\"];\r\n (this).isHideBySig = _data[\"isHideBySig\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n (this).isStatic = _data[\"isStatic\"];\r\n (this).isVirtual = _data[\"isVirtual\"];\r\n (this).isAssembly = _data[\"isAssembly\"];\r\n (this).isFamily = _data[\"isFamily\"];\r\n (this).isFamilyAndAssembly = _data[\"isFamilyAndAssembly\"];\r\n (this).isFamilyOrAssembly = _data[\"isFamilyOrAssembly\"];\r\n (this).isPrivate = _data[\"isPrivate\"];\r\n (this).isPublic = _data[\"isPublic\"];\r\n (this).isConstructedGenericMethod = _data[\"isConstructedGenericMethod\"];\r\n (this).isGenericMethod = _data[\"isGenericMethod\"];\r\n (this).isGenericMethodDefinition = _data[\"isGenericMethodDefinition\"];\r\n (this).containsGenericParameters = _data[\"containsGenericParameters\"];\r\n this.methodHandle = _data[\"methodHandle\"] ? RuntimeMethodHandle.fromJS(_data[\"methodHandle\"]) : undefined;\r\n (this).isSecurityCritical = _data[\"isSecurityCritical\"];\r\n (this).isSecuritySafeCritical = _data[\"isSecuritySafeCritical\"];\r\n (this).isSecurityTransparent = _data[\"isSecurityTransparent\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MethodBase {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MethodBase();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberType\"] = this.memberType;\r\n data[\"name\"] = this.name;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"methodImplementationFlags\"] = this.methodImplementationFlags;\r\n data[\"callingConvention\"] = this.callingConvention;\r\n data[\"isAbstract\"] = this.isAbstract;\r\n data[\"isConstructor\"] = this.isConstructor;\r\n data[\"isFinal\"] = this.isFinal;\r\n data[\"isHideBySig\"] = this.isHideBySig;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"isStatic\"] = this.isStatic;\r\n data[\"isVirtual\"] = this.isVirtual;\r\n data[\"isAssembly\"] = this.isAssembly;\r\n data[\"isFamily\"] = this.isFamily;\r\n data[\"isFamilyAndAssembly\"] = this.isFamilyAndAssembly;\r\n data[\"isFamilyOrAssembly\"] = this.isFamilyOrAssembly;\r\n data[\"isPrivate\"] = this.isPrivate;\r\n data[\"isPublic\"] = this.isPublic;\r\n data[\"isConstructedGenericMethod\"] = this.isConstructedGenericMethod;\r\n data[\"isGenericMethod\"] = this.isGenericMethod;\r\n data[\"isGenericMethodDefinition\"] = this.isGenericMethodDefinition;\r\n data[\"containsGenericParameters\"] = this.containsGenericParameters;\r\n data[\"methodHandle\"] = this.methodHandle ? this.methodHandle.toJSON() : undefined;\r\n data[\"isSecurityCritical\"] = this.isSecurityCritical;\r\n data[\"isSecuritySafeCritical\"] = this.isSecuritySafeCritical;\r\n data[\"isSecurityTransparent\"] = this.isSecurityTransparent;\r\n return data; \r\n }\r\n\r\n clone(): MethodBase {\r\n const json = this.toJSON();\r\n let result = new MethodBase();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IMethodBase {\r\n memberType?: MemberTypes;\r\n name?: string | undefined;\r\n declaringType?: IType;\r\n reflectedType?: IType;\r\n module?: IModule;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n attributes?: MethodAttributes;\r\n methodImplementationFlags?: MethodImplAttributes;\r\n callingConvention?: CallingConventions;\r\n isAbstract?: boolean;\r\n isConstructor?: boolean;\r\n isFinal?: boolean;\r\n isHideBySig?: boolean;\r\n isSpecialName?: boolean;\r\n isStatic?: boolean;\r\n isVirtual?: boolean;\r\n isAssembly?: boolean;\r\n isFamily?: boolean;\r\n isFamilyAndAssembly?: boolean;\r\n isFamilyOrAssembly?: boolean;\r\n isPrivate?: boolean;\r\n isPublic?: boolean;\r\n isConstructedGenericMethod?: boolean;\r\n isGenericMethod?: boolean;\r\n isGenericMethodDefinition?: boolean;\r\n containsGenericParameters?: boolean;\r\n methodHandle?: IRuntimeMethodHandle;\r\n isSecurityCritical?: boolean;\r\n isSecuritySafeCritical?: boolean;\r\n isSecurityTransparent?: boolean;\r\n}\r\n\r\nexport enum MethodImplAttributes {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _8 = 8,\r\n _16 = 16,\r\n _32 = 32,\r\n _64 = 64,\r\n _128 = 128,\r\n _256 = 256,\r\n _512 = 512,\r\n _4096 = 4096,\r\n _65535 = 65535,\r\n}\r\n\r\nexport class MethodInfo implements IMethodInfo {\r\n readonly name?: string | undefined;\r\n declaringType?: Type;\r\n reflectedType?: Type;\r\n module?: Module;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n attributes?: MethodAttributes;\r\n methodImplementationFlags?: MethodImplAttributes;\r\n callingConvention?: CallingConventions;\r\n readonly isAbstract?: boolean;\r\n readonly isConstructor?: boolean;\r\n readonly isFinal?: boolean;\r\n readonly isHideBySig?: boolean;\r\n readonly isSpecialName?: boolean;\r\n readonly isStatic?: boolean;\r\n readonly isVirtual?: boolean;\r\n readonly isAssembly?: boolean;\r\n readonly isFamily?: boolean;\r\n readonly isFamilyAndAssembly?: boolean;\r\n readonly isFamilyOrAssembly?: boolean;\r\n readonly isPrivate?: boolean;\r\n readonly isPublic?: boolean;\r\n readonly isConstructedGenericMethod?: boolean;\r\n readonly isGenericMethod?: boolean;\r\n readonly isGenericMethodDefinition?: boolean;\r\n readonly containsGenericParameters?: boolean;\r\n methodHandle?: RuntimeMethodHandle;\r\n readonly isSecurityCritical?: boolean;\r\n readonly isSecuritySafeCritical?: boolean;\r\n readonly isSecurityTransparent?: boolean;\r\n memberType?: MemberTypes;\r\n returnParameter?: ParameterInfo;\r\n returnType?: Type;\r\n returnTypeCustomAttributes?: ICustomAttributeProvider;\r\n\r\n constructor(data?: IMethodInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType; \r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType; \r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module; \r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.methodHandle = data.methodHandle && !(data.methodHandle).toJSON ? new RuntimeMethodHandle(data.methodHandle) : this.methodHandle; \r\n this.returnParameter = data.returnParameter && !(data.returnParameter).toJSON ? new ParameterInfo(data.returnParameter) : this.returnParameter; \r\n this.returnType = data.returnType && !(data.returnType).toJSON ? new Type(data.returnType) : this.returnType; \r\n this.returnTypeCustomAttributes = data.returnTypeCustomAttributes && !(data.returnTypeCustomAttributes).toJSON ? new ICustomAttributeProvider(data.returnTypeCustomAttributes) : this.returnTypeCustomAttributes; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n this.attributes = _data[\"attributes\"];\r\n this.methodImplementationFlags = _data[\"methodImplementationFlags\"];\r\n this.callingConvention = _data[\"callingConvention\"];\r\n (this).isAbstract = _data[\"isAbstract\"];\r\n (this).isConstructor = _data[\"isConstructor\"];\r\n (this).isFinal = _data[\"isFinal\"];\r\n (this).isHideBySig = _data[\"isHideBySig\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n (this).isStatic = _data[\"isStatic\"];\r\n (this).isVirtual = _data[\"isVirtual\"];\r\n (this).isAssembly = _data[\"isAssembly\"];\r\n (this).isFamily = _data[\"isFamily\"];\r\n (this).isFamilyAndAssembly = _data[\"isFamilyAndAssembly\"];\r\n (this).isFamilyOrAssembly = _data[\"isFamilyOrAssembly\"];\r\n (this).isPrivate = _data[\"isPrivate\"];\r\n (this).isPublic = _data[\"isPublic\"];\r\n (this).isConstructedGenericMethod = _data[\"isConstructedGenericMethod\"];\r\n (this).isGenericMethod = _data[\"isGenericMethod\"];\r\n (this).isGenericMethodDefinition = _data[\"isGenericMethodDefinition\"];\r\n (this).containsGenericParameters = _data[\"containsGenericParameters\"];\r\n this.methodHandle = _data[\"methodHandle\"] ? RuntimeMethodHandle.fromJS(_data[\"methodHandle\"]) : undefined;\r\n (this).isSecurityCritical = _data[\"isSecurityCritical\"];\r\n (this).isSecuritySafeCritical = _data[\"isSecuritySafeCritical\"];\r\n (this).isSecurityTransparent = _data[\"isSecurityTransparent\"];\r\n this.memberType = _data[\"memberType\"];\r\n this.returnParameter = _data[\"returnParameter\"] ? ParameterInfo.fromJS(_data[\"returnParameter\"]) : undefined;\r\n this.returnType = _data[\"returnType\"] ? Type.fromJS(_data[\"returnType\"]) : undefined;\r\n this.returnTypeCustomAttributes = _data[\"returnTypeCustomAttributes\"] ? ICustomAttributeProvider.fromJS(_data[\"returnTypeCustomAttributes\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): MethodInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MethodInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"methodImplementationFlags\"] = this.methodImplementationFlags;\r\n data[\"callingConvention\"] = this.callingConvention;\r\n data[\"isAbstract\"] = this.isAbstract;\r\n data[\"isConstructor\"] = this.isConstructor;\r\n data[\"isFinal\"] = this.isFinal;\r\n data[\"isHideBySig\"] = this.isHideBySig;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"isStatic\"] = this.isStatic;\r\n data[\"isVirtual\"] = this.isVirtual;\r\n data[\"isAssembly\"] = this.isAssembly;\r\n data[\"isFamily\"] = this.isFamily;\r\n data[\"isFamilyAndAssembly\"] = this.isFamilyAndAssembly;\r\n data[\"isFamilyOrAssembly\"] = this.isFamilyOrAssembly;\r\n data[\"isPrivate\"] = this.isPrivate;\r\n data[\"isPublic\"] = this.isPublic;\r\n data[\"isConstructedGenericMethod\"] = this.isConstructedGenericMethod;\r\n data[\"isGenericMethod\"] = this.isGenericMethod;\r\n data[\"isGenericMethodDefinition\"] = this.isGenericMethodDefinition;\r\n data[\"containsGenericParameters\"] = this.containsGenericParameters;\r\n data[\"methodHandle\"] = this.methodHandle ? this.methodHandle.toJSON() : undefined;\r\n data[\"isSecurityCritical\"] = this.isSecurityCritical;\r\n data[\"isSecuritySafeCritical\"] = this.isSecuritySafeCritical;\r\n data[\"isSecurityTransparent\"] = this.isSecurityTransparent;\r\n data[\"memberType\"] = this.memberType;\r\n data[\"returnParameter\"] = this.returnParameter ? this.returnParameter.toJSON() : undefined;\r\n data[\"returnType\"] = this.returnType ? this.returnType.toJSON() : undefined;\r\n data[\"returnTypeCustomAttributes\"] = this.returnTypeCustomAttributes ? this.returnTypeCustomAttributes.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): MethodInfo {\r\n const json = this.toJSON();\r\n let result = new MethodInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IMethodInfo {\r\n name?: string | undefined;\r\n declaringType?: IType;\r\n reflectedType?: IType;\r\n module?: IModule;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n attributes?: MethodAttributes;\r\n methodImplementationFlags?: MethodImplAttributes;\r\n callingConvention?: CallingConventions;\r\n isAbstract?: boolean;\r\n isConstructor?: boolean;\r\n isFinal?: boolean;\r\n isHideBySig?: boolean;\r\n isSpecialName?: boolean;\r\n isStatic?: boolean;\r\n isVirtual?: boolean;\r\n isAssembly?: boolean;\r\n isFamily?: boolean;\r\n isFamilyAndAssembly?: boolean;\r\n isFamilyOrAssembly?: boolean;\r\n isPrivate?: boolean;\r\n isPublic?: boolean;\r\n isConstructedGenericMethod?: boolean;\r\n isGenericMethod?: boolean;\r\n isGenericMethodDefinition?: boolean;\r\n containsGenericParameters?: boolean;\r\n methodHandle?: IRuntimeMethodHandle;\r\n isSecurityCritical?: boolean;\r\n isSecuritySafeCritical?: boolean;\r\n isSecurityTransparent?: boolean;\r\n memberType?: MemberTypes;\r\n returnParameter?: IParameterInfo;\r\n returnType?: IType;\r\n returnTypeCustomAttributes?: IICustomAttributeProvider;\r\n}\r\n\r\nexport class MobileChuyenDonViXuLyFileModel implements IMobileChuyenDonViXuLyFileModel {\r\n id?: number;\r\n fileName?: string | undefined;\r\n\r\n constructor(data?: IMobileChuyenDonViXuLyFileModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fileName = _data[\"fileName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MobileChuyenDonViXuLyFileModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MobileChuyenDonViXuLyFileModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fileName\"] = this.fileName;\r\n return data; \r\n }\r\n\r\n clone(): MobileChuyenDonViXuLyFileModel {\r\n const json = this.toJSON();\r\n let result = new MobileChuyenDonViXuLyFileModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IMobileChuyenDonViXuLyFileModel {\r\n id?: number;\r\n fileName?: string | undefined;\r\n}\r\n\r\nexport class MobileChuyenDonViXuLyModel implements IMobileChuyenDonViXuLyModel {\r\n noiDungId?: number;\r\n donViXuLyId?: number;\r\n nhanVienXuLy?: number | undefined;\r\n thoiGianXuLyDenNgay?: Date;\r\n lstDonViPhoiHopId?: number[] | undefined;\r\n yKienChuyenDonVi?: string | undefined;\r\n noiDungTraLoi?: string | undefined;\r\n lstFiles?: MobileChuyenDonViXuLyFileModel[] | undefined;\r\n chiaSe?: boolean;\r\n isChangeContent?: boolean;\r\n isToUnit?: boolean;\r\n thongTinEdit?: MobileThongTinDinhKemChuyenDonViXuLyModel;\r\n\r\n constructor(data?: IMobileChuyenDonViXuLyModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstFiles) {\r\n this.lstFiles = [];\r\n for (let i = 0; i < data.lstFiles.length; i++) {\r\n let item = data.lstFiles[i];\r\n this.lstFiles[i] = item && !(item).toJSON ? new MobileChuyenDonViXuLyFileModel(item) : item;\r\n }\r\n }\r\n this.thongTinEdit = data.thongTinEdit && !(data.thongTinEdit).toJSON ? new MobileThongTinDinhKemChuyenDonViXuLyModel(data.thongTinEdit) : this.thongTinEdit; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.noiDungId = _data[\"noiDungId\"];\r\n this.donViXuLyId = _data[\"donViXuLyId\"];\r\n this.nhanVienXuLy = _data[\"nhanVienXuLy\"];\r\n this.thoiGianXuLyDenNgay = _data[\"thoiGianXuLyDenNgay\"] ? new Date(_data[\"thoiGianXuLyDenNgay\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"lstDonViPhoiHopId\"])) {\r\n this.lstDonViPhoiHopId = [] as any;\r\n for (let item of _data[\"lstDonViPhoiHopId\"])\r\n this.lstDonViPhoiHopId!.push(item);\r\n }\r\n this.yKienChuyenDonVi = _data[\"yKienChuyenDonVi\"];\r\n this.noiDungTraLoi = _data[\"noiDungTraLoi\"];\r\n if (Array.isArray(_data[\"lstFiles\"])) {\r\n this.lstFiles = [] as any;\r\n for (let item of _data[\"lstFiles\"])\r\n this.lstFiles!.push(MobileChuyenDonViXuLyFileModel.fromJS(item));\r\n }\r\n this.chiaSe = _data[\"chiaSe\"];\r\n this.isChangeContent = _data[\"isChangeContent\"];\r\n this.isToUnit = _data[\"isToUnit\"];\r\n this.thongTinEdit = _data[\"thongTinEdit\"] ? MobileThongTinDinhKemChuyenDonViXuLyModel.fromJS(_data[\"thongTinEdit\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): MobileChuyenDonViXuLyModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MobileChuyenDonViXuLyModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"noiDungId\"] = this.noiDungId;\r\n data[\"donViXuLyId\"] = this.donViXuLyId;\r\n data[\"nhanVienXuLy\"] = this.nhanVienXuLy;\r\n data[\"thoiGianXuLyDenNgay\"] = this.thoiGianXuLyDenNgay ? this.thoiGianXuLyDenNgay.toISOString() : undefined;\r\n if (Array.isArray(this.lstDonViPhoiHopId)) {\r\n data[\"lstDonViPhoiHopId\"] = [];\r\n for (let item of this.lstDonViPhoiHopId)\r\n data[\"lstDonViPhoiHopId\"].push(item);\r\n }\r\n data[\"yKienChuyenDonVi\"] = this.yKienChuyenDonVi;\r\n data[\"noiDungTraLoi\"] = this.noiDungTraLoi;\r\n if (Array.isArray(this.lstFiles)) {\r\n data[\"lstFiles\"] = [];\r\n for (let item of this.lstFiles)\r\n data[\"lstFiles\"].push(item.toJSON());\r\n }\r\n data[\"chiaSe\"] = this.chiaSe;\r\n data[\"isChangeContent\"] = this.isChangeContent;\r\n data[\"isToUnit\"] = this.isToUnit;\r\n data[\"thongTinEdit\"] = this.thongTinEdit ? this.thongTinEdit.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): MobileChuyenDonViXuLyModel {\r\n const json = this.toJSON();\r\n let result = new MobileChuyenDonViXuLyModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IMobileChuyenDonViXuLyModel {\r\n noiDungId?: number;\r\n donViXuLyId?: number;\r\n nhanVienXuLy?: number | undefined;\r\n thoiGianXuLyDenNgay?: Date;\r\n lstDonViPhoiHopId?: number[] | undefined;\r\n yKienChuyenDonVi?: string | undefined;\r\n noiDungTraLoi?: string | undefined;\r\n lstFiles?: IMobileChuyenDonViXuLyFileModel[] | undefined;\r\n chiaSe?: boolean;\r\n isChangeContent?: boolean;\r\n isToUnit?: boolean;\r\n thongTinEdit?: IMobileThongTinDinhKemChuyenDonViXuLyModel;\r\n}\r\n\r\nexport class MobilePhanHoiGopYFileModel implements IMobilePhanHoiGopYFileModel {\r\n id?: number;\r\n fileName?: string | undefined;\r\n\r\n constructor(data?: IMobilePhanHoiGopYFileModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fileName = _data[\"fileName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MobilePhanHoiGopYFileModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MobilePhanHoiGopYFileModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fileName\"] = this.fileName;\r\n return data; \r\n }\r\n\r\n clone(): MobilePhanHoiGopYFileModel {\r\n const json = this.toJSON();\r\n let result = new MobilePhanHoiGopYFileModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IMobilePhanHoiGopYFileModel {\r\n id?: number;\r\n fileName?: string | undefined;\r\n}\r\n\r\nexport class MobilePhanHoiGopYModel implements IMobilePhanHoiGopYModel {\r\n noiDungId?: number;\r\n noiDungTraLoi?: string | undefined;\r\n lstFiles?: MobilePhanHoiGopYFileModel[] | undefined;\r\n chiaSe?: boolean;\r\n isChangeContent?: boolean;\r\n thongTinEdit?: MobileThongTinPhanHoiEditModel;\r\n\r\n constructor(data?: IMobilePhanHoiGopYModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstFiles) {\r\n this.lstFiles = [];\r\n for (let i = 0; i < data.lstFiles.length; i++) {\r\n let item = data.lstFiles[i];\r\n this.lstFiles[i] = item && !(item).toJSON ? new MobilePhanHoiGopYFileModel(item) : item;\r\n }\r\n }\r\n this.thongTinEdit = data.thongTinEdit && !(data.thongTinEdit).toJSON ? new MobileThongTinPhanHoiEditModel(data.thongTinEdit) : this.thongTinEdit; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.noiDungId = _data[\"noiDungId\"];\r\n this.noiDungTraLoi = _data[\"noiDungTraLoi\"];\r\n if (Array.isArray(_data[\"lstFiles\"])) {\r\n this.lstFiles = [] as any;\r\n for (let item of _data[\"lstFiles\"])\r\n this.lstFiles!.push(MobilePhanHoiGopYFileModel.fromJS(item));\r\n }\r\n this.chiaSe = _data[\"chiaSe\"];\r\n this.isChangeContent = _data[\"isChangeContent\"];\r\n this.thongTinEdit = _data[\"thongTinEdit\"] ? MobileThongTinPhanHoiEditModel.fromJS(_data[\"thongTinEdit\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): MobilePhanHoiGopYModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MobilePhanHoiGopYModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"noiDungId\"] = this.noiDungId;\r\n data[\"noiDungTraLoi\"] = this.noiDungTraLoi;\r\n if (Array.isArray(this.lstFiles)) {\r\n data[\"lstFiles\"] = [];\r\n for (let item of this.lstFiles)\r\n data[\"lstFiles\"].push(item.toJSON());\r\n }\r\n data[\"chiaSe\"] = this.chiaSe;\r\n data[\"isChangeContent\"] = this.isChangeContent;\r\n data[\"thongTinEdit\"] = this.thongTinEdit ? this.thongTinEdit.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): MobilePhanHoiGopYModel {\r\n const json = this.toJSON();\r\n let result = new MobilePhanHoiGopYModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IMobilePhanHoiGopYModel {\r\n noiDungId?: number;\r\n noiDungTraLoi?: string | undefined;\r\n lstFiles?: IMobilePhanHoiGopYFileModel[] | undefined;\r\n chiaSe?: boolean;\r\n isChangeContent?: boolean;\r\n thongTinEdit?: IMobileThongTinPhanHoiEditModel;\r\n}\r\n\r\nexport class MobileThongTinDinhKemChuyenDonViXuLyModel implements IMobileThongTinDinhKemChuyenDonViXuLyModel {\r\n tieuDe?: string | undefined;\r\n diaDiem?: string | undefined;\r\n linhVucId?: number | undefined;\r\n noiDung?: string | undefined;\r\n lstFileDelete?: number[] | undefined;\r\n isDeleteVideo?: boolean;\r\n huyen?: number | undefined;\r\n xa?: number | undefined;\r\n\r\n constructor(data?: IMobileThongTinDinhKemChuyenDonViXuLyModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.tieuDe = _data[\"tieuDe\"];\r\n this.diaDiem = _data[\"diaDiem\"];\r\n this.linhVucId = _data[\"linhVucId\"];\r\n this.noiDung = _data[\"noiDung\"];\r\n if (Array.isArray(_data[\"lstFileDelete\"])) {\r\n this.lstFileDelete = [] as any;\r\n for (let item of _data[\"lstFileDelete\"])\r\n this.lstFileDelete!.push(item);\r\n }\r\n this.isDeleteVideo = _data[\"isDeleteVideo\"];\r\n this.huyen = _data[\"huyen\"];\r\n this.xa = _data[\"xa\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MobileThongTinDinhKemChuyenDonViXuLyModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MobileThongTinDinhKemChuyenDonViXuLyModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"tieuDe\"] = this.tieuDe;\r\n data[\"diaDiem\"] = this.diaDiem;\r\n data[\"linhVucId\"] = this.linhVucId;\r\n data[\"noiDung\"] = this.noiDung;\r\n if (Array.isArray(this.lstFileDelete)) {\r\n data[\"lstFileDelete\"] = [];\r\n for (let item of this.lstFileDelete)\r\n data[\"lstFileDelete\"].push(item);\r\n }\r\n data[\"isDeleteVideo\"] = this.isDeleteVideo;\r\n data[\"huyen\"] = this.huyen;\r\n data[\"xa\"] = this.xa;\r\n return data; \r\n }\r\n\r\n clone(): MobileThongTinDinhKemChuyenDonViXuLyModel {\r\n const json = this.toJSON();\r\n let result = new MobileThongTinDinhKemChuyenDonViXuLyModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IMobileThongTinDinhKemChuyenDonViXuLyModel {\r\n tieuDe?: string | undefined;\r\n diaDiem?: string | undefined;\r\n linhVucId?: number | undefined;\r\n noiDung?: string | undefined;\r\n lstFileDelete?: number[] | undefined;\r\n isDeleteVideo?: boolean;\r\n huyen?: number | undefined;\r\n xa?: number | undefined;\r\n}\r\n\r\nexport class MobileThongTinPhanHoiEditModel implements IMobileThongTinPhanHoiEditModel {\r\n tieuDe?: string | undefined;\r\n diaDiem?: string | undefined;\r\n linhVucId?: number | undefined;\r\n noiDung?: string | undefined;\r\n lstFileDelete?: number[] | undefined;\r\n isDeleteVideo?: boolean;\r\n huyen?: number | undefined;\r\n xa?: number | undefined;\r\n\r\n constructor(data?: IMobileThongTinPhanHoiEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.tieuDe = _data[\"tieuDe\"];\r\n this.diaDiem = _data[\"diaDiem\"];\r\n this.linhVucId = _data[\"linhVucId\"];\r\n this.noiDung = _data[\"noiDung\"];\r\n if (Array.isArray(_data[\"lstFileDelete\"])) {\r\n this.lstFileDelete = [] as any;\r\n for (let item of _data[\"lstFileDelete\"])\r\n this.lstFileDelete!.push(item);\r\n }\r\n this.isDeleteVideo = _data[\"isDeleteVideo\"];\r\n this.huyen = _data[\"huyen\"];\r\n this.xa = _data[\"xa\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MobileThongTinPhanHoiEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MobileThongTinPhanHoiEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"tieuDe\"] = this.tieuDe;\r\n data[\"diaDiem\"] = this.diaDiem;\r\n data[\"linhVucId\"] = this.linhVucId;\r\n data[\"noiDung\"] = this.noiDung;\r\n if (Array.isArray(this.lstFileDelete)) {\r\n data[\"lstFileDelete\"] = [];\r\n for (let item of this.lstFileDelete)\r\n data[\"lstFileDelete\"].push(item);\r\n }\r\n data[\"isDeleteVideo\"] = this.isDeleteVideo;\r\n data[\"huyen\"] = this.huyen;\r\n data[\"xa\"] = this.xa;\r\n return data; \r\n }\r\n\r\n clone(): MobileThongTinPhanHoiEditModel {\r\n const json = this.toJSON();\r\n let result = new MobileThongTinPhanHoiEditModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IMobileThongTinPhanHoiEditModel {\r\n tieuDe?: string | undefined;\r\n diaDiem?: string | undefined;\r\n linhVucId?: number | undefined;\r\n noiDung?: string | undefined;\r\n lstFileDelete?: number[] | undefined;\r\n isDeleteVideo?: boolean;\r\n huyen?: number | undefined;\r\n xa?: number | undefined;\r\n}\r\n\r\nexport class Module implements IModule {\r\n assembly?: Assembly;\r\n readonly fullyQualifiedName?: string | undefined;\r\n readonly name?: string | undefined;\r\n readonly mdStreamVersion?: number;\r\n readonly moduleVersionId?: string;\r\n readonly scopeName?: string | undefined;\r\n moduleHandle?: ModuleHandle;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly metadataToken?: number;\r\n\r\n constructor(data?: IModule) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.assembly = data.assembly && !(data.assembly).toJSON ? new Assembly(data.assembly) : this.assembly; \r\n this.moduleHandle = data.moduleHandle && !(data.moduleHandle).toJSON ? new ModuleHandle(data.moduleHandle) : this.moduleHandle; \r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.assembly = _data[\"assembly\"] ? Assembly.fromJS(_data[\"assembly\"]) : undefined;\r\n (this).fullyQualifiedName = _data[\"fullyQualifiedName\"];\r\n (this).name = _data[\"name\"];\r\n (this).mdStreamVersion = _data[\"mdStreamVersion\"];\r\n (this).moduleVersionId = _data[\"moduleVersionId\"];\r\n (this).scopeName = _data[\"scopeName\"];\r\n this.moduleHandle = _data[\"moduleHandle\"] ? ModuleHandle.fromJS(_data[\"moduleHandle\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Module {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Module();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"assembly\"] = this.assembly ? this.assembly.toJSON() : undefined;\r\n data[\"fullyQualifiedName\"] = this.fullyQualifiedName;\r\n data[\"name\"] = this.name;\r\n data[\"mdStreamVersion\"] = this.mdStreamVersion;\r\n data[\"moduleVersionId\"] = this.moduleVersionId;\r\n data[\"scopeName\"] = this.scopeName;\r\n data[\"moduleHandle\"] = this.moduleHandle ? this.moduleHandle.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"metadataToken\"] = this.metadataToken;\r\n return data; \r\n }\r\n\r\n clone(): Module {\r\n const json = this.toJSON();\r\n let result = new Module();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IModule {\r\n assembly?: IAssembly;\r\n fullyQualifiedName?: string | undefined;\r\n name?: string | undefined;\r\n mdStreamVersion?: number;\r\n moduleVersionId?: string;\r\n scopeName?: string | undefined;\r\n moduleHandle?: IModuleHandle;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n metadataToken?: number;\r\n}\r\n\r\nexport class ModuleHandle implements IModuleHandle {\r\n readonly mdStreamVersion?: number;\r\n\r\n constructor(data?: IModuleHandle) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).mdStreamVersion = _data[\"mdStreamVersion\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ModuleHandle {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ModuleHandle();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"mdStreamVersion\"] = this.mdStreamVersion;\r\n return data; \r\n }\r\n\r\n clone(): ModuleHandle {\r\n const json = this.toJSON();\r\n let result = new ModuleHandle();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IModuleHandle {\r\n mdStreamVersion?: number;\r\n}\r\n\r\nexport class MyFeedbackItemModel implements IMyFeedbackItemModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n ngayGopY?: Date;\r\n trangThai?: string | undefined;\r\n\r\n constructor(data?: IMyFeedbackItemModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tieuDe = _data[\"tieuDe\"];\r\n this.ngayGopY = _data[\"ngayGopY\"] ? new Date(_data[\"ngayGopY\"].toString()) : undefined;\r\n this.trangThai = _data[\"trangThai\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MyFeedbackItemModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MyFeedbackItemModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tieuDe\"] = this.tieuDe;\r\n data[\"ngayGopY\"] = this.ngayGopY ? this.ngayGopY.toISOString() : undefined;\r\n data[\"trangThai\"] = this.trangThai;\r\n return data; \r\n }\r\n\r\n clone(): MyFeedbackItemModel {\r\n const json = this.toJSON();\r\n let result = new MyFeedbackItemModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IMyFeedbackItemModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n ngayGopY?: Date;\r\n trangThai?: string | undefined;\r\n}\r\n\r\nexport class MyFeedbackItemModelListApiResponse implements IMyFeedbackItemModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: MyFeedbackItemModel[] | undefined;\r\n\r\n constructor(data?: IMyFeedbackItemModelListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new MyFeedbackItemModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(MyFeedbackItemModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): MyFeedbackItemModelListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MyFeedbackItemModelListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): MyFeedbackItemModelListApiResponse {\r\n const json = this.toJSON();\r\n let result = new MyFeedbackItemModelListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IMyFeedbackItemModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IMyFeedbackItemModel[] | undefined;\r\n}\r\n\r\nexport class MyFeedbackRequestModel implements IMyFeedbackRequestModel {\r\n memberId?: number;\r\n search?: string | undefined;\r\n currentPage?: number;\r\n orderDESCBy?: string | undefined;\r\n\r\n constructor(data?: IMyFeedbackRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberId = _data[\"memberId\"];\r\n this.search = _data[\"search\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.orderDESCBy = _data[\"orderDESCBy\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MyFeedbackRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MyFeedbackRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberId\"] = this.memberId;\r\n data[\"search\"] = this.search;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"orderDESCBy\"] = this.orderDESCBy;\r\n return data; \r\n }\r\n\r\n clone(): MyFeedbackRequestModel {\r\n const json = this.toJSON();\r\n let result = new MyFeedbackRequestModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IMyFeedbackRequestModel {\r\n memberId?: number;\r\n search?: string | undefined;\r\n currentPage?: number;\r\n orderDESCBy?: string | undefined;\r\n}\r\n\r\nexport class NguoiGuiGopYModel implements INguoiGuiGopYModel {\r\n fullName?: string | undefined;\r\n phone?: string | undefined;\r\n email?: string | undefined;\r\n\r\n constructor(data?: INguoiGuiGopYModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fullName = _data[\"fullName\"];\r\n this.phone = _data[\"phone\"];\r\n this.email = _data[\"email\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NguoiGuiGopYModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NguoiGuiGopYModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fullName\"] = this.fullName;\r\n data[\"phone\"] = this.phone;\r\n data[\"email\"] = this.email;\r\n return data; \r\n }\r\n\r\n clone(): NguoiGuiGopYModel {\r\n const json = this.toJSON();\r\n let result = new NguoiGuiGopYModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INguoiGuiGopYModel {\r\n fullName?: string | undefined;\r\n phone?: string | undefined;\r\n email?: string | undefined;\r\n}\r\n\r\nexport class NhanvienphoihopEntity implements INhanvienphoihopEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n nhanvienid?: number | undefined;\r\n phancongid?: number | undefined;\r\n phancong?: PhancongEntity;\r\n\r\n constructor(data?: INhanvienphoihopEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n this.phancong = data.phancong && !(data.phancong).toJSON ? new PhancongEntity(data.phancong) : this.phancong; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.id = _data[\"id\"];\r\n this.nhanvienid = _data[\"nhanvienid\"];\r\n this.phancongid = _data[\"phancongid\"];\r\n this.phancong = _data[\"phancong\"] ? PhancongEntity.fromJS(_data[\"phancong\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): NhanvienphoihopEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NhanvienphoihopEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"id\"] = this.id;\r\n data[\"nhanvienid\"] = this.nhanvienid;\r\n data[\"phancongid\"] = this.phancongid;\r\n data[\"phancong\"] = this.phancong ? this.phancong.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): NhanvienphoihopEntity {\r\n const json = this.toJSON();\r\n let result = new NhanvienphoihopEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INhanvienphoihopEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n nhanvienid?: number | undefined;\r\n phancongid?: number | undefined;\r\n phancong?: IPhancongEntity;\r\n}\r\n\r\nexport class NoidunggopyEntity implements INoidunggopyEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n anh?: string | undefined;\r\n diadiem?: string | undefined;\r\n dichvu?: string | undefined;\r\n donvixulyid?: number | undefined;\r\n huyen?: number | undefined;\r\n id?: number;\r\n idthanhvien?: number;\r\n ipaddress?: string | undefined;\r\n kenhtiepnhan?: string | undefined;\r\n linkvideo?: string | undefined;\r\n linhvuc?: number | undefined;\r\n luotbinhluan?: number | undefined;\r\n luotquantam?: number | undefined;\r\n luotxem?: number | undefined;\r\n noidung?: string | undefined;\r\n noidungphanhoi?: string | undefined;\r\n noidungtraloi?: string | undefined;\r\n ngayguigopy?: Date;\r\n ngaynhangopy?: Date | undefined;\r\n phancong?: number | undefined;\r\n tieude?: string | undefined;\r\n tinh?: number | undefined;\r\n thoigianphanhoi?: Date | undefined;\r\n thoigianxulyngay?: Date | undefined;\r\n thon?: number | undefined;\r\n trangthaihienthi?: number | undefined;\r\n trangthaixuly?: number;\r\n unitcode?: string | undefined;\r\n xa?: number | undefined;\r\n ykienchuyendonvi?: string | undefined;\r\n readonly binhluangopies?: BinhluangopyEntity[] | undefined;\r\n readonly chinhsuanoidunggopies?: ChinhsuanoidunggopyEntity[] | undefined;\r\n readonly donviphoihopxulies?: DonviphoihopxulyEntity[] | undefined;\r\n readonly lichsuxulies?: LichsuxulyEntity[] | undefined;\r\n readonly phancongs?: PhancongEntity[] | undefined;\r\n readonly traloiphananhs?: TraloiphananhEntity[] | undefined;\r\n readonly xulygopies?: XulygopyEntity[] | undefined;\r\n dmlinhvuc?: DmlinhvucEntity;\r\n dmtrangthai?: DmtrangthaiEntity;\r\n thanhvien?: ThanhvienEntity;\r\n\r\n constructor(data?: INoidunggopyEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n if (data.binhluangopies) {\r\n this.binhluangopies = [];\r\n for (let i = 0; i < data.binhluangopies.length; i++) {\r\n let item = data.binhluangopies[i];\r\n this.binhluangopies[i] = item && !(item).toJSON ? new BinhluangopyEntity(item) : item;\r\n }\r\n }\r\n if (data.chinhsuanoidunggopies) {\r\n this.chinhsuanoidunggopies = [];\r\n for (let i = 0; i < data.chinhsuanoidunggopies.length; i++) {\r\n let item = data.chinhsuanoidunggopies[i];\r\n this.chinhsuanoidunggopies[i] = item && !(item).toJSON ? new ChinhsuanoidunggopyEntity(item) : item;\r\n }\r\n }\r\n if (data.donviphoihopxulies) {\r\n this.donviphoihopxulies = [];\r\n for (let i = 0; i < data.donviphoihopxulies.length; i++) {\r\n let item = data.donviphoihopxulies[i];\r\n this.donviphoihopxulies[i] = item && !(item).toJSON ? new DonviphoihopxulyEntity(item) : item;\r\n }\r\n }\r\n if (data.lichsuxulies) {\r\n this.lichsuxulies = [];\r\n for (let i = 0; i < data.lichsuxulies.length; i++) {\r\n let item = data.lichsuxulies[i];\r\n this.lichsuxulies[i] = item && !(item).toJSON ? new LichsuxulyEntity(item) : item;\r\n }\r\n }\r\n if (data.phancongs) {\r\n this.phancongs = [];\r\n for (let i = 0; i < data.phancongs.length; i++) {\r\n let item = data.phancongs[i];\r\n this.phancongs[i] = item && !(item).toJSON ? new PhancongEntity(item) : item;\r\n }\r\n }\r\n if (data.traloiphananhs) {\r\n this.traloiphananhs = [];\r\n for (let i = 0; i < data.traloiphananhs.length; i++) {\r\n let item = data.traloiphananhs[i];\r\n this.traloiphananhs[i] = item && !(item).toJSON ? new TraloiphananhEntity(item) : item;\r\n }\r\n }\r\n if (data.xulygopies) {\r\n this.xulygopies = [];\r\n for (let i = 0; i < data.xulygopies.length; i++) {\r\n let item = data.xulygopies[i];\r\n this.xulygopies[i] = item && !(item).toJSON ? new XulygopyEntity(item) : item;\r\n }\r\n }\r\n this.dmlinhvuc = data.dmlinhvuc && !(data.dmlinhvuc).toJSON ? new DmlinhvucEntity(data.dmlinhvuc) : this.dmlinhvuc; \r\n this.dmtrangthai = data.dmtrangthai && !(data.dmtrangthai).toJSON ? new DmtrangthaiEntity(data.dmtrangthai) : this.dmtrangthai; \r\n this.thanhvien = data.thanhvien && !(data.thanhvien).toJSON ? new ThanhvienEntity(data.thanhvien) : this.thanhvien; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.anh = _data[\"anh\"];\r\n this.diadiem = _data[\"diadiem\"];\r\n this.dichvu = _data[\"dichvu\"];\r\n this.donvixulyid = _data[\"donvixulyid\"];\r\n this.huyen = _data[\"huyen\"];\r\n this.id = _data[\"id\"];\r\n this.idthanhvien = _data[\"idthanhvien\"];\r\n this.ipaddress = _data[\"ipaddress\"];\r\n this.kenhtiepnhan = _data[\"kenhtiepnhan\"];\r\n this.linkvideo = _data[\"linkvideo\"];\r\n this.linhvuc = _data[\"linhvuc\"];\r\n this.luotbinhluan = _data[\"luotbinhluan\"];\r\n this.luotquantam = _data[\"luotquantam\"];\r\n this.luotxem = _data[\"luotxem\"];\r\n this.noidung = _data[\"noidung\"];\r\n this.noidungphanhoi = _data[\"noidungphanhoi\"];\r\n this.noidungtraloi = _data[\"noidungtraloi\"];\r\n this.ngayguigopy = _data[\"ngayguigopy\"] ? new Date(_data[\"ngayguigopy\"].toString()) : undefined;\r\n this.ngaynhangopy = _data[\"ngaynhangopy\"] ? new Date(_data[\"ngaynhangopy\"].toString()) : undefined;\r\n this.phancong = _data[\"phancong\"];\r\n this.tieude = _data[\"tieude\"];\r\n this.tinh = _data[\"tinh\"];\r\n this.thoigianphanhoi = _data[\"thoigianphanhoi\"] ? new Date(_data[\"thoigianphanhoi\"].toString()) : undefined;\r\n this.thoigianxulyngay = _data[\"thoigianxulyngay\"] ? new Date(_data[\"thoigianxulyngay\"].toString()) : undefined;\r\n this.thon = _data[\"thon\"];\r\n this.trangthaihienthi = _data[\"trangthaihienthi\"];\r\n this.trangthaixuly = _data[\"trangthaixuly\"];\r\n this.unitcode = _data[\"unitcode\"];\r\n this.xa = _data[\"xa\"];\r\n this.ykienchuyendonvi = _data[\"ykienchuyendonvi\"];\r\n if (Array.isArray(_data[\"binhluangopies\"])) {\r\n (this).binhluangopies = [] as any;\r\n for (let item of _data[\"binhluangopies\"])\r\n (this).binhluangopies!.push(BinhluangopyEntity.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"chinhsuanoidunggopies\"])) {\r\n (this).chinhsuanoidunggopies = [] as any;\r\n for (let item of _data[\"chinhsuanoidunggopies\"])\r\n (this).chinhsuanoidunggopies!.push(ChinhsuanoidunggopyEntity.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"donviphoihopxulies\"])) {\r\n (this).donviphoihopxulies = [] as any;\r\n for (let item of _data[\"donviphoihopxulies\"])\r\n (this).donviphoihopxulies!.push(DonviphoihopxulyEntity.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lichsuxulies\"])) {\r\n (this).lichsuxulies = [] as any;\r\n for (let item of _data[\"lichsuxulies\"])\r\n (this).lichsuxulies!.push(LichsuxulyEntity.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"phancongs\"])) {\r\n (this).phancongs = [] as any;\r\n for (let item of _data[\"phancongs\"])\r\n (this).phancongs!.push(PhancongEntity.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"traloiphananhs\"])) {\r\n (this).traloiphananhs = [] as any;\r\n for (let item of _data[\"traloiphananhs\"])\r\n (this).traloiphananhs!.push(TraloiphananhEntity.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"xulygopies\"])) {\r\n (this).xulygopies = [] as any;\r\n for (let item of _data[\"xulygopies\"])\r\n (this).xulygopies!.push(XulygopyEntity.fromJS(item));\r\n }\r\n this.dmlinhvuc = _data[\"dmlinhvuc\"] ? DmlinhvucEntity.fromJS(_data[\"dmlinhvuc\"]) : undefined;\r\n this.dmtrangthai = _data[\"dmtrangthai\"] ? DmtrangthaiEntity.fromJS(_data[\"dmtrangthai\"]) : undefined;\r\n this.thanhvien = _data[\"thanhvien\"] ? ThanhvienEntity.fromJS(_data[\"thanhvien\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): NoidunggopyEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NoidunggopyEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"anh\"] = this.anh;\r\n data[\"diadiem\"] = this.diadiem;\r\n data[\"dichvu\"] = this.dichvu;\r\n data[\"donvixulyid\"] = this.donvixulyid;\r\n data[\"huyen\"] = this.huyen;\r\n data[\"id\"] = this.id;\r\n data[\"idthanhvien\"] = this.idthanhvien;\r\n data[\"ipaddress\"] = this.ipaddress;\r\n data[\"kenhtiepnhan\"] = this.kenhtiepnhan;\r\n data[\"linkvideo\"] = this.linkvideo;\r\n data[\"linhvuc\"] = this.linhvuc;\r\n data[\"luotbinhluan\"] = this.luotbinhluan;\r\n data[\"luotquantam\"] = this.luotquantam;\r\n data[\"luotxem\"] = this.luotxem;\r\n data[\"noidung\"] = this.noidung;\r\n data[\"noidungphanhoi\"] = this.noidungphanhoi;\r\n data[\"noidungtraloi\"] = this.noidungtraloi;\r\n data[\"ngayguigopy\"] = this.ngayguigopy ? this.ngayguigopy.toISOString() : undefined;\r\n data[\"ngaynhangopy\"] = this.ngaynhangopy ? this.ngaynhangopy.toISOString() : undefined;\r\n data[\"phancong\"] = this.phancong;\r\n data[\"tieude\"] = this.tieude;\r\n data[\"tinh\"] = this.tinh;\r\n data[\"thoigianphanhoi\"] = this.thoigianphanhoi ? this.thoigianphanhoi.toISOString() : undefined;\r\n data[\"thoigianxulyngay\"] = this.thoigianxulyngay ? this.thoigianxulyngay.toISOString() : undefined;\r\n data[\"thon\"] = this.thon;\r\n data[\"trangthaihienthi\"] = this.trangthaihienthi;\r\n data[\"trangthaixuly\"] = this.trangthaixuly;\r\n data[\"unitcode\"] = this.unitcode;\r\n data[\"xa\"] = this.xa;\r\n data[\"ykienchuyendonvi\"] = this.ykienchuyendonvi;\r\n if (Array.isArray(this.binhluangopies)) {\r\n data[\"binhluangopies\"] = [];\r\n for (let item of this.binhluangopies)\r\n data[\"binhluangopies\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.chinhsuanoidunggopies)) {\r\n data[\"chinhsuanoidunggopies\"] = [];\r\n for (let item of this.chinhsuanoidunggopies)\r\n data[\"chinhsuanoidunggopies\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.donviphoihopxulies)) {\r\n data[\"donviphoihopxulies\"] = [];\r\n for (let item of this.donviphoihopxulies)\r\n data[\"donviphoihopxulies\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lichsuxulies)) {\r\n data[\"lichsuxulies\"] = [];\r\n for (let item of this.lichsuxulies)\r\n data[\"lichsuxulies\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.phancongs)) {\r\n data[\"phancongs\"] = [];\r\n for (let item of this.phancongs)\r\n data[\"phancongs\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.traloiphananhs)) {\r\n data[\"traloiphananhs\"] = [];\r\n for (let item of this.traloiphananhs)\r\n data[\"traloiphananhs\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.xulygopies)) {\r\n data[\"xulygopies\"] = [];\r\n for (let item of this.xulygopies)\r\n data[\"xulygopies\"].push(item.toJSON());\r\n }\r\n data[\"dmlinhvuc\"] = this.dmlinhvuc ? this.dmlinhvuc.toJSON() : undefined;\r\n data[\"dmtrangthai\"] = this.dmtrangthai ? this.dmtrangthai.toJSON() : undefined;\r\n data[\"thanhvien\"] = this.thanhvien ? this.thanhvien.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): NoidunggopyEntity {\r\n const json = this.toJSON();\r\n let result = new NoidunggopyEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INoidunggopyEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n anh?: string | undefined;\r\n diadiem?: string | undefined;\r\n dichvu?: string | undefined;\r\n donvixulyid?: number | undefined;\r\n huyen?: number | undefined;\r\n id?: number;\r\n idthanhvien?: number;\r\n ipaddress?: string | undefined;\r\n kenhtiepnhan?: string | undefined;\r\n linkvideo?: string | undefined;\r\n linhvuc?: number | undefined;\r\n luotbinhluan?: number | undefined;\r\n luotquantam?: number | undefined;\r\n luotxem?: number | undefined;\r\n noidung?: string | undefined;\r\n noidungphanhoi?: string | undefined;\r\n noidungtraloi?: string | undefined;\r\n ngayguigopy?: Date;\r\n ngaynhangopy?: Date | undefined;\r\n phancong?: number | undefined;\r\n tieude?: string | undefined;\r\n tinh?: number | undefined;\r\n thoigianphanhoi?: Date | undefined;\r\n thoigianxulyngay?: Date | undefined;\r\n thon?: number | undefined;\r\n trangthaihienthi?: number | undefined;\r\n trangthaixuly?: number;\r\n unitcode?: string | undefined;\r\n xa?: number | undefined;\r\n ykienchuyendonvi?: string | undefined;\r\n binhluangopies?: IBinhluangopyEntity[] | undefined;\r\n chinhsuanoidunggopies?: IChinhsuanoidunggopyEntity[] | undefined;\r\n donviphoihopxulies?: IDonviphoihopxulyEntity[] | undefined;\r\n lichsuxulies?: ILichsuxulyEntity[] | undefined;\r\n phancongs?: IPhancongEntity[] | undefined;\r\n traloiphananhs?: ITraloiphananhEntity[] | undefined;\r\n xulygopies?: IXulygopyEntity[] | undefined;\r\n dmlinhvuc?: IDmlinhvucEntity;\r\n dmtrangthai?: IDmtrangthaiEntity;\r\n thanhvien?: IThanhvienEntity;\r\n}\r\n\r\nexport class NoidunggopyEntityApiResponse implements INoidunggopyEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: NoidunggopyEntity;\r\n\r\n constructor(data?: INoidunggopyEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new NoidunggopyEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? NoidunggopyEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): NoidunggopyEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NoidunggopyEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): NoidunggopyEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new NoidunggopyEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INoidunggopyEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: INoidunggopyEntity;\r\n}\r\n\r\nexport class NotificationEntity implements INotificationEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n createDate?: Date;\r\n id?: number;\r\n idNoiDung?: number | undefined;\r\n idProvider?: string | undefined;\r\n isRead?: boolean;\r\n message?: string | undefined;\r\n title?: string | undefined;\r\n\r\n constructor(data?: INotificationEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.createDate = _data[\"createDate\"] ? new Date(_data[\"createDate\"].toString()) : undefined;\r\n this.id = _data[\"id\"];\r\n this.idNoiDung = _data[\"idNoiDung\"];\r\n this.idProvider = _data[\"idProvider\"];\r\n this.isRead = _data[\"isRead\"];\r\n this.message = _data[\"message\"];\r\n this.title = _data[\"title\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NotificationEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NotificationEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"createDate\"] = this.createDate ? this.createDate.toISOString() : undefined;\r\n data[\"id\"] = this.id;\r\n data[\"idNoiDung\"] = this.idNoiDung;\r\n data[\"idProvider\"] = this.idProvider;\r\n data[\"isRead\"] = this.isRead;\r\n data[\"message\"] = this.message;\r\n data[\"title\"] = this.title;\r\n return data; \r\n }\r\n\r\n clone(): NotificationEntity {\r\n const json = this.toJSON();\r\n let result = new NotificationEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INotificationEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n createDate?: Date;\r\n id?: number;\r\n idNoiDung?: number | undefined;\r\n idProvider?: string | undefined;\r\n isRead?: boolean;\r\n message?: string | undefined;\r\n title?: string | undefined;\r\n}\r\n\r\nexport class NotificationEntityApiResponse implements INotificationEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: NotificationEntity;\r\n\r\n constructor(data?: INotificationEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new NotificationEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? NotificationEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): NotificationEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NotificationEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): NotificationEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new NotificationEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INotificationEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: INotificationEntity;\r\n}\r\n\r\nexport class NotiModel implements INotiModel {\r\n id?: number;\r\n idProvider?: string | undefined;\r\n title?: string | undefined;\r\n idNoiDung?: number | undefined;\r\n message?: string | undefined;\r\n isRead?: boolean;\r\n createDate?: Date;\r\n\r\n constructor(data?: INotiModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.idProvider = _data[\"idProvider\"];\r\n this.title = _data[\"title\"];\r\n this.idNoiDung = _data[\"idNoiDung\"];\r\n this.message = _data[\"message\"];\r\n this.isRead = _data[\"isRead\"];\r\n this.createDate = _data[\"createDate\"] ? new Date(_data[\"createDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): NotiModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NotiModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"idProvider\"] = this.idProvider;\r\n data[\"title\"] = this.title;\r\n data[\"idNoiDung\"] = this.idNoiDung;\r\n data[\"message\"] = this.message;\r\n data[\"isRead\"] = this.isRead;\r\n data[\"createDate\"] = this.createDate ? this.createDate.toISOString() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): NotiModel {\r\n const json = this.toJSON();\r\n let result = new NotiModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INotiModel {\r\n id?: number;\r\n idProvider?: string | undefined;\r\n title?: string | undefined;\r\n idNoiDung?: number | undefined;\r\n message?: string | undefined;\r\n isRead?: boolean;\r\n createDate?: Date;\r\n}\r\n\r\nexport class NotiModelListApiResponse implements INotiModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: NotiModel[] | undefined;\r\n\r\n constructor(data?: INotiModelListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new NotiModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(NotiModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): NotiModelListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NotiModelListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): NotiModelListApiResponse {\r\n const json = this.toJSON();\r\n let result = new NotiModelListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INotiModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: INotiModel[] | undefined;\r\n}\r\n\r\nexport class NumberFormatInfo implements INumberFormatInfo {\r\n currencyDecimalDigits?: number;\r\n currencyDecimalSeparator?: string | undefined;\r\n readonly isReadOnly?: boolean;\r\n currencyGroupSizes?: number[] | undefined;\r\n numberGroupSizes?: number[] | undefined;\r\n percentGroupSizes?: number[] | undefined;\r\n currencyGroupSeparator?: string | undefined;\r\n currencySymbol?: string | undefined;\r\n naNSymbol?: string | undefined;\r\n currencyNegativePattern?: number;\r\n numberNegativePattern?: number;\r\n percentPositivePattern?: number;\r\n percentNegativePattern?: number;\r\n negativeInfinitySymbol?: string | undefined;\r\n negativeSign?: string | undefined;\r\n numberDecimalDigits?: number;\r\n numberDecimalSeparator?: string | undefined;\r\n numberGroupSeparator?: string | undefined;\r\n currencyPositivePattern?: number;\r\n positiveInfinitySymbol?: string | undefined;\r\n positiveSign?: string | undefined;\r\n percentDecimalDigits?: number;\r\n percentDecimalSeparator?: string | undefined;\r\n percentGroupSeparator?: string | undefined;\r\n percentSymbol?: string | undefined;\r\n perMilleSymbol?: string | undefined;\r\n nativeDigits?: string[] | undefined;\r\n digitSubstitution?: DigitShapes;\r\n\r\n constructor(data?: INumberFormatInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.currencyDecimalDigits = _data[\"currencyDecimalDigits\"];\r\n this.currencyDecimalSeparator = _data[\"currencyDecimalSeparator\"];\r\n (this).isReadOnly = _data[\"isReadOnly\"];\r\n if (Array.isArray(_data[\"currencyGroupSizes\"])) {\r\n this.currencyGroupSizes = [] as any;\r\n for (let item of _data[\"currencyGroupSizes\"])\r\n this.currencyGroupSizes!.push(item);\r\n }\r\n if (Array.isArray(_data[\"numberGroupSizes\"])) {\r\n this.numberGroupSizes = [] as any;\r\n for (let item of _data[\"numberGroupSizes\"])\r\n this.numberGroupSizes!.push(item);\r\n }\r\n if (Array.isArray(_data[\"percentGroupSizes\"])) {\r\n this.percentGroupSizes = [] as any;\r\n for (let item of _data[\"percentGroupSizes\"])\r\n this.percentGroupSizes!.push(item);\r\n }\r\n this.currencyGroupSeparator = _data[\"currencyGroupSeparator\"];\r\n this.currencySymbol = _data[\"currencySymbol\"];\r\n this.naNSymbol = _data[\"naNSymbol\"];\r\n this.currencyNegativePattern = _data[\"currencyNegativePattern\"];\r\n this.numberNegativePattern = _data[\"numberNegativePattern\"];\r\n this.percentPositivePattern = _data[\"percentPositivePattern\"];\r\n this.percentNegativePattern = _data[\"percentNegativePattern\"];\r\n this.negativeInfinitySymbol = _data[\"negativeInfinitySymbol\"];\r\n this.negativeSign = _data[\"negativeSign\"];\r\n this.numberDecimalDigits = _data[\"numberDecimalDigits\"];\r\n this.numberDecimalSeparator = _data[\"numberDecimalSeparator\"];\r\n this.numberGroupSeparator = _data[\"numberGroupSeparator\"];\r\n this.currencyPositivePattern = _data[\"currencyPositivePattern\"];\r\n this.positiveInfinitySymbol = _data[\"positiveInfinitySymbol\"];\r\n this.positiveSign = _data[\"positiveSign\"];\r\n this.percentDecimalDigits = _data[\"percentDecimalDigits\"];\r\n this.percentDecimalSeparator = _data[\"percentDecimalSeparator\"];\r\n this.percentGroupSeparator = _data[\"percentGroupSeparator\"];\r\n this.percentSymbol = _data[\"percentSymbol\"];\r\n this.perMilleSymbol = _data[\"perMilleSymbol\"];\r\n if (Array.isArray(_data[\"nativeDigits\"])) {\r\n this.nativeDigits = [] as any;\r\n for (let item of _data[\"nativeDigits\"])\r\n this.nativeDigits!.push(item);\r\n }\r\n this.digitSubstitution = _data[\"digitSubstitution\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NumberFormatInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NumberFormatInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"currencyDecimalDigits\"] = this.currencyDecimalDigits;\r\n data[\"currencyDecimalSeparator\"] = this.currencyDecimalSeparator;\r\n data[\"isReadOnly\"] = this.isReadOnly;\r\n if (Array.isArray(this.currencyGroupSizes)) {\r\n data[\"currencyGroupSizes\"] = [];\r\n for (let item of this.currencyGroupSizes)\r\n data[\"currencyGroupSizes\"].push(item);\r\n }\r\n if (Array.isArray(this.numberGroupSizes)) {\r\n data[\"numberGroupSizes\"] = [];\r\n for (let item of this.numberGroupSizes)\r\n data[\"numberGroupSizes\"].push(item);\r\n }\r\n if (Array.isArray(this.percentGroupSizes)) {\r\n data[\"percentGroupSizes\"] = [];\r\n for (let item of this.percentGroupSizes)\r\n data[\"percentGroupSizes\"].push(item);\r\n }\r\n data[\"currencyGroupSeparator\"] = this.currencyGroupSeparator;\r\n data[\"currencySymbol\"] = this.currencySymbol;\r\n data[\"naNSymbol\"] = this.naNSymbol;\r\n data[\"currencyNegativePattern\"] = this.currencyNegativePattern;\r\n data[\"numberNegativePattern\"] = this.numberNegativePattern;\r\n data[\"percentPositivePattern\"] = this.percentPositivePattern;\r\n data[\"percentNegativePattern\"] = this.percentNegativePattern;\r\n data[\"negativeInfinitySymbol\"] = this.negativeInfinitySymbol;\r\n data[\"negativeSign\"] = this.negativeSign;\r\n data[\"numberDecimalDigits\"] = this.numberDecimalDigits;\r\n data[\"numberDecimalSeparator\"] = this.numberDecimalSeparator;\r\n data[\"numberGroupSeparator\"] = this.numberGroupSeparator;\r\n data[\"currencyPositivePattern\"] = this.currencyPositivePattern;\r\n data[\"positiveInfinitySymbol\"] = this.positiveInfinitySymbol;\r\n data[\"positiveSign\"] = this.positiveSign;\r\n data[\"percentDecimalDigits\"] = this.percentDecimalDigits;\r\n data[\"percentDecimalSeparator\"] = this.percentDecimalSeparator;\r\n data[\"percentGroupSeparator\"] = this.percentGroupSeparator;\r\n data[\"percentSymbol\"] = this.percentSymbol;\r\n data[\"perMilleSymbol\"] = this.perMilleSymbol;\r\n if (Array.isArray(this.nativeDigits)) {\r\n data[\"nativeDigits\"] = [];\r\n for (let item of this.nativeDigits)\r\n data[\"nativeDigits\"].push(item);\r\n }\r\n data[\"digitSubstitution\"] = this.digitSubstitution;\r\n return data; \r\n }\r\n\r\n clone(): NumberFormatInfo {\r\n const json = this.toJSON();\r\n let result = new NumberFormatInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INumberFormatInfo {\r\n currencyDecimalDigits?: number;\r\n currencyDecimalSeparator?: string | undefined;\r\n isReadOnly?: boolean;\r\n currencyGroupSizes?: number[] | undefined;\r\n numberGroupSizes?: number[] | undefined;\r\n percentGroupSizes?: number[] | undefined;\r\n currencyGroupSeparator?: string | undefined;\r\n currencySymbol?: string | undefined;\r\n naNSymbol?: string | undefined;\r\n currencyNegativePattern?: number;\r\n numberNegativePattern?: number;\r\n percentPositivePattern?: number;\r\n percentNegativePattern?: number;\r\n negativeInfinitySymbol?: string | undefined;\r\n negativeSign?: string | undefined;\r\n numberDecimalDigits?: number;\r\n numberDecimalSeparator?: string | undefined;\r\n numberGroupSeparator?: string | undefined;\r\n currencyPositivePattern?: number;\r\n positiveInfinitySymbol?: string | undefined;\r\n positiveSign?: string | undefined;\r\n percentDecimalDigits?: number;\r\n percentDecimalSeparator?: string | undefined;\r\n percentGroupSeparator?: string | undefined;\r\n percentSymbol?: string | undefined;\r\n perMilleSymbol?: string | undefined;\r\n nativeDigits?: string[] | undefined;\r\n digitSubstitution?: DigitShapes;\r\n}\r\n\r\nexport class ObjectApiResponse implements IObjectApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: any | undefined;\r\n\r\n constructor(data?: IObjectApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ObjectApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ObjectApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data;\r\n return data; \r\n }\r\n\r\n clone(): ObjectApiResponse {\r\n const json = this.toJSON();\r\n let result = new ObjectApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IObjectApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: any | undefined;\r\n}\r\n\r\nexport class ObjectIEnumerableApiResponse implements IObjectIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: any[] | undefined;\r\n\r\n constructor(data?: IObjectIEnumerableApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ObjectIEnumerableApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ObjectIEnumerableApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item);\r\n }\r\n return data; \r\n }\r\n\r\n clone(): ObjectIEnumerableApiResponse {\r\n const json = this.toJSON();\r\n let result = new ObjectIEnumerableApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IObjectIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: any[] | undefined;\r\n}\r\n\r\nexport class ObjectIEnumerablePageModelView implements IObjectIEnumerablePageModelView {\r\n data?: any[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IObjectIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(item);\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ObjectIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ObjectIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item);\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data; \r\n }\r\n\r\n clone(): ObjectIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new ObjectIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IObjectIEnumerablePageModelView {\r\n data?: any[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class ObjectIEnumerablePageModelViewApiResponse implements IObjectIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ObjectIEnumerablePageModelView;\r\n\r\n constructor(data?: IObjectIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ObjectIEnumerablePageModelView(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ObjectIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ObjectIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ObjectIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): ObjectIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new ObjectIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IObjectIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IObjectIEnumerablePageModelView;\r\n}\r\n\r\nexport class PageModel implements IPageModel {\r\n search?: string | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n condition?: string | undefined;\r\n sortColumn?: string | undefined;\r\n sortExpression?: string | undefined;\r\n status?: string | undefined;\r\n columnName?: string | undefined;\r\n\r\n constructor(data?: IPageModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.search = _data[\"search\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.condition = _data[\"condition\"];\r\n this.sortColumn = _data[\"sortColumn\"];\r\n this.sortExpression = _data[\"sortExpression\"];\r\n this.status = _data[\"status\"];\r\n this.columnName = _data[\"columnName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PageModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PageModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"search\"] = this.search;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"condition\"] = this.condition;\r\n data[\"sortColumn\"] = this.sortColumn;\r\n data[\"sortExpression\"] = this.sortExpression;\r\n data[\"status\"] = this.status;\r\n data[\"columnName\"] = this.columnName;\r\n return data; \r\n }\r\n\r\n clone(): PageModel {\r\n const json = this.toJSON();\r\n let result = new PageModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPageModel {\r\n search?: string | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n condition?: string | undefined;\r\n sortColumn?: string | undefined;\r\n sortExpression?: string | undefined;\r\n status?: string | undefined;\r\n columnName?: string | undefined;\r\n}\r\n\r\nexport class PageModelBaoCaoThongKeModel implements IPageModelBaoCaoThongKeModel {\r\n search?: string | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n condition?: string | undefined;\r\n sortColumn?: string | undefined;\r\n sortExpression?: string | undefined;\r\n status?: string | undefined;\r\n columnName?: string | undefined;\r\n quanHuyen?: number | undefined;\r\n phuongXa?: number | undefined;\r\n donVi?: number | undefined;\r\n linhVuc?: number | undefined;\r\n trangThai?: string | undefined;\r\n tuNgay?: Date | undefined;\r\n denNgay?: Date | undefined;\r\n\r\n constructor(data?: IPageModelBaoCaoThongKeModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.search = _data[\"search\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.condition = _data[\"condition\"];\r\n this.sortColumn = _data[\"sortColumn\"];\r\n this.sortExpression = _data[\"sortExpression\"];\r\n this.status = _data[\"status\"];\r\n this.columnName = _data[\"columnName\"];\r\n this.quanHuyen = _data[\"quanHuyen\"];\r\n this.phuongXa = _data[\"phuongXa\"];\r\n this.donVi = _data[\"donVi\"];\r\n this.linhVuc = _data[\"linhVuc\"];\r\n this.trangThai = _data[\"trangThai\"];\r\n this.tuNgay = _data[\"tuNgay\"] ? new Date(_data[\"tuNgay\"].toString()) : undefined;\r\n this.denNgay = _data[\"denNgay\"] ? new Date(_data[\"denNgay\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PageModelBaoCaoThongKeModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PageModelBaoCaoThongKeModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"search\"] = this.search;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"condition\"] = this.condition;\r\n data[\"sortColumn\"] = this.sortColumn;\r\n data[\"sortExpression\"] = this.sortExpression;\r\n data[\"status\"] = this.status;\r\n data[\"columnName\"] = this.columnName;\r\n data[\"quanHuyen\"] = this.quanHuyen;\r\n data[\"phuongXa\"] = this.phuongXa;\r\n data[\"donVi\"] = this.donVi;\r\n data[\"linhVuc\"] = this.linhVuc;\r\n data[\"trangThai\"] = this.trangThai;\r\n data[\"tuNgay\"] = this.tuNgay ? this.tuNgay.toISOString() : undefined;\r\n data[\"denNgay\"] = this.denNgay ? this.denNgay.toISOString() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): PageModelBaoCaoThongKeModel {\r\n const json = this.toJSON();\r\n let result = new PageModelBaoCaoThongKeModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPageModelBaoCaoThongKeModel {\r\n search?: string | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n condition?: string | undefined;\r\n sortColumn?: string | undefined;\r\n sortExpression?: string | undefined;\r\n status?: string | undefined;\r\n columnName?: string | undefined;\r\n quanHuyen?: number | undefined;\r\n phuongXa?: number | undefined;\r\n donVi?: number | undefined;\r\n linhVuc?: number | undefined;\r\n trangThai?: string | undefined;\r\n tuNgay?: Date | undefined;\r\n denNgay?: Date | undefined;\r\n}\r\n\r\nexport enum ParameterAttributes {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _4 = 4,\r\n _8 = 8,\r\n _16 = 16,\r\n _4096 = 4096,\r\n _8192 = 8192,\r\n _16384 = 16384,\r\n _32768 = 32768,\r\n _61440 = 61440,\r\n}\r\n\r\nexport enum ParameterDirection {\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _6 = 6,\r\n}\r\n\r\nexport class ParameterInfo implements IParameterInfo {\r\n attributes?: ParameterAttributes;\r\n member?: MemberInfo;\r\n readonly name?: string | undefined;\r\n parameterType?: Type;\r\n readonly position?: number;\r\n readonly isIn?: boolean;\r\n readonly isLcid?: boolean;\r\n readonly isOptional?: boolean;\r\n readonly isOut?: boolean;\r\n readonly isRetval?: boolean;\r\n readonly defaultValue?: any | undefined;\r\n readonly rawDefaultValue?: any | undefined;\r\n readonly hasDefaultValue?: boolean;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly metadataToken?: number;\r\n\r\n constructor(data?: IParameterInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.member = data.member && !(data.member).toJSON ? new MemberInfo(data.member) : this.member; \r\n this.parameterType = data.parameterType && !(data.parameterType).toJSON ? new Type(data.parameterType) : this.parameterType; \r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.attributes = _data[\"attributes\"];\r\n this.member = _data[\"member\"] ? MemberInfo.fromJS(_data[\"member\"]) : undefined;\r\n (this).name = _data[\"name\"];\r\n this.parameterType = _data[\"parameterType\"] ? Type.fromJS(_data[\"parameterType\"]) : undefined;\r\n (this).position = _data[\"position\"];\r\n (this).isIn = _data[\"isIn\"];\r\n (this).isLcid = _data[\"isLcid\"];\r\n (this).isOptional = _data[\"isOptional\"];\r\n (this).isOut = _data[\"isOut\"];\r\n (this).isRetval = _data[\"isRetval\"];\r\n (this).defaultValue = _data[\"defaultValue\"];\r\n (this).rawDefaultValue = _data[\"rawDefaultValue\"];\r\n (this).hasDefaultValue = _data[\"hasDefaultValue\"];\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ParameterInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ParameterInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"attributes\"] = this.attributes;\r\n data[\"member\"] = this.member ? this.member.toJSON() : undefined;\r\n data[\"name\"] = this.name;\r\n data[\"parameterType\"] = this.parameterType ? this.parameterType.toJSON() : undefined;\r\n data[\"position\"] = this.position;\r\n data[\"isIn\"] = this.isIn;\r\n data[\"isLcid\"] = this.isLcid;\r\n data[\"isOptional\"] = this.isOptional;\r\n data[\"isOut\"] = this.isOut;\r\n data[\"isRetval\"] = this.isRetval;\r\n data[\"defaultValue\"] = this.defaultValue;\r\n data[\"rawDefaultValue\"] = this.rawDefaultValue;\r\n data[\"hasDefaultValue\"] = this.hasDefaultValue;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"metadataToken\"] = this.metadataToken;\r\n return data; \r\n }\r\n\r\n clone(): ParameterInfo {\r\n const json = this.toJSON();\r\n let result = new ParameterInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IParameterInfo {\r\n attributes?: ParameterAttributes;\r\n member?: IMemberInfo;\r\n name?: string | undefined;\r\n parameterType?: IType;\r\n position?: number;\r\n isIn?: boolean;\r\n isLcid?: boolean;\r\n isOptional?: boolean;\r\n isOut?: boolean;\r\n isRetval?: boolean;\r\n defaultValue?: any | undefined;\r\n rawDefaultValue?: any | undefined;\r\n hasDefaultValue?: boolean;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n metadataToken?: number;\r\n}\r\n\r\nexport class PhancongEntity implements IPhancongEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n noidungid?: number;\r\n ngayphancong?: Date | undefined;\r\n nhanvienid?: number;\r\n xulydenngay?: Date;\r\n ykien?: string | undefined;\r\n readonly nhanvienphoihops?: NhanvienphoihopEntity[] | undefined;\r\n noidunggopy?: NoidunggopyEntity;\r\n\r\n constructor(data?: IPhancongEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n if (data.nhanvienphoihops) {\r\n this.nhanvienphoihops = [];\r\n for (let i = 0; i < data.nhanvienphoihops.length; i++) {\r\n let item = data.nhanvienphoihops[i];\r\n this.nhanvienphoihops[i] = item && !(item).toJSON ? new NhanvienphoihopEntity(item) : item;\r\n }\r\n }\r\n this.noidunggopy = data.noidunggopy && !(data.noidunggopy).toJSON ? new NoidunggopyEntity(data.noidunggopy) : this.noidunggopy; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.id = _data[\"id\"];\r\n this.noidungid = _data[\"noidungid\"];\r\n this.ngayphancong = _data[\"ngayphancong\"] ? new Date(_data[\"ngayphancong\"].toString()) : undefined;\r\n this.nhanvienid = _data[\"nhanvienid\"];\r\n this.xulydenngay = _data[\"xulydenngay\"] ? new Date(_data[\"xulydenngay\"].toString()) : undefined;\r\n this.ykien = _data[\"ykien\"];\r\n if (Array.isArray(_data[\"nhanvienphoihops\"])) {\r\n (this).nhanvienphoihops = [] as any;\r\n for (let item of _data[\"nhanvienphoihops\"])\r\n (this).nhanvienphoihops!.push(NhanvienphoihopEntity.fromJS(item));\r\n }\r\n this.noidunggopy = _data[\"noidunggopy\"] ? NoidunggopyEntity.fromJS(_data[\"noidunggopy\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PhancongEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PhancongEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"id\"] = this.id;\r\n data[\"noidungid\"] = this.noidungid;\r\n data[\"ngayphancong\"] = this.ngayphancong ? this.ngayphancong.toISOString() : undefined;\r\n data[\"nhanvienid\"] = this.nhanvienid;\r\n data[\"xulydenngay\"] = this.xulydenngay ? this.xulydenngay.toISOString() : undefined;\r\n data[\"ykien\"] = this.ykien;\r\n if (Array.isArray(this.nhanvienphoihops)) {\r\n data[\"nhanvienphoihops\"] = [];\r\n for (let item of this.nhanvienphoihops)\r\n data[\"nhanvienphoihops\"].push(item.toJSON());\r\n }\r\n data[\"noidunggopy\"] = this.noidunggopy ? this.noidunggopy.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): PhancongEntity {\r\n const json = this.toJSON();\r\n let result = new PhancongEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPhancongEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n noidungid?: number;\r\n ngayphancong?: Date | undefined;\r\n nhanvienid?: number;\r\n xulydenngay?: Date;\r\n ykien?: string | undefined;\r\n nhanvienphoihops?: INhanvienphoihopEntity[] | undefined;\r\n noidunggopy?: INoidunggopyEntity;\r\n}\r\n\r\nexport class PhancongEntityApiResponse implements IPhancongEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: PhancongEntity;\r\n\r\n constructor(data?: IPhancongEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new PhancongEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? PhancongEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PhancongEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PhancongEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): PhancongEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new PhancongEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPhancongEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IPhancongEntity;\r\n}\r\n\r\nexport class PhanCongXuLyItemModel implements IPhanCongXuLyItemModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n trangThaiXuLy?: string | undefined;\r\n ngayGopY?: Date;\r\n\r\n constructor(data?: IPhanCongXuLyItemModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tieuDe = _data[\"tieuDe\"];\r\n this.trangThaiXuLy = _data[\"trangThaiXuLy\"];\r\n this.ngayGopY = _data[\"ngayGopY\"] ? new Date(_data[\"ngayGopY\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PhanCongXuLyItemModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PhanCongXuLyItemModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tieuDe\"] = this.tieuDe;\r\n data[\"trangThaiXuLy\"] = this.trangThaiXuLy;\r\n data[\"ngayGopY\"] = this.ngayGopY ? this.ngayGopY.toISOString() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): PhanCongXuLyItemModel {\r\n const json = this.toJSON();\r\n let result = new PhanCongXuLyItemModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPhanCongXuLyItemModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n trangThaiXuLy?: string | undefined;\r\n ngayGopY?: Date;\r\n}\r\n\r\nexport class PhanCongXuLyItemModelListApiResponse implements IPhanCongXuLyItemModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: PhanCongXuLyItemModel[] | undefined;\r\n\r\n constructor(data?: IPhanCongXuLyItemModelListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new PhanCongXuLyItemModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(PhanCongXuLyItemModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): PhanCongXuLyItemModelListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PhanCongXuLyItemModelListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): PhanCongXuLyItemModelListApiResponse {\r\n const json = this.toJSON();\r\n let result = new PhanCongXuLyItemModelListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPhanCongXuLyItemModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IPhanCongXuLyItemModel[] | undefined;\r\n}\r\n\r\nexport class PhanCongXuLyNguoiGuiGopYModel implements IPhanCongXuLyNguoiGuiGopYModel {\r\n fullName?: string | undefined;\r\n phone?: string | undefined;\r\n email?: string | undefined;\r\n\r\n constructor(data?: IPhanCongXuLyNguoiGuiGopYModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fullName = _data[\"fullName\"];\r\n this.phone = _data[\"phone\"];\r\n this.email = _data[\"email\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PhanCongXuLyNguoiGuiGopYModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PhanCongXuLyNguoiGuiGopYModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fullName\"] = this.fullName;\r\n data[\"phone\"] = this.phone;\r\n data[\"email\"] = this.email;\r\n return data; \r\n }\r\n\r\n clone(): PhanCongXuLyNguoiGuiGopYModel {\r\n const json = this.toJSON();\r\n let result = new PhanCongXuLyNguoiGuiGopYModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPhanCongXuLyNguoiGuiGopYModel {\r\n fullName?: string | undefined;\r\n phone?: string | undefined;\r\n email?: string | undefined;\r\n}\r\n\r\nexport class PhanCongXuLyRequestModel implements IPhanCongXuLyRequestModel {\r\n search?: string | undefined;\r\n tinhTrangId?: number | undefined;\r\n orderDESCBy?: string | undefined;\r\n currentPage?: number;\r\n\r\n constructor(data?: IPhanCongXuLyRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.search = _data[\"search\"];\r\n this.tinhTrangId = _data[\"tinhTrangId\"];\r\n this.orderDESCBy = _data[\"orderDESCBy\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PhanCongXuLyRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PhanCongXuLyRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"search\"] = this.search;\r\n data[\"tinhTrangId\"] = this.tinhTrangId;\r\n data[\"orderDESCBy\"] = this.orderDESCBy;\r\n data[\"currentPage\"] = this.currentPage;\r\n return data; \r\n }\r\n\r\n clone(): PhanCongXuLyRequestModel {\r\n const json = this.toJSON();\r\n let result = new PhanCongXuLyRequestModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPhanCongXuLyRequestModel {\r\n search?: string | undefined;\r\n tinhTrangId?: number | undefined;\r\n orderDESCBy?: string | undefined;\r\n currentPage?: number;\r\n}\r\n\r\nexport class PhanCongXuLyThucHienPhanCongModel implements IPhanCongXuLyThucHienPhanCongModel {\r\n noiDungId?: number;\r\n idCanBo?: number;\r\n tenCanBo?: string | undefined;\r\n lstNhanVienPhoiHop?: number[] | undefined;\r\n xuLyDenNgay?: Date;\r\n yKien?: string | undefined;\r\n\r\n constructor(data?: IPhanCongXuLyThucHienPhanCongModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.noiDungId = _data[\"noiDungId\"];\r\n this.idCanBo = _data[\"idCanBo\"];\r\n this.tenCanBo = _data[\"tenCanBo\"];\r\n if (Array.isArray(_data[\"lstNhanVienPhoiHop\"])) {\r\n this.lstNhanVienPhoiHop = [] as any;\r\n for (let item of _data[\"lstNhanVienPhoiHop\"])\r\n this.lstNhanVienPhoiHop!.push(item);\r\n }\r\n this.xuLyDenNgay = _data[\"xuLyDenNgay\"] ? new Date(_data[\"xuLyDenNgay\"].toString()) : undefined;\r\n this.yKien = _data[\"yKien\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PhanCongXuLyThucHienPhanCongModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PhanCongXuLyThucHienPhanCongModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"noiDungId\"] = this.noiDungId;\r\n data[\"idCanBo\"] = this.idCanBo;\r\n data[\"tenCanBo\"] = this.tenCanBo;\r\n if (Array.isArray(this.lstNhanVienPhoiHop)) {\r\n data[\"lstNhanVienPhoiHop\"] = [];\r\n for (let item of this.lstNhanVienPhoiHop)\r\n data[\"lstNhanVienPhoiHop\"].push(item);\r\n }\r\n data[\"xuLyDenNgay\"] = this.xuLyDenNgay ? this.xuLyDenNgay.toISOString() : undefined;\r\n data[\"yKien\"] = this.yKien;\r\n return data; \r\n }\r\n\r\n clone(): PhanCongXuLyThucHienPhanCongModel {\r\n const json = this.toJSON();\r\n let result = new PhanCongXuLyThucHienPhanCongModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPhanCongXuLyThucHienPhanCongModel {\r\n noiDungId?: number;\r\n idCanBo?: number;\r\n tenCanBo?: string | undefined;\r\n lstNhanVienPhoiHop?: number[] | undefined;\r\n xuLyDenNgay?: Date;\r\n yKien?: string | undefined;\r\n}\r\n\r\nexport class PhanHoiGopYModel implements IPhanHoiGopYModel {\r\n noiDungId?: number;\r\n noiDungTraLoi?: string | undefined;\r\n lstFiles?: FilePhanHoiGopYModel[] | undefined;\r\n chiaSe?: boolean;\r\n isChangeContent?: boolean;\r\n thongTinEdit?: ThongTinPhanHoiEditModel;\r\n\r\n constructor(data?: IPhanHoiGopYModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstFiles) {\r\n this.lstFiles = [];\r\n for (let i = 0; i < data.lstFiles.length; i++) {\r\n let item = data.lstFiles[i];\r\n this.lstFiles[i] = item && !(item).toJSON ? new FilePhanHoiGopYModel(item) : item;\r\n }\r\n }\r\n this.thongTinEdit = data.thongTinEdit && !(data.thongTinEdit).toJSON ? new ThongTinPhanHoiEditModel(data.thongTinEdit) : this.thongTinEdit; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.noiDungId = _data[\"noiDungId\"];\r\n this.noiDungTraLoi = _data[\"noiDungTraLoi\"];\r\n if (Array.isArray(_data[\"lstFiles\"])) {\r\n this.lstFiles = [] as any;\r\n for (let item of _data[\"lstFiles\"])\r\n this.lstFiles!.push(FilePhanHoiGopYModel.fromJS(item));\r\n }\r\n this.chiaSe = _data[\"chiaSe\"];\r\n this.isChangeContent = _data[\"isChangeContent\"];\r\n this.thongTinEdit = _data[\"thongTinEdit\"] ? ThongTinPhanHoiEditModel.fromJS(_data[\"thongTinEdit\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PhanHoiGopYModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PhanHoiGopYModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"noiDungId\"] = this.noiDungId;\r\n data[\"noiDungTraLoi\"] = this.noiDungTraLoi;\r\n if (Array.isArray(this.lstFiles)) {\r\n data[\"lstFiles\"] = [];\r\n for (let item of this.lstFiles)\r\n data[\"lstFiles\"].push(item.toJSON());\r\n }\r\n data[\"chiaSe\"] = this.chiaSe;\r\n data[\"isChangeContent\"] = this.isChangeContent;\r\n data[\"thongTinEdit\"] = this.thongTinEdit ? this.thongTinEdit.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): PhanHoiGopYModel {\r\n const json = this.toJSON();\r\n let result = new PhanHoiGopYModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPhanHoiGopYModel {\r\n noiDungId?: number;\r\n noiDungTraLoi?: string | undefined;\r\n lstFiles?: IFilePhanHoiGopYModel[] | undefined;\r\n chiaSe?: boolean;\r\n isChangeContent?: boolean;\r\n thongTinEdit?: IThongTinPhanHoiEditModel;\r\n}\r\n\r\nexport class PhanHoiHoTroModel implements IPhanHoiHoTroModel {\r\n noiDungId?: number;\r\n yKien?: string | undefined;\r\n\r\n constructor(data?: IPhanHoiHoTroModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.noiDungId = _data[\"noiDungId\"];\r\n this.yKien = _data[\"yKien\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PhanHoiHoTroModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PhanHoiHoTroModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"noiDungId\"] = this.noiDungId;\r\n data[\"yKien\"] = this.yKien;\r\n return data; \r\n }\r\n\r\n clone(): PhanHoiHoTroModel {\r\n const json = this.toJSON();\r\n let result = new PhanHoiHoTroModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPhanHoiHoTroModel {\r\n noiDungId?: number;\r\n yKien?: string | undefined;\r\n}\r\n\r\nexport class PheDuyetGopYCanBoModel implements IPheDuyetGopYCanBoModel {\r\n id?: number;\r\n value?: string | undefined;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IPheDuyetGopYCanBoModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.value = _data[\"value\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PheDuyetGopYCanBoModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PheDuyetGopYCanBoModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"value\"] = this.value;\r\n data[\"name\"] = this.name;\r\n return data; \r\n }\r\n\r\n clone(): PheDuyetGopYCanBoModel {\r\n const json = this.toJSON();\r\n let result = new PheDuyetGopYCanBoModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPheDuyetGopYCanBoModel {\r\n id?: number;\r\n value?: string | undefined;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class PheDuyetGopYDetailsModel implements IPheDuyetGopYDetailsModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n diaDiem?: string | undefined;\r\n ngayGopY?: Date;\r\n noiDung?: string | undefined;\r\n tenLinhVuc?: string | undefined;\r\n trangThaiXuLy?: number | undefined;\r\n ketquaXuLy?: string | undefined;\r\n yKienXuLy?: string | undefined;\r\n donViHoTro?: string | undefined;\r\n nguoiGuiGopY?: PheDuyetGopYNguoiGuiGopYModel;\r\n lstAnhHoiDinhKem?: PheDuyetGopYFileModel[] | undefined;\r\n lstFileHoiDinhKem?: PheDuyetGopYFileModel[] | undefined;\r\n lstCanBo?: PheDuyetGopYCanBoModel[] | undefined;\r\n noiDungPhanHoi?: string | undefined;\r\n\r\n constructor(data?: IPheDuyetGopYDetailsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.nguoiGuiGopY = data.nguoiGuiGopY && !(data.nguoiGuiGopY).toJSON ? new PheDuyetGopYNguoiGuiGopYModel(data.nguoiGuiGopY) : this.nguoiGuiGopY; \r\n if (data.lstAnhHoiDinhKem) {\r\n this.lstAnhHoiDinhKem = [];\r\n for (let i = 0; i < data.lstAnhHoiDinhKem.length; i++) {\r\n let item = data.lstAnhHoiDinhKem[i];\r\n this.lstAnhHoiDinhKem[i] = item && !(item).toJSON ? new PheDuyetGopYFileModel(item) : item;\r\n }\r\n }\r\n if (data.lstFileHoiDinhKem) {\r\n this.lstFileHoiDinhKem = [];\r\n for (let i = 0; i < data.lstFileHoiDinhKem.length; i++) {\r\n let item = data.lstFileHoiDinhKem[i];\r\n this.lstFileHoiDinhKem[i] = item && !(item).toJSON ? new PheDuyetGopYFileModel(item) : item;\r\n }\r\n }\r\n if (data.lstCanBo) {\r\n this.lstCanBo = [];\r\n for (let i = 0; i < data.lstCanBo.length; i++) {\r\n let item = data.lstCanBo[i];\r\n this.lstCanBo[i] = item && !(item).toJSON ? new PheDuyetGopYCanBoModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tieuDe = _data[\"tieuDe\"];\r\n this.diaDiem = _data[\"diaDiem\"];\r\n this.ngayGopY = _data[\"ngayGopY\"] ? new Date(_data[\"ngayGopY\"].toString()) : undefined;\r\n this.noiDung = _data[\"noiDung\"];\r\n this.tenLinhVuc = _data[\"tenLinhVuc\"];\r\n this.trangThaiXuLy = _data[\"trangThaiXuLy\"];\r\n this.ketquaXuLy = _data[\"ketquaXuLy\"];\r\n this.yKienXuLy = _data[\"yKienXuLy\"];\r\n this.donViHoTro = _data[\"donViHoTro\"];\r\n this.nguoiGuiGopY = _data[\"nguoiGuiGopY\"] ? PheDuyetGopYNguoiGuiGopYModel.fromJS(_data[\"nguoiGuiGopY\"]) : undefined;\r\n if (Array.isArray(_data[\"lstAnhHoiDinhKem\"])) {\r\n this.lstAnhHoiDinhKem = [] as any;\r\n for (let item of _data[\"lstAnhHoiDinhKem\"])\r\n this.lstAnhHoiDinhKem!.push(PheDuyetGopYFileModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstFileHoiDinhKem\"])) {\r\n this.lstFileHoiDinhKem = [] as any;\r\n for (let item of _data[\"lstFileHoiDinhKem\"])\r\n this.lstFileHoiDinhKem!.push(PheDuyetGopYFileModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstCanBo\"])) {\r\n this.lstCanBo = [] as any;\r\n for (let item of _data[\"lstCanBo\"])\r\n this.lstCanBo!.push(PheDuyetGopYCanBoModel.fromJS(item));\r\n }\r\n this.noiDungPhanHoi = _data[\"noiDungPhanHoi\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PheDuyetGopYDetailsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PheDuyetGopYDetailsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tieuDe\"] = this.tieuDe;\r\n data[\"diaDiem\"] = this.diaDiem;\r\n data[\"ngayGopY\"] = this.ngayGopY ? this.ngayGopY.toISOString() : undefined;\r\n data[\"noiDung\"] = this.noiDung;\r\n data[\"tenLinhVuc\"] = this.tenLinhVuc;\r\n data[\"trangThaiXuLy\"] = this.trangThaiXuLy;\r\n data[\"ketquaXuLy\"] = this.ketquaXuLy;\r\n data[\"yKienXuLy\"] = this.yKienXuLy;\r\n data[\"donViHoTro\"] = this.donViHoTro;\r\n data[\"nguoiGuiGopY\"] = this.nguoiGuiGopY ? this.nguoiGuiGopY.toJSON() : undefined;\r\n if (Array.isArray(this.lstAnhHoiDinhKem)) {\r\n data[\"lstAnhHoiDinhKem\"] = [];\r\n for (let item of this.lstAnhHoiDinhKem)\r\n data[\"lstAnhHoiDinhKem\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstFileHoiDinhKem)) {\r\n data[\"lstFileHoiDinhKem\"] = [];\r\n for (let item of this.lstFileHoiDinhKem)\r\n data[\"lstFileHoiDinhKem\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstCanBo)) {\r\n data[\"lstCanBo\"] = [];\r\n for (let item of this.lstCanBo)\r\n data[\"lstCanBo\"].push(item.toJSON());\r\n }\r\n data[\"noiDungPhanHoi\"] = this.noiDungPhanHoi;\r\n return data; \r\n }\r\n\r\n clone(): PheDuyetGopYDetailsModel {\r\n const json = this.toJSON();\r\n let result = new PheDuyetGopYDetailsModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPheDuyetGopYDetailsModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n diaDiem?: string | undefined;\r\n ngayGopY?: Date;\r\n noiDung?: string | undefined;\r\n tenLinhVuc?: string | undefined;\r\n trangThaiXuLy?: number | undefined;\r\n ketquaXuLy?: string | undefined;\r\n yKienXuLy?: string | undefined;\r\n donViHoTro?: string | undefined;\r\n nguoiGuiGopY?: IPheDuyetGopYNguoiGuiGopYModel;\r\n lstAnhHoiDinhKem?: IPheDuyetGopYFileModel[] | undefined;\r\n lstFileHoiDinhKem?: IPheDuyetGopYFileModel[] | undefined;\r\n lstCanBo?: IPheDuyetGopYCanBoModel[] | undefined;\r\n noiDungPhanHoi?: string | undefined;\r\n}\r\n\r\nexport class PheDuyetGopYDetailsModelApiResponse implements IPheDuyetGopYDetailsModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: PheDuyetGopYDetailsModel;\r\n\r\n constructor(data?: IPheDuyetGopYDetailsModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new PheDuyetGopYDetailsModel(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? PheDuyetGopYDetailsModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PheDuyetGopYDetailsModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PheDuyetGopYDetailsModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): PheDuyetGopYDetailsModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new PheDuyetGopYDetailsModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPheDuyetGopYDetailsModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IPheDuyetGopYDetailsModel;\r\n}\r\n\r\nexport class PheDuyetGopYDuyetGopYModel implements IPheDuyetGopYDuyetGopYModel {\r\n noiDungId?: number;\r\n type?: number;\r\n ketQuaXuLy?: string | undefined;\r\n yKien?: string | undefined;\r\n idCanBo?: number | undefined;\r\n tenCanBo?: string | undefined;\r\n\r\n constructor(data?: IPheDuyetGopYDuyetGopYModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.noiDungId = _data[\"noiDungId\"];\r\n this.type = _data[\"type\"];\r\n this.ketQuaXuLy = _data[\"ketQuaXuLy\"];\r\n this.yKien = _data[\"yKien\"];\r\n this.idCanBo = _data[\"idCanBo\"];\r\n this.tenCanBo = _data[\"tenCanBo\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PheDuyetGopYDuyetGopYModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PheDuyetGopYDuyetGopYModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"noiDungId\"] = this.noiDungId;\r\n data[\"type\"] = this.type;\r\n data[\"ketQuaXuLy\"] = this.ketQuaXuLy;\r\n data[\"yKien\"] = this.yKien;\r\n data[\"idCanBo\"] = this.idCanBo;\r\n data[\"tenCanBo\"] = this.tenCanBo;\r\n return data; \r\n }\r\n\r\n clone(): PheDuyetGopYDuyetGopYModel {\r\n const json = this.toJSON();\r\n let result = new PheDuyetGopYDuyetGopYModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPheDuyetGopYDuyetGopYModel {\r\n noiDungId?: number;\r\n type?: number;\r\n ketQuaXuLy?: string | undefined;\r\n yKien?: string | undefined;\r\n idCanBo?: number | undefined;\r\n tenCanBo?: string | undefined;\r\n}\r\n\r\nexport class PheDuyetGopYFileModel implements IPheDuyetGopYFileModel {\r\n fileId?: number;\r\n fileName?: string | undefined;\r\n\r\n constructor(data?: IPheDuyetGopYFileModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fileId = _data[\"fileId\"];\r\n this.fileName = _data[\"fileName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PheDuyetGopYFileModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PheDuyetGopYFileModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fileId\"] = this.fileId;\r\n data[\"fileName\"] = this.fileName;\r\n return data; \r\n }\r\n\r\n clone(): PheDuyetGopYFileModel {\r\n const json = this.toJSON();\r\n let result = new PheDuyetGopYFileModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPheDuyetGopYFileModel {\r\n fileId?: number;\r\n fileName?: string | undefined;\r\n}\r\n\r\nexport class PheDuyetGopYItemModel implements IPheDuyetGopYItemModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n trangThaiXuLy?: string | undefined;\r\n ngayGopY?: Date;\r\n\r\n constructor(data?: IPheDuyetGopYItemModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tieuDe = _data[\"tieuDe\"];\r\n this.trangThaiXuLy = _data[\"trangThaiXuLy\"];\r\n this.ngayGopY = _data[\"ngayGopY\"] ? new Date(_data[\"ngayGopY\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PheDuyetGopYItemModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PheDuyetGopYItemModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tieuDe\"] = this.tieuDe;\r\n data[\"trangThaiXuLy\"] = this.trangThaiXuLy;\r\n data[\"ngayGopY\"] = this.ngayGopY ? this.ngayGopY.toISOString() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): PheDuyetGopYItemModel {\r\n const json = this.toJSON();\r\n let result = new PheDuyetGopYItemModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPheDuyetGopYItemModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n trangThaiXuLy?: string | undefined;\r\n ngayGopY?: Date;\r\n}\r\n\r\nexport class PheDuyetGopYItemModel2 implements IPheDuyetGopYItemModel2 {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n ngayGopY?: Date;\r\n trangThaiHienThi?: number;\r\n trangThaiXuLy?: number;\r\n\r\n constructor(data?: IPheDuyetGopYItemModel2) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tieuDe = _data[\"tieuDe\"];\r\n this.ngayGopY = _data[\"ngayGopY\"] ? new Date(_data[\"ngayGopY\"].toString()) : undefined;\r\n this.trangThaiHienThi = _data[\"trangThaiHienThi\"];\r\n this.trangThaiXuLy = _data[\"trangThaiXuLy\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PheDuyetGopYItemModel2 {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PheDuyetGopYItemModel2();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tieuDe\"] = this.tieuDe;\r\n data[\"ngayGopY\"] = this.ngayGopY ? this.ngayGopY.toISOString() : undefined;\r\n data[\"trangThaiHienThi\"] = this.trangThaiHienThi;\r\n data[\"trangThaiXuLy\"] = this.trangThaiXuLy;\r\n return data; \r\n }\r\n\r\n clone(): PheDuyetGopYItemModel2 {\r\n const json = this.toJSON();\r\n let result = new PheDuyetGopYItemModel2();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPheDuyetGopYItemModel2 {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n ngayGopY?: Date;\r\n trangThaiHienThi?: number;\r\n trangThaiXuLy?: number;\r\n}\r\n\r\nexport class PheDuyetGopYItemModel2ListApiResponse implements IPheDuyetGopYItemModel2ListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: PheDuyetGopYItemModel2[] | undefined;\r\n\r\n constructor(data?: IPheDuyetGopYItemModel2ListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new PheDuyetGopYItemModel2(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(PheDuyetGopYItemModel2.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): PheDuyetGopYItemModel2ListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PheDuyetGopYItemModel2ListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): PheDuyetGopYItemModel2ListApiResponse {\r\n const json = this.toJSON();\r\n let result = new PheDuyetGopYItemModel2ListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPheDuyetGopYItemModel2ListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IPheDuyetGopYItemModel2[] | undefined;\r\n}\r\n\r\nexport class PheDuyetGopYItemModelListApiResponse implements IPheDuyetGopYItemModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: PheDuyetGopYItemModel[] | undefined;\r\n\r\n constructor(data?: IPheDuyetGopYItemModelListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new PheDuyetGopYItemModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(PheDuyetGopYItemModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): PheDuyetGopYItemModelListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PheDuyetGopYItemModelListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): PheDuyetGopYItemModelListApiResponse {\r\n const json = this.toJSON();\r\n let result = new PheDuyetGopYItemModelListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPheDuyetGopYItemModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IPheDuyetGopYItemModel[] | undefined;\r\n}\r\n\r\nexport class PheDuyetGopYNguoiGuiGopYModel implements IPheDuyetGopYNguoiGuiGopYModel {\r\n fullName?: string | undefined;\r\n phone?: string | undefined;\r\n email?: string | undefined;\r\n\r\n constructor(data?: IPheDuyetGopYNguoiGuiGopYModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fullName = _data[\"fullName\"];\r\n this.phone = _data[\"phone\"];\r\n this.email = _data[\"email\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PheDuyetGopYNguoiGuiGopYModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PheDuyetGopYNguoiGuiGopYModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fullName\"] = this.fullName;\r\n data[\"phone\"] = this.phone;\r\n data[\"email\"] = this.email;\r\n return data; \r\n }\r\n\r\n clone(): PheDuyetGopYNguoiGuiGopYModel {\r\n const json = this.toJSON();\r\n let result = new PheDuyetGopYNguoiGuiGopYModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPheDuyetGopYNguoiGuiGopYModel {\r\n fullName?: string | undefined;\r\n phone?: string | undefined;\r\n email?: string | undefined;\r\n}\r\n\r\nexport class PheDuyetGopYRequestModel implements IPheDuyetGopYRequestModel {\r\n search?: string | undefined;\r\n tinhTrangId?: number | undefined;\r\n orderDESCBy?: string | undefined;\r\n unitcode?: string | undefined;\r\n currentPage?: number;\r\n\r\n constructor(data?: IPheDuyetGopYRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.search = _data[\"search\"];\r\n this.tinhTrangId = _data[\"tinhTrangId\"];\r\n this.orderDESCBy = _data[\"orderDESCBy\"];\r\n this.unitcode = _data[\"unitcode\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PheDuyetGopYRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PheDuyetGopYRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"search\"] = this.search;\r\n data[\"tinhTrangId\"] = this.tinhTrangId;\r\n data[\"orderDESCBy\"] = this.orderDESCBy;\r\n data[\"unitcode\"] = this.unitcode;\r\n data[\"currentPage\"] = this.currentPage;\r\n return data; \r\n }\r\n\r\n clone(): PheDuyetGopYRequestModel {\r\n const json = this.toJSON();\r\n let result = new PheDuyetGopYRequestModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPheDuyetGopYRequestModel {\r\n search?: string | undefined;\r\n tinhTrangId?: number | undefined;\r\n orderDESCBy?: string | undefined;\r\n unitcode?: string | undefined;\r\n currentPage?: number;\r\n}\r\n\r\nexport class PheDuyetGopYRequestModel2 implements IPheDuyetGopYRequestModel2 {\r\n unitCode?: string | undefined;\r\n search?: string | undefined;\r\n tinhTrangId?: number | undefined;\r\n trangThaiXuLy?: number | undefined;\r\n orderDESCBy?: string | undefined;\r\n currentPage?: number;\r\n idXuLy?: number;\r\n\r\n constructor(data?: IPheDuyetGopYRequestModel2) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.unitCode = _data[\"unitCode\"];\r\n this.search = _data[\"search\"];\r\n this.tinhTrangId = _data[\"tinhTrangId\"];\r\n this.trangThaiXuLy = _data[\"trangThaiXuLy\"];\r\n this.orderDESCBy = _data[\"orderDESCBy\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.idXuLy = _data[\"idXuLy\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PheDuyetGopYRequestModel2 {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PheDuyetGopYRequestModel2();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"unitCode\"] = this.unitCode;\r\n data[\"search\"] = this.search;\r\n data[\"tinhTrangId\"] = this.tinhTrangId;\r\n data[\"trangThaiXuLy\"] = this.trangThaiXuLy;\r\n data[\"orderDESCBy\"] = this.orderDESCBy;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"idXuLy\"] = this.idXuLy;\r\n return data; \r\n }\r\n\r\n clone(): PheDuyetGopYRequestModel2 {\r\n const json = this.toJSON();\r\n let result = new PheDuyetGopYRequestModel2();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPheDuyetGopYRequestModel2 {\r\n unitCode?: string | undefined;\r\n search?: string | undefined;\r\n tinhTrangId?: number | undefined;\r\n trangThaiXuLy?: number | undefined;\r\n orderDESCBy?: string | undefined;\r\n currentPage?: number;\r\n idXuLy?: number;\r\n}\r\n\r\nexport class PheDuyetGopYTrinhLanhDao implements IPheDuyetGopYTrinhLanhDao {\r\n id?: number;\r\n type?: number;\r\n isTrinhLanhDao?: boolean;\r\n idCanBo?: number | undefined;\r\n tenCanBo?: string | undefined;\r\n donViHoTro?: string | undefined;\r\n yKienXuLy?: string | undefined;\r\n ketQuaXuLy?: string | undefined;\r\n\r\n constructor(data?: IPheDuyetGopYTrinhLanhDao) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.type = _data[\"type\"];\r\n this.isTrinhLanhDao = _data[\"isTrinhLanhDao\"];\r\n this.idCanBo = _data[\"idCanBo\"];\r\n this.tenCanBo = _data[\"tenCanBo\"];\r\n this.donViHoTro = _data[\"donViHoTro\"];\r\n this.yKienXuLy = _data[\"yKienXuLy\"];\r\n this.ketQuaXuLy = _data[\"ketQuaXuLy\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PheDuyetGopYTrinhLanhDao {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PheDuyetGopYTrinhLanhDao();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"type\"] = this.type;\r\n data[\"isTrinhLanhDao\"] = this.isTrinhLanhDao;\r\n data[\"idCanBo\"] = this.idCanBo;\r\n data[\"tenCanBo\"] = this.tenCanBo;\r\n data[\"donViHoTro\"] = this.donViHoTro;\r\n data[\"yKienXuLy\"] = this.yKienXuLy;\r\n data[\"ketQuaXuLy\"] = this.ketQuaXuLy;\r\n return data; \r\n }\r\n\r\n clone(): PheDuyetGopYTrinhLanhDao {\r\n const json = this.toJSON();\r\n let result = new PheDuyetGopYTrinhLanhDao();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPheDuyetGopYTrinhLanhDao {\r\n id?: number;\r\n type?: number;\r\n isTrinhLanhDao?: boolean;\r\n idCanBo?: number | undefined;\r\n tenCanBo?: string | undefined;\r\n donViHoTro?: string | undefined;\r\n yKienXuLy?: string | undefined;\r\n ketQuaXuLy?: string | undefined;\r\n}\r\n\r\nexport class PheDuyetGopYTuChoiGopYModel implements IPheDuyetGopYTuChoiGopYModel {\r\n noiDungId?: number;\r\n ketQuaXuLy?: string | undefined;\r\n yKien?: string | undefined;\r\n\r\n constructor(data?: IPheDuyetGopYTuChoiGopYModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.noiDungId = _data[\"noiDungId\"];\r\n this.ketQuaXuLy = _data[\"ketQuaXuLy\"];\r\n this.yKien = _data[\"yKien\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PheDuyetGopYTuChoiGopYModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PheDuyetGopYTuChoiGopYModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"noiDungId\"] = this.noiDungId;\r\n data[\"ketQuaXuLy\"] = this.ketQuaXuLy;\r\n data[\"yKien\"] = this.yKien;\r\n return data; \r\n }\r\n\r\n clone(): PheDuyetGopYTuChoiGopYModel {\r\n const json = this.toJSON();\r\n let result = new PheDuyetGopYTuChoiGopYModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPheDuyetGopYTuChoiGopYModel {\r\n noiDungId?: number;\r\n ketQuaXuLy?: string | undefined;\r\n yKien?: string | undefined;\r\n}\r\n\r\nexport class PostBinhLuanGopYModel implements IPostBinhLuanGopYModel {\r\n currentPage?: number;\r\n\r\n constructor(data?: IPostBinhLuanGopYModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.currentPage = _data[\"currentPage\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PostBinhLuanGopYModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PostBinhLuanGopYModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"currentPage\"] = this.currentPage;\r\n return data; \r\n }\r\n\r\n clone(): PostBinhLuanGopYModel {\r\n const json = this.toJSON();\r\n let result = new PostBinhLuanGopYModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPostBinhLuanGopYModel {\r\n currentPage?: number;\r\n}\r\n\r\nexport class PostCommentModel implements IPostCommentModel {\r\n postId?: number;\r\n currentPage?: number;\r\n\r\n constructor(data?: IPostCommentModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.postId = _data[\"postId\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PostCommentModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PostCommentModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"postId\"] = this.postId;\r\n data[\"currentPage\"] = this.currentPage;\r\n return data; \r\n }\r\n\r\n clone(): PostCommentModel {\r\n const json = this.toJSON();\r\n let result = new PostCommentModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPostCommentModel {\r\n postId?: number;\r\n currentPage?: number;\r\n}\r\n\r\nexport class PostCongGopYModel implements IPostCongGopYModel {\r\n noiDungGopY?: PostNoiDungGopYModel;\r\n binhLuanGopY?: PostBinhLuanGopYModel;\r\n\r\n constructor(data?: IPostCongGopYModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.noiDungGopY = data.noiDungGopY && !(data.noiDungGopY).toJSON ? new PostNoiDungGopYModel(data.noiDungGopY) : this.noiDungGopY; \r\n this.binhLuanGopY = data.binhLuanGopY && !(data.binhLuanGopY).toJSON ? new PostBinhLuanGopYModel(data.binhLuanGopY) : this.binhLuanGopY; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.noiDungGopY = _data[\"noiDungGopY\"] ? PostNoiDungGopYModel.fromJS(_data[\"noiDungGopY\"]) : undefined;\r\n this.binhLuanGopY = _data[\"binhLuanGopY\"] ? PostBinhLuanGopYModel.fromJS(_data[\"binhLuanGopY\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PostCongGopYModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PostCongGopYModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"noiDungGopY\"] = this.noiDungGopY ? this.noiDungGopY.toJSON() : undefined;\r\n data[\"binhLuanGopY\"] = this.binhLuanGopY ? this.binhLuanGopY.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): PostCongGopYModel {\r\n const json = this.toJSON();\r\n let result = new PostCongGopYModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPostCongGopYModel {\r\n noiDungGopY?: IPostNoiDungGopYModel;\r\n binhLuanGopY?: IPostBinhLuanGopYModel;\r\n}\r\n\r\nexport class PostNoiDungGopYForWebModel implements IPostNoiDungGopYForWebModel {\r\n search?: string | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n linhVucId?: number | undefined;\r\n tinh?: number | undefined;\r\n huyen?: number | undefined;\r\n xa?: number | undefined;\r\n thon?: number | undefined;\r\n unitCode?: string | undefined;\r\n idThanhVien?: number | undefined;\r\n tag?: string | undefined;\r\n xuLyId?: number | undefined;\r\n orderDESCBy?: string | undefined;\r\n\r\n constructor(data?: IPostNoiDungGopYForWebModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.search = _data[\"search\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.linhVucId = _data[\"linhVucId\"];\r\n this.tinh = _data[\"tinh\"];\r\n this.huyen = _data[\"huyen\"];\r\n this.xa = _data[\"xa\"];\r\n this.thon = _data[\"thon\"];\r\n this.unitCode = _data[\"unitCode\"];\r\n this.idThanhVien = _data[\"idThanhVien\"];\r\n this.tag = _data[\"tag\"];\r\n this.xuLyId = _data[\"xuLyId\"];\r\n this.orderDESCBy = _data[\"orderDESCBy\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PostNoiDungGopYForWebModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PostNoiDungGopYForWebModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"search\"] = this.search;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"linhVucId\"] = this.linhVucId;\r\n data[\"tinh\"] = this.tinh;\r\n data[\"huyen\"] = this.huyen;\r\n data[\"xa\"] = this.xa;\r\n data[\"thon\"] = this.thon;\r\n data[\"unitCode\"] = this.unitCode;\r\n data[\"idThanhVien\"] = this.idThanhVien;\r\n data[\"tag\"] = this.tag;\r\n data[\"xuLyId\"] = this.xuLyId;\r\n data[\"orderDESCBy\"] = this.orderDESCBy;\r\n return data; \r\n }\r\n\r\n clone(): PostNoiDungGopYForWebModel {\r\n const json = this.toJSON();\r\n let result = new PostNoiDungGopYForWebModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPostNoiDungGopYForWebModel {\r\n search?: string | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n linhVucId?: number | undefined;\r\n tinh?: number | undefined;\r\n huyen?: number | undefined;\r\n xa?: number | undefined;\r\n thon?: number | undefined;\r\n unitCode?: string | undefined;\r\n idThanhVien?: number | undefined;\r\n tag?: string | undefined;\r\n xuLyId?: number | undefined;\r\n orderDESCBy?: string | undefined;\r\n}\r\n\r\nexport class PostNoiDungGopYModel implements IPostNoiDungGopYModel {\r\n thanhVienId?: string | undefined;\r\n phone?: string | undefined;\r\n search?: string | undefined;\r\n currentPage?: number;\r\n linhVucId?: number | undefined;\r\n tinh?: number | undefined;\r\n huyen?: number | undefined;\r\n xa?: number | undefined;\r\n thon?: number | undefined;\r\n unitCode?: string | undefined;\r\n tag?: string | undefined;\r\n xuLyId?: number | undefined;\r\n orderDESCBy?: string | undefined;\r\n\r\n constructor(data?: IPostNoiDungGopYModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.thanhVienId = _data[\"thanhVienId\"];\r\n this.phone = _data[\"phone\"];\r\n this.search = _data[\"search\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.linhVucId = _data[\"linhVucId\"];\r\n this.tinh = _data[\"tinh\"];\r\n this.huyen = _data[\"huyen\"];\r\n this.xa = _data[\"xa\"];\r\n this.thon = _data[\"thon\"];\r\n this.unitCode = _data[\"unitCode\"];\r\n this.tag = _data[\"tag\"];\r\n this.xuLyId = _data[\"xuLyId\"];\r\n this.orderDESCBy = _data[\"orderDESCBy\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PostNoiDungGopYModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PostNoiDungGopYModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"thanhVienId\"] = this.thanhVienId;\r\n data[\"phone\"] = this.phone;\r\n data[\"search\"] = this.search;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"linhVucId\"] = this.linhVucId;\r\n data[\"tinh\"] = this.tinh;\r\n data[\"huyen\"] = this.huyen;\r\n data[\"xa\"] = this.xa;\r\n data[\"thon\"] = this.thon;\r\n data[\"unitCode\"] = this.unitCode;\r\n data[\"tag\"] = this.tag;\r\n data[\"xuLyId\"] = this.xuLyId;\r\n data[\"orderDESCBy\"] = this.orderDESCBy;\r\n return data; \r\n }\r\n\r\n clone(): PostNoiDungGopYModel {\r\n const json = this.toJSON();\r\n let result = new PostNoiDungGopYModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPostNoiDungGopYModel {\r\n thanhVienId?: string | undefined;\r\n phone?: string | undefined;\r\n search?: string | undefined;\r\n currentPage?: number;\r\n linhVucId?: number | undefined;\r\n tinh?: number | undefined;\r\n huyen?: number | undefined;\r\n xa?: number | undefined;\r\n thon?: number | undefined;\r\n unitCode?: string | undefined;\r\n tag?: string | undefined;\r\n xuLyId?: number | undefined;\r\n orderDESCBy?: string | undefined;\r\n}\r\n\r\nexport class PostPheDuyetHoanThanhGopYModel implements IPostPheDuyetHoanThanhGopYModel {\r\n noiDungId?: number;\r\n isEdit?: boolean;\r\n noiDungPhanHoi?: string | undefined;\r\n lstFileIdRemove?: number[] | undefined;\r\n lstFile?: FilePostPheDuyetHoanThanhGopYModel[] | undefined;\r\n\r\n constructor(data?: IPostPheDuyetHoanThanhGopYModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstFile) {\r\n this.lstFile = [];\r\n for (let i = 0; i < data.lstFile.length; i++) {\r\n let item = data.lstFile[i];\r\n this.lstFile[i] = item && !(item).toJSON ? new FilePostPheDuyetHoanThanhGopYModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.noiDungId = _data[\"noiDungId\"];\r\n this.isEdit = _data[\"isEdit\"];\r\n this.noiDungPhanHoi = _data[\"noiDungPhanHoi\"];\r\n if (Array.isArray(_data[\"lstFileIdRemove\"])) {\r\n this.lstFileIdRemove = [] as any;\r\n for (let item of _data[\"lstFileIdRemove\"])\r\n this.lstFileIdRemove!.push(item);\r\n }\r\n if (Array.isArray(_data[\"lstFile\"])) {\r\n this.lstFile = [] as any;\r\n for (let item of _data[\"lstFile\"])\r\n this.lstFile!.push(FilePostPheDuyetHoanThanhGopYModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): PostPheDuyetHoanThanhGopYModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PostPheDuyetHoanThanhGopYModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"noiDungId\"] = this.noiDungId;\r\n data[\"isEdit\"] = this.isEdit;\r\n data[\"noiDungPhanHoi\"] = this.noiDungPhanHoi;\r\n if (Array.isArray(this.lstFileIdRemove)) {\r\n data[\"lstFileIdRemove\"] = [];\r\n for (let item of this.lstFileIdRemove)\r\n data[\"lstFileIdRemove\"].push(item);\r\n }\r\n if (Array.isArray(this.lstFile)) {\r\n data[\"lstFile\"] = [];\r\n for (let item of this.lstFile)\r\n data[\"lstFile\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): PostPheDuyetHoanThanhGopYModel {\r\n const json = this.toJSON();\r\n let result = new PostPheDuyetHoanThanhGopYModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPostPheDuyetHoanThanhGopYModel {\r\n noiDungId?: number;\r\n isEdit?: boolean;\r\n noiDungPhanHoi?: string | undefined;\r\n lstFileIdRemove?: number[] | undefined;\r\n lstFile?: IFilePostPheDuyetHoanThanhGopYModel[] | undefined;\r\n}\r\n\r\nexport class PostsIndexModel implements IPostsIndexModel {\r\n noiDungGopYId?: number;\r\n donViTiepNhan?: string | undefined;\r\n phanHoi?: string | undefined;\r\n linhVucId?: number;\r\n xuLyId?: number;\r\n tieuDe?: string | undefined;\r\n trangThai?: string | undefined;\r\n maMauTrangThai?: string | undefined;\r\n linhVuc?: string | undefined;\r\n ngayGopY?: Date;\r\n noiDung?: string | undefined;\r\n luotBinhLuan?: number;\r\n luotXem?: number;\r\n luotThich?: number;\r\n diaDiem?: string | undefined;\r\n fileIdImage?: number | undefined;\r\n filePath?: string | undefined;\r\n anh?: string | undefined;\r\n rate?: number;\r\n huyen?: number | undefined;\r\n xa?: number | undefined;\r\n thon?: number | undefined;\r\n unitCode?: string | undefined;\r\n\r\n constructor(data?: IPostsIndexModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.noiDungGopYId = _data[\"noiDungGopYId\"];\r\n this.donViTiepNhan = _data[\"donViTiepNhan\"];\r\n this.phanHoi = _data[\"phanHoi\"];\r\n this.linhVucId = _data[\"linhVucId\"];\r\n this.xuLyId = _data[\"xuLyId\"];\r\n this.tieuDe = _data[\"tieuDe\"];\r\n this.trangThai = _data[\"trangThai\"];\r\n this.maMauTrangThai = _data[\"maMauTrangThai\"];\r\n this.linhVuc = _data[\"linhVuc\"];\r\n this.ngayGopY = _data[\"ngayGopY\"] ? new Date(_data[\"ngayGopY\"].toString()) : undefined;\r\n this.noiDung = _data[\"noiDung\"];\r\n this.luotBinhLuan = _data[\"luotBinhLuan\"];\r\n this.luotXem = _data[\"luotXem\"];\r\n this.luotThich = _data[\"luotThich\"];\r\n this.diaDiem = _data[\"diaDiem\"];\r\n this.fileIdImage = _data[\"fileIdImage\"];\r\n this.filePath = _data[\"filePath\"];\r\n this.anh = _data[\"anh\"];\r\n this.rate = _data[\"rate\"];\r\n this.huyen = _data[\"huyen\"];\r\n this.xa = _data[\"xa\"];\r\n this.thon = _data[\"thon\"];\r\n this.unitCode = _data[\"unitCode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PostsIndexModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PostsIndexModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"noiDungGopYId\"] = this.noiDungGopYId;\r\n data[\"donViTiepNhan\"] = this.donViTiepNhan;\r\n data[\"phanHoi\"] = this.phanHoi;\r\n data[\"linhVucId\"] = this.linhVucId;\r\n data[\"xuLyId\"] = this.xuLyId;\r\n data[\"tieuDe\"] = this.tieuDe;\r\n data[\"trangThai\"] = this.trangThai;\r\n data[\"maMauTrangThai\"] = this.maMauTrangThai;\r\n data[\"linhVuc\"] = this.linhVuc;\r\n data[\"ngayGopY\"] = this.ngayGopY ? this.ngayGopY.toISOString() : undefined;\r\n data[\"noiDung\"] = this.noiDung;\r\n data[\"luotBinhLuan\"] = this.luotBinhLuan;\r\n data[\"luotXem\"] = this.luotXem;\r\n data[\"luotThich\"] = this.luotThich;\r\n data[\"diaDiem\"] = this.diaDiem;\r\n data[\"fileIdImage\"] = this.fileIdImage;\r\n data[\"filePath\"] = this.filePath;\r\n data[\"anh\"] = this.anh;\r\n data[\"rate\"] = this.rate;\r\n data[\"huyen\"] = this.huyen;\r\n data[\"xa\"] = this.xa;\r\n data[\"thon\"] = this.thon;\r\n data[\"unitCode\"] = this.unitCode;\r\n return data; \r\n }\r\n\r\n clone(): PostsIndexModel {\r\n const json = this.toJSON();\r\n let result = new PostsIndexModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPostsIndexModel {\r\n noiDungGopYId?: number;\r\n donViTiepNhan?: string | undefined;\r\n phanHoi?: string | undefined;\r\n linhVucId?: number;\r\n xuLyId?: number;\r\n tieuDe?: string | undefined;\r\n trangThai?: string | undefined;\r\n maMauTrangThai?: string | undefined;\r\n linhVuc?: string | undefined;\r\n ngayGopY?: Date;\r\n noiDung?: string | undefined;\r\n luotBinhLuan?: number;\r\n luotXem?: number;\r\n luotThich?: number;\r\n diaDiem?: string | undefined;\r\n fileIdImage?: number | undefined;\r\n filePath?: string | undefined;\r\n anh?: string | undefined;\r\n rate?: number;\r\n huyen?: number | undefined;\r\n xa?: number | undefined;\r\n thon?: number | undefined;\r\n unitCode?: string | undefined;\r\n}\r\n\r\nexport class PostsIndexModelIEnumerablePageModelView implements IPostsIndexModelIEnumerablePageModelView {\r\n data?: PostsIndexModel[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IPostsIndexModelIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new PostsIndexModel(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(PostsIndexModel.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PostsIndexModelIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PostsIndexModelIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data; \r\n }\r\n\r\n clone(): PostsIndexModelIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new PostsIndexModelIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPostsIndexModelIEnumerablePageModelView {\r\n data?: IPostsIndexModel[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class PostsIndexModelIEnumerablePageModelViewApiResponse implements IPostsIndexModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: PostsIndexModelIEnumerablePageModelView;\r\n\r\n constructor(data?: IPostsIndexModelIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new PostsIndexModelIEnumerablePageModelView(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? PostsIndexModelIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PostsIndexModelIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PostsIndexModelIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): PostsIndexModelIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new PostsIndexModelIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPostsIndexModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IPostsIndexModelIEnumerablePageModelView;\r\n}\r\n\r\nexport class PostsIndexModelIListApiResponse implements IPostsIndexModelIListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: PostsIndexModel[] | undefined;\r\n\r\n constructor(data?: IPostsIndexModelIListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new PostsIndexModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(PostsIndexModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): PostsIndexModelIListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PostsIndexModelIListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): PostsIndexModelIListApiResponse {\r\n const json = this.toJSON();\r\n let result = new PostsIndexModelIListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPostsIndexModelIListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IPostsIndexModel[] | undefined;\r\n}\r\n\r\nexport class PostXuLyGopYModel implements IPostXuLyGopYModel {\r\n id?: number;\r\n type?: number;\r\n idCanBo?: number;\r\n tenCanBo?: string | undefined;\r\n donViHoTro?: string | undefined;\r\n yKienXuLy?: string | undefined;\r\n ketQuaXuLy?: string | undefined;\r\n lstFiles?: FilePostXuLyGopYModel[] | undefined;\r\n\r\n constructor(data?: IPostXuLyGopYModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstFiles) {\r\n this.lstFiles = [];\r\n for (let i = 0; i < data.lstFiles.length; i++) {\r\n let item = data.lstFiles[i];\r\n this.lstFiles[i] = item && !(item).toJSON ? new FilePostXuLyGopYModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.type = _data[\"type\"];\r\n this.idCanBo = _data[\"idCanBo\"];\r\n this.tenCanBo = _data[\"tenCanBo\"];\r\n this.donViHoTro = _data[\"donViHoTro\"];\r\n this.yKienXuLy = _data[\"yKienXuLy\"];\r\n this.ketQuaXuLy = _data[\"ketQuaXuLy\"];\r\n if (Array.isArray(_data[\"lstFiles\"])) {\r\n this.lstFiles = [] as any;\r\n for (let item of _data[\"lstFiles\"])\r\n this.lstFiles!.push(FilePostXuLyGopYModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): PostXuLyGopYModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PostXuLyGopYModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"type\"] = this.type;\r\n data[\"idCanBo\"] = this.idCanBo;\r\n data[\"tenCanBo\"] = this.tenCanBo;\r\n data[\"donViHoTro\"] = this.donViHoTro;\r\n data[\"yKienXuLy\"] = this.yKienXuLy;\r\n data[\"ketQuaXuLy\"] = this.ketQuaXuLy;\r\n if (Array.isArray(this.lstFiles)) {\r\n data[\"lstFiles\"] = [];\r\n for (let item of this.lstFiles)\r\n data[\"lstFiles\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): PostXuLyGopYModel {\r\n const json = this.toJSON();\r\n let result = new PostXuLyGopYModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPostXuLyGopYModel {\r\n id?: number;\r\n type?: number;\r\n idCanBo?: number;\r\n tenCanBo?: string | undefined;\r\n donViHoTro?: string | undefined;\r\n yKienXuLy?: string | undefined;\r\n ketQuaXuLy?: string | undefined;\r\n lstFiles?: IFilePostXuLyGopYModel[] | undefined;\r\n}\r\n\r\nexport enum PropertyAttributes {\r\n _0 = 0,\r\n _512 = 512,\r\n _1024 = 1024,\r\n _4096 = 4096,\r\n _8192 = 8192,\r\n _16384 = 16384,\r\n _32768 = 32768,\r\n _62464 = 62464,\r\n}\r\n\r\nexport class PropertyInfo implements IPropertyInfo {\r\n readonly name?: string | undefined;\r\n declaringType?: Type;\r\n reflectedType?: Type;\r\n module?: Module;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n memberType?: MemberTypes;\r\n propertyType?: Type;\r\n attributes?: PropertyAttributes;\r\n readonly isSpecialName?: boolean;\r\n readonly canRead?: boolean;\r\n readonly canWrite?: boolean;\r\n getMethod?: MethodInfo;\r\n setMethod?: MethodInfo;\r\n\r\n constructor(data?: IPropertyInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType; \r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType; \r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module; \r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.propertyType = data.propertyType && !(data.propertyType).toJSON ? new Type(data.propertyType) : this.propertyType; \r\n this.getMethod = data.getMethod && !(data.getMethod).toJSON ? new MethodInfo(data.getMethod) : this.getMethod; \r\n this.setMethod = data.setMethod && !(data.setMethod).toJSON ? new MethodInfo(data.setMethod) : this.setMethod; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n this.memberType = _data[\"memberType\"];\r\n this.propertyType = _data[\"propertyType\"] ? Type.fromJS(_data[\"propertyType\"]) : undefined;\r\n this.attributes = _data[\"attributes\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n (this).canRead = _data[\"canRead\"];\r\n (this).canWrite = _data[\"canWrite\"];\r\n this.getMethod = _data[\"getMethod\"] ? MethodInfo.fromJS(_data[\"getMethod\"]) : undefined;\r\n this.setMethod = _data[\"setMethod\"] ? MethodInfo.fromJS(_data[\"setMethod\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PropertyInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PropertyInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"memberType\"] = this.memberType;\r\n data[\"propertyType\"] = this.propertyType ? this.propertyType.toJSON() : undefined;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"canRead\"] = this.canRead;\r\n data[\"canWrite\"] = this.canWrite;\r\n data[\"getMethod\"] = this.getMethod ? this.getMethod.toJSON() : undefined;\r\n data[\"setMethod\"] = this.setMethod ? this.setMethod.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): PropertyInfo {\r\n const json = this.toJSON();\r\n let result = new PropertyInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPropertyInfo {\r\n name?: string | undefined;\r\n declaringType?: IType;\r\n reflectedType?: IType;\r\n module?: IModule;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n memberType?: MemberTypes;\r\n propertyType?: IType;\r\n attributes?: PropertyAttributes;\r\n isSpecialName?: boolean;\r\n canRead?: boolean;\r\n canWrite?: boolean;\r\n getMethod?: IMethodInfo;\r\n setMethod?: IMethodInfo;\r\n}\r\n\r\nexport class RatingModel implements IRatingModel {\r\n id?: number;\r\n idGopy?: number;\r\n idNguoiDanhGia?: number;\r\n rate?: number;\r\n ngayDanhGia?: Date;\r\n\r\n constructor(data?: IRatingModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.idGopy = _data[\"idGopy\"];\r\n this.idNguoiDanhGia = _data[\"idNguoiDanhGia\"];\r\n this.rate = _data[\"rate\"];\r\n this.ngayDanhGia = _data[\"ngayDanhGia\"] ? new Date(_data[\"ngayDanhGia\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): RatingModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RatingModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"idGopy\"] = this.idGopy;\r\n data[\"idNguoiDanhGia\"] = this.idNguoiDanhGia;\r\n data[\"rate\"] = this.rate;\r\n data[\"ngayDanhGia\"] = this.ngayDanhGia ? this.ngayDanhGia.toISOString() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): RatingModel {\r\n const json = this.toJSON();\r\n let result = new RatingModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IRatingModel {\r\n id?: number;\r\n idGopy?: number;\r\n idNguoiDanhGia?: number;\r\n rate?: number;\r\n ngayDanhGia?: Date;\r\n}\r\n\r\nexport class RejectFeedbackModel implements IRejectFeedbackModel {\r\n feedbackId?: number;\r\n type?: number | undefined;\r\n\r\n constructor(data?: IRejectFeedbackModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.feedbackId = _data[\"feedbackId\"];\r\n this.type = _data[\"type\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RejectFeedbackModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RejectFeedbackModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"feedbackId\"] = this.feedbackId;\r\n data[\"type\"] = this.type;\r\n return data; \r\n }\r\n\r\n clone(): RejectFeedbackModel {\r\n const json = this.toJSON();\r\n let result = new RejectFeedbackModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IRejectFeedbackModel {\r\n feedbackId?: number;\r\n type?: number | undefined;\r\n}\r\n\r\nexport class ReportProcessModel implements IReportProcessModel {\r\n chuaxuly?: number[] | undefined;\r\n choxuly?: number[] | undefined;\r\n daxuly?: number[] | undefined;\r\n\r\n constructor(data?: IReportProcessModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"chuaxuly\"])) {\r\n this.chuaxuly = [] as any;\r\n for (let item of _data[\"chuaxuly\"])\r\n this.chuaxuly!.push(item);\r\n }\r\n if (Array.isArray(_data[\"choxuly\"])) {\r\n this.choxuly = [] as any;\r\n for (let item of _data[\"choxuly\"])\r\n this.choxuly!.push(item);\r\n }\r\n if (Array.isArray(_data[\"daxuly\"])) {\r\n this.daxuly = [] as any;\r\n for (let item of _data[\"daxuly\"])\r\n this.daxuly!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReportProcessModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReportProcessModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.chuaxuly)) {\r\n data[\"chuaxuly\"] = [];\r\n for (let item of this.chuaxuly)\r\n data[\"chuaxuly\"].push(item);\r\n }\r\n if (Array.isArray(this.choxuly)) {\r\n data[\"choxuly\"] = [];\r\n for (let item of this.choxuly)\r\n data[\"choxuly\"].push(item);\r\n }\r\n if (Array.isArray(this.daxuly)) {\r\n data[\"daxuly\"] = [];\r\n for (let item of this.daxuly)\r\n data[\"daxuly\"].push(item);\r\n }\r\n return data; \r\n }\r\n\r\n clone(): ReportProcessModel {\r\n const json = this.toJSON();\r\n let result = new ReportProcessModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IReportProcessModel {\r\n chuaxuly?: number[] | undefined;\r\n choxuly?: number[] | undefined;\r\n daxuly?: number[] | undefined;\r\n}\r\n\r\nexport class ReportProcessModelApiResponse implements IReportProcessModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ReportProcessModel;\r\n\r\n constructor(data?: IReportProcessModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ReportProcessModel(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ReportProcessModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReportProcessModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReportProcessModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): ReportProcessModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new ReportProcessModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IReportProcessModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IReportProcessModel;\r\n}\r\n\r\nexport class RequestApproveFeedbackModel implements IRequestApproveFeedbackModel {\r\n feedbackId?: number;\r\n status?: number | undefined;\r\n supportUnit?: SupportUnitModel;\r\n responseFeedback?: string | undefined;\r\n\r\n constructor(data?: IRequestApproveFeedbackModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.supportUnit = data.supportUnit && !(data.supportUnit).toJSON ? new SupportUnitModel(data.supportUnit) : this.supportUnit; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.feedbackId = _data[\"feedbackId\"];\r\n this.status = _data[\"status\"];\r\n this.supportUnit = _data[\"supportUnit\"] ? SupportUnitModel.fromJS(_data[\"supportUnit\"]) : undefined;\r\n this.responseFeedback = _data[\"responseFeedback\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RequestApproveFeedbackModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RequestApproveFeedbackModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"feedbackId\"] = this.feedbackId;\r\n data[\"status\"] = this.status;\r\n data[\"supportUnit\"] = this.supportUnit ? this.supportUnit.toJSON() : undefined;\r\n data[\"responseFeedback\"] = this.responseFeedback;\r\n return data; \r\n }\r\n\r\n clone(): RequestApproveFeedbackModel {\r\n const json = this.toJSON();\r\n let result = new RequestApproveFeedbackModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IRequestApproveFeedbackModel {\r\n feedbackId?: number;\r\n status?: number | undefined;\r\n supportUnit?: ISupportUnitModel;\r\n responseFeedback?: string | undefined;\r\n}\r\n\r\nexport class ReturnHomeModel implements IReturnHomeModel {\r\n totalPage?: number;\r\n currentPage?: number;\r\n lstDetails?: ViewHomeModel[] | undefined;\r\n\r\n constructor(data?: IReturnHomeModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstDetails) {\r\n this.lstDetails = [];\r\n for (let i = 0; i < data.lstDetails.length; i++) {\r\n let item = data.lstDetails[i];\r\n this.lstDetails[i] = item && !(item).toJSON ? new ViewHomeModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n if (Array.isArray(_data[\"lstDetails\"])) {\r\n this.lstDetails = [] as any;\r\n for (let item of _data[\"lstDetails\"])\r\n this.lstDetails!.push(ViewHomeModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReturnHomeModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReturnHomeModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n if (Array.isArray(this.lstDetails)) {\r\n data[\"lstDetails\"] = [];\r\n for (let item of this.lstDetails)\r\n data[\"lstDetails\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): ReturnHomeModel {\r\n const json = this.toJSON();\r\n let result = new ReturnHomeModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IReturnHomeModel {\r\n totalPage?: number;\r\n currentPage?: number;\r\n lstDetails?: IViewHomeModel[] | undefined;\r\n}\r\n\r\nexport class ReturnHomeModelApiResponse implements IReturnHomeModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ReturnHomeModel;\r\n\r\n constructor(data?: IReturnHomeModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ReturnHomeModel(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ReturnHomeModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReturnHomeModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReturnHomeModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): ReturnHomeModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new ReturnHomeModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IReturnHomeModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IReturnHomeModel;\r\n}\r\n\r\nexport class RuntimeFieldHandle implements IRuntimeFieldHandle {\r\n value?: IntPtr;\r\n\r\n constructor(data?: IRuntimeFieldHandle) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.value = data.value && !(data.value).toJSON ? new IntPtr(data.value) : this.value; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.value = _data[\"value\"] ? IntPtr.fromJS(_data[\"value\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): RuntimeFieldHandle {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RuntimeFieldHandle();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value ? this.value.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): RuntimeFieldHandle {\r\n const json = this.toJSON();\r\n let result = new RuntimeFieldHandle();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IRuntimeFieldHandle {\r\n value?: IIntPtr;\r\n}\r\n\r\nexport class RuntimeMethodHandle implements IRuntimeMethodHandle {\r\n value?: IntPtr;\r\n\r\n constructor(data?: IRuntimeMethodHandle) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.value = data.value && !(data.value).toJSON ? new IntPtr(data.value) : this.value; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.value = _data[\"value\"] ? IntPtr.fromJS(_data[\"value\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): RuntimeMethodHandle {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RuntimeMethodHandle();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value ? this.value.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): RuntimeMethodHandle {\r\n const json = this.toJSON();\r\n let result = new RuntimeMethodHandle();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IRuntimeMethodHandle {\r\n value?: IIntPtr;\r\n}\r\n\r\nexport class RuntimeTypeHandle implements IRuntimeTypeHandle {\r\n value?: IntPtr;\r\n\r\n constructor(data?: IRuntimeTypeHandle) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.value = data.value && !(data.value).toJSON ? new IntPtr(data.value) : this.value; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.value = _data[\"value\"] ? IntPtr.fromJS(_data[\"value\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): RuntimeTypeHandle {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RuntimeTypeHandle();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value ? this.value.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): RuntimeTypeHandle {\r\n const json = this.toJSON();\r\n let result = new RuntimeTypeHandle();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IRuntimeTypeHandle {\r\n value?: IIntPtr;\r\n}\r\n\r\nexport enum SchemaSerializationMode {\r\n _1 = 1,\r\n _2 = 2,\r\n}\r\n\r\nexport class SearchRequestModel implements ISearchRequestModel {\r\n search?: string | undefined;\r\n currentPage?: number;\r\n linhVucId?: number | undefined;\r\n diaBan?: number | undefined;\r\n unitCode?: string | undefined;\r\n tag?: string | undefined;\r\n orderDESCBy?: string | undefined;\r\n\r\n constructor(data?: ISearchRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.search = _data[\"search\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.linhVucId = _data[\"linhVucId\"];\r\n this.diaBan = _data[\"diaBan\"];\r\n this.unitCode = _data[\"unitCode\"];\r\n this.tag = _data[\"tag\"];\r\n this.orderDESCBy = _data[\"orderDESCBy\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"search\"] = this.search;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"linhVucId\"] = this.linhVucId;\r\n data[\"diaBan\"] = this.diaBan;\r\n data[\"unitCode\"] = this.unitCode;\r\n data[\"tag\"] = this.tag;\r\n data[\"orderDESCBy\"] = this.orderDESCBy;\r\n return data; \r\n }\r\n\r\n clone(): SearchRequestModel {\r\n const json = this.toJSON();\r\n let result = new SearchRequestModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISearchRequestModel {\r\n search?: string | undefined;\r\n currentPage?: number;\r\n linhVucId?: number | undefined;\r\n diaBan?: number | undefined;\r\n unitCode?: string | undefined;\r\n tag?: string | undefined;\r\n orderDESCBy?: string | undefined;\r\n}\r\n\r\nexport enum SecurityRuleSet {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n}\r\n\r\nexport class SendCommentModel implements ISendCommentModel {\r\n postId?: number;\r\n providerId?: string | undefined;\r\n content?: string | undefined;\r\n parentId?: number | undefined;\r\n\r\n constructor(data?: ISendCommentModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.postId = _data[\"postId\"];\r\n this.providerId = _data[\"providerId\"];\r\n this.content = _data[\"content\"];\r\n this.parentId = _data[\"parentId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SendCommentModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SendCommentModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"postId\"] = this.postId;\r\n data[\"providerId\"] = this.providerId;\r\n data[\"content\"] = this.content;\r\n data[\"parentId\"] = this.parentId;\r\n return data; \r\n }\r\n\r\n clone(): SendCommentModel {\r\n const json = this.toJSON();\r\n let result = new SendCommentModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISendCommentModel {\r\n postId?: number;\r\n providerId?: string | undefined;\r\n content?: string | undefined;\r\n parentId?: number | undefined;\r\n}\r\n\r\nexport class SendPostFileModel implements ISendPostFileModel {\r\n fileId?: number;\r\n name?: string | undefined;\r\n\r\n constructor(data?: ISendPostFileModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fileId = _data[\"fileId\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SendPostFileModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SendPostFileModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fileId\"] = this.fileId;\r\n data[\"name\"] = this.name;\r\n return data; \r\n }\r\n\r\n clone(): SendPostFileModel {\r\n const json = this.toJSON();\r\n let result = new SendPostFileModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISendPostFileModel {\r\n fileId?: number;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class SendPostModel implements ISendPostModel {\r\n providerId?: string | undefined;\r\n tieuDe?: string | undefined;\r\n noiDung?: string | undefined;\r\n diaDiem?: string | undefined;\r\n sodienthoai?: string | undefined;\r\n linhVucId?: number;\r\n diaBanHuyenId?: number | undefined;\r\n diaBanXaId?: number | undefined;\r\n diaBanThonId?: number | undefined;\r\n diaBanTinhId?: number | undefined;\r\n unitCode?: string | undefined;\r\n anh?: string | undefined;\r\n linkVideo?: string | undefined;\r\n lstImage?: SendPostFileModel[] | undefined;\r\n lstFile?: SendPostFileModel[] | undefined;\r\n kenhTiepNhan?: string | undefined;\r\n from_FullName?: string | undefined;\r\n nameThanhVien?: string | undefined;\r\n\r\n constructor(data?: ISendPostModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstImage) {\r\n this.lstImage = [];\r\n for (let i = 0; i < data.lstImage.length; i++) {\r\n let item = data.lstImage[i];\r\n this.lstImage[i] = item && !(item).toJSON ? new SendPostFileModel(item) : item;\r\n }\r\n }\r\n if (data.lstFile) {\r\n this.lstFile = [];\r\n for (let i = 0; i < data.lstFile.length; i++) {\r\n let item = data.lstFile[i];\r\n this.lstFile[i] = item && !(item).toJSON ? new SendPostFileModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.providerId = _data[\"providerId\"];\r\n this.tieuDe = _data[\"tieuDe\"];\r\n this.noiDung = _data[\"noiDung\"];\r\n this.diaDiem = _data[\"diaDiem\"];\r\n this.sodienthoai = _data[\"sodienthoai\"];\r\n this.linhVucId = _data[\"linhVucId\"];\r\n this.diaBanHuyenId = _data[\"diaBanHuyenId\"];\r\n this.diaBanXaId = _data[\"diaBanXaId\"];\r\n this.diaBanThonId = _data[\"diaBanThonId\"];\r\n this.diaBanTinhId = _data[\"diaBanTinhId\"];\r\n this.unitCode = _data[\"unitCode\"];\r\n this.anh = _data[\"anh\"];\r\n this.linkVideo = _data[\"linkVideo\"];\r\n if (Array.isArray(_data[\"lstImage\"])) {\r\n this.lstImage = [] as any;\r\n for (let item of _data[\"lstImage\"])\r\n this.lstImage!.push(SendPostFileModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstFile\"])) {\r\n this.lstFile = [] as any;\r\n for (let item of _data[\"lstFile\"])\r\n this.lstFile!.push(SendPostFileModel.fromJS(item));\r\n }\r\n this.kenhTiepNhan = _data[\"kenhTiepNhan\"];\r\n this.from_FullName = _data[\"from_FullName\"];\r\n this.nameThanhVien = _data[\"nameThanhVien\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SendPostModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SendPostModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"providerId\"] = this.providerId;\r\n data[\"tieuDe\"] = this.tieuDe;\r\n data[\"noiDung\"] = this.noiDung;\r\n data[\"diaDiem\"] = this.diaDiem;\r\n data[\"sodienthoai\"] = this.sodienthoai;\r\n data[\"linhVucId\"] = this.linhVucId;\r\n data[\"diaBanHuyenId\"] = this.diaBanHuyenId;\r\n data[\"diaBanXaId\"] = this.diaBanXaId;\r\n data[\"diaBanThonId\"] = this.diaBanThonId;\r\n data[\"diaBanTinhId\"] = this.diaBanTinhId;\r\n data[\"unitCode\"] = this.unitCode;\r\n data[\"anh\"] = this.anh;\r\n data[\"linkVideo\"] = this.linkVideo;\r\n if (Array.isArray(this.lstImage)) {\r\n data[\"lstImage\"] = [];\r\n for (let item of this.lstImage)\r\n data[\"lstImage\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstFile)) {\r\n data[\"lstFile\"] = [];\r\n for (let item of this.lstFile)\r\n data[\"lstFile\"].push(item.toJSON());\r\n }\r\n data[\"kenhTiepNhan\"] = this.kenhTiepNhan;\r\n data[\"from_FullName\"] = this.from_FullName;\r\n data[\"nameThanhVien\"] = this.nameThanhVien;\r\n return data; \r\n }\r\n\r\n clone(): SendPostModel {\r\n const json = this.toJSON();\r\n let result = new SendPostModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISendPostModel {\r\n providerId?: string | undefined;\r\n tieuDe?: string | undefined;\r\n noiDung?: string | undefined;\r\n diaDiem?: string | undefined;\r\n sodienthoai?: string | undefined;\r\n linhVucId?: number;\r\n diaBanHuyenId?: number | undefined;\r\n diaBanXaId?: number | undefined;\r\n diaBanThonId?: number | undefined;\r\n diaBanTinhId?: number | undefined;\r\n unitCode?: string | undefined;\r\n anh?: string | undefined;\r\n linkVideo?: string | undefined;\r\n lstImage?: ISendPostFileModel[] | undefined;\r\n lstFile?: ISendPostFileModel[] | undefined;\r\n kenhTiepNhan?: string | undefined;\r\n from_FullName?: string | undefined;\r\n nameThanhVien?: string | undefined;\r\n}\r\n\r\nexport enum SerializationFormat {\r\n _0 = 0,\r\n _1 = 1,\r\n}\r\n\r\nexport class SortFilterModel implements ISortFilterModel {\r\n value?: string | undefined;\r\n name?: string | undefined;\r\n\r\n constructor(data?: ISortFilterModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.value = _data[\"value\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SortFilterModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SortFilterModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value;\r\n data[\"name\"] = this.name;\r\n return data; \r\n }\r\n\r\n clone(): SortFilterModel {\r\n const json = this.toJSON();\r\n let result = new SortFilterModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISortFilterModel {\r\n value?: string | undefined;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class SortVersion implements ISortVersion {\r\n readonly fullVersion?: number;\r\n readonly sortId?: string;\r\n\r\n constructor(data?: ISortVersion) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).fullVersion = _data[\"fullVersion\"];\r\n (this).sortId = _data[\"sortId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SortVersion {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SortVersion();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fullVersion\"] = this.fullVersion;\r\n data[\"sortId\"] = this.sortId;\r\n return data; \r\n }\r\n\r\n clone(): SortVersion {\r\n const json = this.toJSON();\r\n let result = new SortVersion();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISortVersion {\r\n fullVersion?: number;\r\n sortId?: string;\r\n}\r\n\r\nexport class StructLayoutAttribute implements IStructLayoutAttribute {\r\n readonly typeId?: any | undefined;\r\n value?: LayoutKind;\r\n\r\n constructor(data?: IStructLayoutAttribute) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).typeId = _data[\"typeId\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): StructLayoutAttribute {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StructLayoutAttribute();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"typeId\"] = this.typeId;\r\n data[\"value\"] = this.value;\r\n return data; \r\n }\r\n\r\n clone(): StructLayoutAttribute {\r\n const json = this.toJSON();\r\n let result = new StructLayoutAttribute();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IStructLayoutAttribute {\r\n typeId?: any | undefined;\r\n value?: LayoutKind;\r\n}\r\n\r\nexport class SubmitXuLyGopYModel implements ISubmitXuLyGopYModel {\r\n id?: number;\r\n type?: number;\r\n isTrinhLanhDao?: boolean;\r\n idCanBo?: number | undefined;\r\n tenCanBo?: string | undefined;\r\n donViHoTro?: string | undefined;\r\n idDonVi?: number | undefined;\r\n yKienXuLy?: string | undefined;\r\n ketQuaXuLy?: string | undefined;\r\n\r\n constructor(data?: ISubmitXuLyGopYModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.type = _data[\"type\"];\r\n this.isTrinhLanhDao = _data[\"isTrinhLanhDao\"];\r\n this.idCanBo = _data[\"idCanBo\"];\r\n this.tenCanBo = _data[\"tenCanBo\"];\r\n this.donViHoTro = _data[\"donViHoTro\"];\r\n this.idDonVi = _data[\"idDonVi\"];\r\n this.yKienXuLy = _data[\"yKienXuLy\"];\r\n this.ketQuaXuLy = _data[\"ketQuaXuLy\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SubmitXuLyGopYModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SubmitXuLyGopYModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"type\"] = this.type;\r\n data[\"isTrinhLanhDao\"] = this.isTrinhLanhDao;\r\n data[\"idCanBo\"] = this.idCanBo;\r\n data[\"tenCanBo\"] = this.tenCanBo;\r\n data[\"donViHoTro\"] = this.donViHoTro;\r\n data[\"idDonVi\"] = this.idDonVi;\r\n data[\"yKienXuLy\"] = this.yKienXuLy;\r\n data[\"ketQuaXuLy\"] = this.ketQuaXuLy;\r\n return data; \r\n }\r\n\r\n clone(): SubmitXuLyGopYModel {\r\n const json = this.toJSON();\r\n let result = new SubmitXuLyGopYModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISubmitXuLyGopYModel {\r\n id?: number;\r\n type?: number;\r\n isTrinhLanhDao?: boolean;\r\n idCanBo?: number | undefined;\r\n tenCanBo?: string | undefined;\r\n donViHoTro?: string | undefined;\r\n idDonVi?: number | undefined;\r\n yKienXuLy?: string | undefined;\r\n ketQuaXuLy?: string | undefined;\r\n}\r\n\r\nexport class SupportUnitModel implements ISupportUnitModel {\r\n unitcode?: string | undefined;\r\n unitname?: string | undefined;\r\n level?: number | undefined;\r\n parentUnitcode?: string | undefined;\r\n\r\n constructor(data?: ISupportUnitModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.unitcode = _data[\"unitcode\"];\r\n this.unitname = _data[\"unitname\"];\r\n this.level = _data[\"level\"];\r\n this.parentUnitcode = _data[\"parentUnitcode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupportUnitModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupportUnitModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"unitcode\"] = this.unitcode;\r\n data[\"unitname\"] = this.unitname;\r\n data[\"level\"] = this.level;\r\n data[\"parentUnitcode\"] = this.parentUnitcode;\r\n return data; \r\n }\r\n\r\n clone(): SupportUnitModel {\r\n const json = this.toJSON();\r\n let result = new SupportUnitModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISupportUnitModel {\r\n unitcode?: string | undefined;\r\n unitname?: string | undefined;\r\n level?: number | undefined;\r\n parentUnitcode?: string | undefined;\r\n}\r\n\r\nexport class TemplateReplyPost implements ITemplateReplyPost {\r\n id?: number;\r\n ten?: string | undefined;\r\n noiDung?: string | undefined;\r\n\r\n constructor(data?: ITemplateReplyPost) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.ten = _data[\"ten\"];\r\n this.noiDung = _data[\"noiDung\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TemplateReplyPost {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TemplateReplyPost();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"ten\"] = this.ten;\r\n data[\"noiDung\"] = this.noiDung;\r\n return data; \r\n }\r\n\r\n clone(): TemplateReplyPost {\r\n const json = this.toJSON();\r\n let result = new TemplateReplyPost();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITemplateReplyPost {\r\n id?: number;\r\n ten?: string | undefined;\r\n noiDung?: string | undefined;\r\n}\r\n\r\nexport class TextInfo implements ITextInfo {\r\n readonly ansiCodePage?: number;\r\n readonly oemCodePage?: number;\r\n readonly macCodePage?: number;\r\n readonly ebcdicCodePage?: number;\r\n readonly lcid?: number;\r\n readonly cultureName?: string | undefined;\r\n readonly isReadOnly?: boolean;\r\n listSeparator?: string | undefined;\r\n readonly isRightToLeft?: boolean;\r\n\r\n constructor(data?: ITextInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).ansiCodePage = _data[\"ansiCodePage\"];\r\n (this).oemCodePage = _data[\"oemCodePage\"];\r\n (this).macCodePage = _data[\"macCodePage\"];\r\n (this).ebcdicCodePage = _data[\"ebcdicCodePage\"];\r\n (this).lcid = _data[\"lcid\"];\r\n (this).cultureName = _data[\"cultureName\"];\r\n (this).isReadOnly = _data[\"isReadOnly\"];\r\n this.listSeparator = _data[\"listSeparator\"];\r\n (this).isRightToLeft = _data[\"isRightToLeft\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TextInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TextInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"ansiCodePage\"] = this.ansiCodePage;\r\n data[\"oemCodePage\"] = this.oemCodePage;\r\n data[\"macCodePage\"] = this.macCodePage;\r\n data[\"ebcdicCodePage\"] = this.ebcdicCodePage;\r\n data[\"lcid\"] = this.lcid;\r\n data[\"cultureName\"] = this.cultureName;\r\n data[\"isReadOnly\"] = this.isReadOnly;\r\n data[\"listSeparator\"] = this.listSeparator;\r\n data[\"isRightToLeft\"] = this.isRightToLeft;\r\n return data; \r\n }\r\n\r\n clone(): TextInfo {\r\n const json = this.toJSON();\r\n let result = new TextInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITextInfo {\r\n ansiCodePage?: number;\r\n oemCodePage?: number;\r\n macCodePage?: number;\r\n ebcdicCodePage?: number;\r\n lcid?: number;\r\n cultureName?: string | undefined;\r\n isReadOnly?: boolean;\r\n listSeparator?: string | undefined;\r\n isRightToLeft?: boolean;\r\n}\r\n\r\nexport class ThanhvienEntity implements IThanhvienEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n address?: string | undefined;\r\n email?: string | undefined;\r\n id?: number;\r\n idprovider?: string | undefined;\r\n image?: string | undefined;\r\n name?: string | undefined;\r\n provider?: string | undefined;\r\n phone?: string | undefined;\r\n token?: string | undefined;\r\n readonly binhluangopies?: BinhluangopyEntity[] | undefined;\r\n readonly luotquantams?: LuotquantamEntity[] | undefined;\r\n readonly noidunggopies?: NoidunggopyEntity[] | undefined;\r\n\r\n constructor(data?: IThanhvienEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n if (data.binhluangopies) {\r\n this.binhluangopies = [];\r\n for (let i = 0; i < data.binhluangopies.length; i++) {\r\n let item = data.binhluangopies[i];\r\n this.binhluangopies[i] = item && !(item).toJSON ? new BinhluangopyEntity(item) : item;\r\n }\r\n }\r\n if (data.luotquantams) {\r\n this.luotquantams = [];\r\n for (let i = 0; i < data.luotquantams.length; i++) {\r\n let item = data.luotquantams[i];\r\n this.luotquantams[i] = item && !(item).toJSON ? new LuotquantamEntity(item) : item;\r\n }\r\n }\r\n if (data.noidunggopies) {\r\n this.noidunggopies = [];\r\n for (let i = 0; i < data.noidunggopies.length; i++) {\r\n let item = data.noidunggopies[i];\r\n this.noidunggopies[i] = item && !(item).toJSON ? new NoidunggopyEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.address = _data[\"address\"];\r\n this.email = _data[\"email\"];\r\n this.id = _data[\"id\"];\r\n this.idprovider = _data[\"idprovider\"];\r\n this.image = _data[\"image\"];\r\n this.name = _data[\"name\"];\r\n this.provider = _data[\"provider\"];\r\n this.phone = _data[\"phone\"];\r\n this.token = _data[\"token\"];\r\n if (Array.isArray(_data[\"binhluangopies\"])) {\r\n (this).binhluangopies = [] as any;\r\n for (let item of _data[\"binhluangopies\"])\r\n (this).binhluangopies!.push(BinhluangopyEntity.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"luotquantams\"])) {\r\n (this).luotquantams = [] as any;\r\n for (let item of _data[\"luotquantams\"])\r\n (this).luotquantams!.push(LuotquantamEntity.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"noidunggopies\"])) {\r\n (this).noidunggopies = [] as any;\r\n for (let item of _data[\"noidunggopies\"])\r\n (this).noidunggopies!.push(NoidunggopyEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThanhvienEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThanhvienEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"address\"] = this.address;\r\n data[\"email\"] = this.email;\r\n data[\"id\"] = this.id;\r\n data[\"idprovider\"] = this.idprovider;\r\n data[\"image\"] = this.image;\r\n data[\"name\"] = this.name;\r\n data[\"provider\"] = this.provider;\r\n data[\"phone\"] = this.phone;\r\n data[\"token\"] = this.token;\r\n if (Array.isArray(this.binhluangopies)) {\r\n data[\"binhluangopies\"] = [];\r\n for (let item of this.binhluangopies)\r\n data[\"binhluangopies\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.luotquantams)) {\r\n data[\"luotquantams\"] = [];\r\n for (let item of this.luotquantams)\r\n data[\"luotquantams\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.noidunggopies)) {\r\n data[\"noidunggopies\"] = [];\r\n for (let item of this.noidunggopies)\r\n data[\"noidunggopies\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): ThanhvienEntity {\r\n const json = this.toJSON();\r\n let result = new ThanhvienEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThanhvienEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n address?: string | undefined;\r\n email?: string | undefined;\r\n id?: number;\r\n idprovider?: string | undefined;\r\n image?: string | undefined;\r\n name?: string | undefined;\r\n provider?: string | undefined;\r\n phone?: string | undefined;\r\n token?: string | undefined;\r\n binhluangopies?: IBinhluangopyEntity[] | undefined;\r\n luotquantams?: ILuotquantamEntity[] | undefined;\r\n noidunggopies?: INoidunggopyEntity[] | undefined;\r\n}\r\n\r\nexport class ThanhvienEntityApiResponse implements IThanhvienEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ThanhvienEntity;\r\n\r\n constructor(data?: IThanhvienEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ThanhvienEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ThanhvienEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThanhvienEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThanhvienEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): ThanhvienEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new ThanhvienEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThanhvienEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IThanhvienEntity;\r\n}\r\n\r\nexport class ThongKeGopYFilterModel implements IThongKeGopYFilterModel {\r\n value?: number;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IThongKeGopYFilterModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.value = _data[\"value\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongKeGopYFilterModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongKeGopYFilterModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value;\r\n data[\"name\"] = this.name;\r\n return data; \r\n }\r\n\r\n clone(): ThongKeGopYFilterModel {\r\n const json = this.toJSON();\r\n let result = new ThongKeGopYFilterModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongKeGopYFilterModel {\r\n value?: number;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class ThongKeGopYFiltersModel implements IThongKeGopYFiltersModel {\r\n lstDonViXuLy?: DonViFilterModel[] | undefined;\r\n lstDiaBan?: ThongKeGopYFilterModel[] | undefined;\r\n lstLinhVuc?: ThongKeGopYFilterModel[] | undefined;\r\n lstTinhTrang?: ThongKeGopYFilterModel[] | undefined;\r\n\r\n constructor(data?: IThongKeGopYFiltersModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstDonViXuLy) {\r\n this.lstDonViXuLy = [];\r\n for (let i = 0; i < data.lstDonViXuLy.length; i++) {\r\n let item = data.lstDonViXuLy[i];\r\n this.lstDonViXuLy[i] = item && !(item).toJSON ? new DonViFilterModel(item) : item;\r\n }\r\n }\r\n if (data.lstDiaBan) {\r\n this.lstDiaBan = [];\r\n for (let i = 0; i < data.lstDiaBan.length; i++) {\r\n let item = data.lstDiaBan[i];\r\n this.lstDiaBan[i] = item && !(item).toJSON ? new ThongKeGopYFilterModel(item) : item;\r\n }\r\n }\r\n if (data.lstLinhVuc) {\r\n this.lstLinhVuc = [];\r\n for (let i = 0; i < data.lstLinhVuc.length; i++) {\r\n let item = data.lstLinhVuc[i];\r\n this.lstLinhVuc[i] = item && !(item).toJSON ? new ThongKeGopYFilterModel(item) : item;\r\n }\r\n }\r\n if (data.lstTinhTrang) {\r\n this.lstTinhTrang = [];\r\n for (let i = 0; i < data.lstTinhTrang.length; i++) {\r\n let item = data.lstTinhTrang[i];\r\n this.lstTinhTrang[i] = item && !(item).toJSON ? new ThongKeGopYFilterModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"lstDonViXuLy\"])) {\r\n this.lstDonViXuLy = [] as any;\r\n for (let item of _data[\"lstDonViXuLy\"])\r\n this.lstDonViXuLy!.push(DonViFilterModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstDiaBan\"])) {\r\n this.lstDiaBan = [] as any;\r\n for (let item of _data[\"lstDiaBan\"])\r\n this.lstDiaBan!.push(ThongKeGopYFilterModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstLinhVuc\"])) {\r\n this.lstLinhVuc = [] as any;\r\n for (let item of _data[\"lstLinhVuc\"])\r\n this.lstLinhVuc!.push(ThongKeGopYFilterModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstTinhTrang\"])) {\r\n this.lstTinhTrang = [] as any;\r\n for (let item of _data[\"lstTinhTrang\"])\r\n this.lstTinhTrang!.push(ThongKeGopYFilterModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongKeGopYFiltersModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongKeGopYFiltersModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.lstDonViXuLy)) {\r\n data[\"lstDonViXuLy\"] = [];\r\n for (let item of this.lstDonViXuLy)\r\n data[\"lstDonViXuLy\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstDiaBan)) {\r\n data[\"lstDiaBan\"] = [];\r\n for (let item of this.lstDiaBan)\r\n data[\"lstDiaBan\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstLinhVuc)) {\r\n data[\"lstLinhVuc\"] = [];\r\n for (let item of this.lstLinhVuc)\r\n data[\"lstLinhVuc\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstTinhTrang)) {\r\n data[\"lstTinhTrang\"] = [];\r\n for (let item of this.lstTinhTrang)\r\n data[\"lstTinhTrang\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): ThongKeGopYFiltersModel {\r\n const json = this.toJSON();\r\n let result = new ThongKeGopYFiltersModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongKeGopYFiltersModel {\r\n lstDonViXuLy?: IDonViFilterModel[] | undefined;\r\n lstDiaBan?: IThongKeGopYFilterModel[] | undefined;\r\n lstLinhVuc?: IThongKeGopYFilterModel[] | undefined;\r\n lstTinhTrang?: IThongKeGopYFilterModel[] | undefined;\r\n}\r\n\r\nexport class ThongKeGopYFiltersModelApiResponse implements IThongKeGopYFiltersModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ThongKeGopYFiltersModel;\r\n\r\n constructor(data?: IThongKeGopYFiltersModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ThongKeGopYFiltersModel(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ThongKeGopYFiltersModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongKeGopYFiltersModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongKeGopYFiltersModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): ThongKeGopYFiltersModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new ThongKeGopYFiltersModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongKeGopYFiltersModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IThongKeGopYFiltersModel;\r\n}\r\n\r\nexport class ThongKeGopYItemModel implements IThongKeGopYItemModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n tenDonViXuLy?: string | undefined;\r\n trangThaiXuLy?: string | undefined;\r\n trangThaiXuLyColor?: string | undefined;\r\n ngayGopY?: Date;\r\n\r\n constructor(data?: IThongKeGopYItemModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tieuDe = _data[\"tieuDe\"];\r\n this.tenDonViXuLy = _data[\"tenDonViXuLy\"];\r\n this.trangThaiXuLy = _data[\"trangThaiXuLy\"];\r\n this.trangThaiXuLyColor = _data[\"trangThaiXuLyColor\"];\r\n this.ngayGopY = _data[\"ngayGopY\"] ? new Date(_data[\"ngayGopY\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongKeGopYItemModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongKeGopYItemModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tieuDe\"] = this.tieuDe;\r\n data[\"tenDonViXuLy\"] = this.tenDonViXuLy;\r\n data[\"trangThaiXuLy\"] = this.trangThaiXuLy;\r\n data[\"trangThaiXuLyColor\"] = this.trangThaiXuLyColor;\r\n data[\"ngayGopY\"] = this.ngayGopY ? this.ngayGopY.toISOString() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): ThongKeGopYItemModel {\r\n const json = this.toJSON();\r\n let result = new ThongKeGopYItemModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongKeGopYItemModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n tenDonViXuLy?: string | undefined;\r\n trangThaiXuLy?: string | undefined;\r\n trangThaiXuLyColor?: string | undefined;\r\n ngayGopY?: Date;\r\n}\r\n\r\nexport class ThongKeGopYItemModelListApiResponse implements IThongKeGopYItemModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ThongKeGopYItemModel[] | undefined;\r\n\r\n constructor(data?: IThongKeGopYItemModelListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ThongKeGopYItemModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ThongKeGopYItemModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongKeGopYItemModelListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongKeGopYItemModelListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): ThongKeGopYItemModelListApiResponse {\r\n const json = this.toJSON();\r\n let result = new ThongKeGopYItemModelListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongKeGopYItemModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IThongKeGopYItemModel[] | undefined;\r\n}\r\n\r\nexport class ThongKeGopYRequestModel implements IThongKeGopYRequestModel {\r\n search?: string | undefined;\r\n linhVucId?: number | undefined;\r\n diaBanId?: number | undefined;\r\n unitCode?: string | undefined;\r\n tinhTrangId?: number | undefined;\r\n orderDESCBy?: string | undefined;\r\n currentPage?: number;\r\n\r\n constructor(data?: IThongKeGopYRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.search = _data[\"search\"];\r\n this.linhVucId = _data[\"linhVucId\"];\r\n this.diaBanId = _data[\"diaBanId\"];\r\n this.unitCode = _data[\"unitCode\"];\r\n this.tinhTrangId = _data[\"tinhTrangId\"];\r\n this.orderDESCBy = _data[\"orderDESCBy\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongKeGopYRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongKeGopYRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"search\"] = this.search;\r\n data[\"linhVucId\"] = this.linhVucId;\r\n data[\"diaBanId\"] = this.diaBanId;\r\n data[\"unitCode\"] = this.unitCode;\r\n data[\"tinhTrangId\"] = this.tinhTrangId;\r\n data[\"orderDESCBy\"] = this.orderDESCBy;\r\n data[\"currentPage\"] = this.currentPage;\r\n return data; \r\n }\r\n\r\n clone(): ThongKeGopYRequestModel {\r\n const json = this.toJSON();\r\n let result = new ThongKeGopYRequestModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongKeGopYRequestModel {\r\n search?: string | undefined;\r\n linhVucId?: number | undefined;\r\n diaBanId?: number | undefined;\r\n unitCode?: string | undefined;\r\n tinhTrangId?: number | undefined;\r\n orderDESCBy?: string | undefined;\r\n currentPage?: number;\r\n}\r\n\r\nexport class ThongKeGopYView implements IThongKeGopYView {\r\n id?: number;\r\n status?: string | undefined;\r\n\r\n constructor(data?: IThongKeGopYView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.status = _data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongKeGopYView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongKeGopYView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"status\"] = this.status;\r\n return data; \r\n }\r\n\r\n clone(): ThongKeGopYView {\r\n const json = this.toJSON();\r\n let result = new ThongKeGopYView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongKeGopYView {\r\n id?: number;\r\n status?: string | undefined;\r\n}\r\n\r\nexport class ThongKeGopYViewModel implements IThongKeGopYViewModel {\r\n id?: number;\r\n noidung?: string | undefined;\r\n diadiem?: string | undefined;\r\n thoigianphananh?: Date;\r\n thoigiantiepnhancuoi?: Date | undefined;\r\n trangthai?: string | undefined;\r\n tentrangthai?: string | undefined;\r\n mamautrangthai?: string | undefined;\r\n kenhtiepnhan?: string | undefined;\r\n hoten?: string | undefined;\r\n sdt?: string | undefined;\r\n email?: string | undefined;\r\n dichvu?: string | undefined;\r\n tieude?: string | undefined;\r\n linhvuc?: number | undefined;\r\n tenlinhvuc?: string | undefined;\r\n noidungphanhoi?: string | undefined;\r\n maunoidungph?: string | undefined;\r\n trangthaihienthi?: number | undefined;\r\n trangthaixuly?: number | undefined;\r\n isShowProcess?: boolean;\r\n isShowApprove?: boolean;\r\n isShowAssignToEmployees?: boolean;\r\n tenDonViXuLy?: string | undefined;\r\n yKienDiKem?: string | undefined;\r\n\r\n constructor(data?: IThongKeGopYViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.noidung = _data[\"noidung\"];\r\n this.diadiem = _data[\"diadiem\"];\r\n this.thoigianphananh = _data[\"thoigianphananh\"] ? new Date(_data[\"thoigianphananh\"].toString()) : undefined;\r\n this.thoigiantiepnhancuoi = _data[\"thoigiantiepnhancuoi\"] ? new Date(_data[\"thoigiantiepnhancuoi\"].toString()) : undefined;\r\n this.trangthai = _data[\"trangthai\"];\r\n this.tentrangthai = _data[\"tentrangthai\"];\r\n this.mamautrangthai = _data[\"mamautrangthai\"];\r\n this.kenhtiepnhan = _data[\"kenhtiepnhan\"];\r\n this.hoten = _data[\"hoten\"];\r\n this.sdt = _data[\"sdt\"];\r\n this.email = _data[\"email\"];\r\n this.dichvu = _data[\"dichvu\"];\r\n this.tieude = _data[\"tieude\"];\r\n this.linhvuc = _data[\"linhvuc\"];\r\n this.tenlinhvuc = _data[\"tenlinhvuc\"];\r\n this.noidungphanhoi = _data[\"noidungphanhoi\"];\r\n this.maunoidungph = _data[\"maunoidungph\"];\r\n this.trangthaihienthi = _data[\"trangthaihienthi\"];\r\n this.trangthaixuly = _data[\"trangthaixuly\"];\r\n this.isShowProcess = _data[\"isShowProcess\"];\r\n this.isShowApprove = _data[\"isShowApprove\"];\r\n this.isShowAssignToEmployees = _data[\"isShowAssignToEmployees\"];\r\n this.tenDonViXuLy = _data[\"tenDonViXuLy\"];\r\n this.yKienDiKem = _data[\"yKienDiKem\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongKeGopYViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongKeGopYViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"noidung\"] = this.noidung;\r\n data[\"diadiem\"] = this.diadiem;\r\n data[\"thoigianphananh\"] = this.thoigianphananh ? this.thoigianphananh.toISOString() : undefined;\r\n data[\"thoigiantiepnhancuoi\"] = this.thoigiantiepnhancuoi ? this.thoigiantiepnhancuoi.toISOString() : undefined;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"tentrangthai\"] = this.tentrangthai;\r\n data[\"mamautrangthai\"] = this.mamautrangthai;\r\n data[\"kenhtiepnhan\"] = this.kenhtiepnhan;\r\n data[\"hoten\"] = this.hoten;\r\n data[\"sdt\"] = this.sdt;\r\n data[\"email\"] = this.email;\r\n data[\"dichvu\"] = this.dichvu;\r\n data[\"tieude\"] = this.tieude;\r\n data[\"linhvuc\"] = this.linhvuc;\r\n data[\"tenlinhvuc\"] = this.tenlinhvuc;\r\n data[\"noidungphanhoi\"] = this.noidungphanhoi;\r\n data[\"maunoidungph\"] = this.maunoidungph;\r\n data[\"trangthaihienthi\"] = this.trangthaihienthi;\r\n data[\"trangthaixuly\"] = this.trangthaixuly;\r\n data[\"isShowProcess\"] = this.isShowProcess;\r\n data[\"isShowApprove\"] = this.isShowApprove;\r\n data[\"isShowAssignToEmployees\"] = this.isShowAssignToEmployees;\r\n data[\"tenDonViXuLy\"] = this.tenDonViXuLy;\r\n data[\"yKienDiKem\"] = this.yKienDiKem;\r\n return data; \r\n }\r\n\r\n clone(): ThongKeGopYViewModel {\r\n const json = this.toJSON();\r\n let result = new ThongKeGopYViewModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongKeGopYViewModel {\r\n id?: number;\r\n noidung?: string | undefined;\r\n diadiem?: string | undefined;\r\n thoigianphananh?: Date;\r\n thoigiantiepnhancuoi?: Date | undefined;\r\n trangthai?: string | undefined;\r\n tentrangthai?: string | undefined;\r\n mamautrangthai?: string | undefined;\r\n kenhtiepnhan?: string | undefined;\r\n hoten?: string | undefined;\r\n sdt?: string | undefined;\r\n email?: string | undefined;\r\n dichvu?: string | undefined;\r\n tieude?: string | undefined;\r\n linhvuc?: number | undefined;\r\n tenlinhvuc?: string | undefined;\r\n noidungphanhoi?: string | undefined;\r\n maunoidungph?: string | undefined;\r\n trangthaihienthi?: number | undefined;\r\n trangthaixuly?: number | undefined;\r\n isShowProcess?: boolean;\r\n isShowApprove?: boolean;\r\n isShowAssignToEmployees?: boolean;\r\n tenDonViXuLy?: string | undefined;\r\n yKienDiKem?: string | undefined;\r\n}\r\n\r\nexport class ThongKeGopYViewModelIEnumerablePageModelView implements IThongKeGopYViewModelIEnumerablePageModelView {\r\n data?: ThongKeGopYViewModel[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IThongKeGopYViewModelIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ThongKeGopYViewModel(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ThongKeGopYViewModel.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongKeGopYViewModelIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongKeGopYViewModelIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data; \r\n }\r\n\r\n clone(): ThongKeGopYViewModelIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new ThongKeGopYViewModelIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongKeGopYViewModelIEnumerablePageModelView {\r\n data?: IThongKeGopYViewModel[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class ThongKeGopYViewModelIEnumerablePageModelViewApiResponse implements IThongKeGopYViewModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ThongKeGopYViewModelIEnumerablePageModelView;\r\n\r\n constructor(data?: IThongKeGopYViewModelIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ThongKeGopYViewModelIEnumerablePageModelView(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ThongKeGopYViewModelIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongKeGopYViewModelIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongKeGopYViewModelIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): ThongKeGopYViewModelIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new ThongKeGopYViewModelIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongKeGopYViewModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IThongKeGopYViewModelIEnumerablePageModelView;\r\n}\r\n\r\nexport class ThongTinDinhKemChuyenDonViXuLyModel implements IThongTinDinhKemChuyenDonViXuLyModel {\r\n tieuDe?: string | undefined;\r\n diaDiem?: string | undefined;\r\n linhVucId?: number | undefined;\r\n noiDung?: string | undefined;\r\n lstFileDelete?: number[] | undefined;\r\n isDeleteVideo?: boolean;\r\n huyen?: number | undefined;\r\n xa?: number | undefined;\r\n\r\n constructor(data?: IThongTinDinhKemChuyenDonViXuLyModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.tieuDe = _data[\"tieuDe\"];\r\n this.diaDiem = _data[\"diaDiem\"];\r\n this.linhVucId = _data[\"linhVucId\"];\r\n this.noiDung = _data[\"noiDung\"];\r\n if (Array.isArray(_data[\"lstFileDelete\"])) {\r\n this.lstFileDelete = [] as any;\r\n for (let item of _data[\"lstFileDelete\"])\r\n this.lstFileDelete!.push(item);\r\n }\r\n this.isDeleteVideo = _data[\"isDeleteVideo\"];\r\n this.huyen = _data[\"huyen\"];\r\n this.xa = _data[\"xa\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongTinDinhKemChuyenDonViXuLyModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongTinDinhKemChuyenDonViXuLyModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"tieuDe\"] = this.tieuDe;\r\n data[\"diaDiem\"] = this.diaDiem;\r\n data[\"linhVucId\"] = this.linhVucId;\r\n data[\"noiDung\"] = this.noiDung;\r\n if (Array.isArray(this.lstFileDelete)) {\r\n data[\"lstFileDelete\"] = [];\r\n for (let item of this.lstFileDelete)\r\n data[\"lstFileDelete\"].push(item);\r\n }\r\n data[\"isDeleteVideo\"] = this.isDeleteVideo;\r\n data[\"huyen\"] = this.huyen;\r\n data[\"xa\"] = this.xa;\r\n return data; \r\n }\r\n\r\n clone(): ThongTinDinhKemChuyenDonViXuLyModel {\r\n const json = this.toJSON();\r\n let result = new ThongTinDinhKemChuyenDonViXuLyModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongTinDinhKemChuyenDonViXuLyModel {\r\n tieuDe?: string | undefined;\r\n diaDiem?: string | undefined;\r\n linhVucId?: number | undefined;\r\n noiDung?: string | undefined;\r\n lstFileDelete?: number[] | undefined;\r\n isDeleteVideo?: boolean;\r\n huyen?: number | undefined;\r\n xa?: number | undefined;\r\n}\r\n\r\nexport class ThongTinDinhKemDonViPhanHoiModel implements IThongTinDinhKemDonViPhanHoiModel {\r\n trangThai?: string | undefined;\r\n color?: string | undefined;\r\n yKienDonVi?: string | undefined;\r\n ngayPhanHoi?: Date;\r\n nguoiPhanHoi?: string | undefined;\r\n noiDungPhanHoi?: string | undefined;\r\n lstFiles?: FileThongTinDinhKemDonViPhanHoiModel[] | undefined;\r\n\r\n constructor(data?: IThongTinDinhKemDonViPhanHoiModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstFiles) {\r\n this.lstFiles = [];\r\n for (let i = 0; i < data.lstFiles.length; i++) {\r\n let item = data.lstFiles[i];\r\n this.lstFiles[i] = item && !(item).toJSON ? new FileThongTinDinhKemDonViPhanHoiModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.trangThai = _data[\"trangThai\"];\r\n this.color = _data[\"color\"];\r\n this.yKienDonVi = _data[\"yKienDonVi\"];\r\n this.ngayPhanHoi = _data[\"ngayPhanHoi\"] ? new Date(_data[\"ngayPhanHoi\"].toString()) : undefined;\r\n this.nguoiPhanHoi = _data[\"nguoiPhanHoi\"];\r\n this.noiDungPhanHoi = _data[\"noiDungPhanHoi\"];\r\n if (Array.isArray(_data[\"lstFiles\"])) {\r\n this.lstFiles = [] as any;\r\n for (let item of _data[\"lstFiles\"])\r\n this.lstFiles!.push(FileThongTinDinhKemDonViPhanHoiModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongTinDinhKemDonViPhanHoiModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongTinDinhKemDonViPhanHoiModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"trangThai\"] = this.trangThai;\r\n data[\"color\"] = this.color;\r\n data[\"yKienDonVi\"] = this.yKienDonVi;\r\n data[\"ngayPhanHoi\"] = this.ngayPhanHoi ? this.ngayPhanHoi.toISOString() : undefined;\r\n data[\"nguoiPhanHoi\"] = this.nguoiPhanHoi;\r\n data[\"noiDungPhanHoi\"] = this.noiDungPhanHoi;\r\n if (Array.isArray(this.lstFiles)) {\r\n data[\"lstFiles\"] = [];\r\n for (let item of this.lstFiles)\r\n data[\"lstFiles\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): ThongTinDinhKemDonViPhanHoiModel {\r\n const json = this.toJSON();\r\n let result = new ThongTinDinhKemDonViPhanHoiModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongTinDinhKemDonViPhanHoiModel {\r\n trangThai?: string | undefined;\r\n color?: string | undefined;\r\n yKienDonVi?: string | undefined;\r\n ngayPhanHoi?: Date;\r\n nguoiPhanHoi?: string | undefined;\r\n noiDungPhanHoi?: string | undefined;\r\n lstFiles?: IFileThongTinDinhKemDonViPhanHoiModel[] | undefined;\r\n}\r\n\r\nexport class ThongTinDinhKemDonViPhanHoiModelApiResponse implements IThongTinDinhKemDonViPhanHoiModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ThongTinDinhKemDonViPhanHoiModel;\r\n\r\n constructor(data?: IThongTinDinhKemDonViPhanHoiModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ThongTinDinhKemDonViPhanHoiModel(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ThongTinDinhKemDonViPhanHoiModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongTinDinhKemDonViPhanHoiModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongTinDinhKemDonViPhanHoiModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): ThongTinDinhKemDonViPhanHoiModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new ThongTinDinhKemDonViPhanHoiModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongTinDinhKemDonViPhanHoiModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IThongTinDinhKemDonViPhanHoiModel;\r\n}\r\n\r\nexport class ThongTinDinhKemPhanCongAndNvHoTroModel implements IThongTinDinhKemPhanCongAndNvHoTroModel {\r\n diaDiem?: string | undefined;\r\n linhVucId?: number | undefined;\r\n noiDung?: string | undefined;\r\n lstFileDelete?: number[] | undefined;\r\n isDeleteVideo?: boolean;\r\n\r\n constructor(data?: IThongTinDinhKemPhanCongAndNvHoTroModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.diaDiem = _data[\"diaDiem\"];\r\n this.linhVucId = _data[\"linhVucId\"];\r\n this.noiDung = _data[\"noiDung\"];\r\n if (Array.isArray(_data[\"lstFileDelete\"])) {\r\n this.lstFileDelete = [] as any;\r\n for (let item of _data[\"lstFileDelete\"])\r\n this.lstFileDelete!.push(item);\r\n }\r\n this.isDeleteVideo = _data[\"isDeleteVideo\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongTinDinhKemPhanCongAndNvHoTroModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongTinDinhKemPhanCongAndNvHoTroModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"diaDiem\"] = this.diaDiem;\r\n data[\"linhVucId\"] = this.linhVucId;\r\n data[\"noiDung\"] = this.noiDung;\r\n if (Array.isArray(this.lstFileDelete)) {\r\n data[\"lstFileDelete\"] = [];\r\n for (let item of this.lstFileDelete)\r\n data[\"lstFileDelete\"].push(item);\r\n }\r\n data[\"isDeleteVideo\"] = this.isDeleteVideo;\r\n return data; \r\n }\r\n\r\n clone(): ThongTinDinhKemPhanCongAndNvHoTroModel {\r\n const json = this.toJSON();\r\n let result = new ThongTinDinhKemPhanCongAndNvHoTroModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongTinDinhKemPhanCongAndNvHoTroModel {\r\n diaDiem?: string | undefined;\r\n linhVucId?: number | undefined;\r\n noiDung?: string | undefined;\r\n lstFileDelete?: number[] | undefined;\r\n isDeleteVideo?: boolean;\r\n}\r\n\r\nexport class ThongTinDinhKemPhanCongXuLyModel implements IThongTinDinhKemPhanCongXuLyModel {\r\n tenDonViPhanCong?: string | undefined;\r\n ngayPhanCong?: Date | undefined;\r\n hanXuLy?: Date | undefined;\r\n yKienChuyenDonVi?: string | undefined;\r\n noiDungTraLoiCaNhanToChuc?: string | undefined;\r\n trangThaiCongKhai?: string | undefined;\r\n color?: string | undefined;\r\n yKienDiKem?: string | undefined;\r\n lstFile?: FileAttachPhanCongXuLyModel[] | undefined;\r\n lstNguoiPhoiHop?: DonViPhoiHopPhanCongXuLyModel[] | undefined;\r\n lstUser?: UserInUnitModel[] | undefined;\r\n lstAnhHoiDinhKem?: FileAttachPhanCongXuLyModel[] | undefined;\r\n lstFileHoiDinhKem?: FileAttachPhanCongXuLyModel[] | undefined;\r\n nguoiGuiGopY?: PhanCongXuLyNguoiGuiGopYModel;\r\n tieuDe?: string | undefined;\r\n diaDiem?: string | undefined;\r\n ngayGopY?: Date;\r\n noiDung?: string | undefined;\r\n tenLinhVuc?: string | undefined;\r\n trangThaiXuLY?: number | undefined;\r\n\r\n constructor(data?: IThongTinDinhKemPhanCongXuLyModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstFile) {\r\n this.lstFile = [];\r\n for (let i = 0; i < data.lstFile.length; i++) {\r\n let item = data.lstFile[i];\r\n this.lstFile[i] = item && !(item).toJSON ? new FileAttachPhanCongXuLyModel(item) : item;\r\n }\r\n }\r\n if (data.lstNguoiPhoiHop) {\r\n this.lstNguoiPhoiHop = [];\r\n for (let i = 0; i < data.lstNguoiPhoiHop.length; i++) {\r\n let item = data.lstNguoiPhoiHop[i];\r\n this.lstNguoiPhoiHop[i] = item && !(item).toJSON ? new DonViPhoiHopPhanCongXuLyModel(item) : item;\r\n }\r\n }\r\n if (data.lstUser) {\r\n this.lstUser = [];\r\n for (let i = 0; i < data.lstUser.length; i++) {\r\n let item = data.lstUser[i];\r\n this.lstUser[i] = item && !(item).toJSON ? new UserInUnitModel(item) : item;\r\n }\r\n }\r\n if (data.lstAnhHoiDinhKem) {\r\n this.lstAnhHoiDinhKem = [];\r\n for (let i = 0; i < data.lstAnhHoiDinhKem.length; i++) {\r\n let item = data.lstAnhHoiDinhKem[i];\r\n this.lstAnhHoiDinhKem[i] = item && !(item).toJSON ? new FileAttachPhanCongXuLyModel(item) : item;\r\n }\r\n }\r\n if (data.lstFileHoiDinhKem) {\r\n this.lstFileHoiDinhKem = [];\r\n for (let i = 0; i < data.lstFileHoiDinhKem.length; i++) {\r\n let item = data.lstFileHoiDinhKem[i];\r\n this.lstFileHoiDinhKem[i] = item && !(item).toJSON ? new FileAttachPhanCongXuLyModel(item) : item;\r\n }\r\n }\r\n this.nguoiGuiGopY = data.nguoiGuiGopY && !(data.nguoiGuiGopY).toJSON ? new PhanCongXuLyNguoiGuiGopYModel(data.nguoiGuiGopY) : this.nguoiGuiGopY; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.tenDonViPhanCong = _data[\"tenDonViPhanCong\"];\r\n this.ngayPhanCong = _data[\"ngayPhanCong\"] ? new Date(_data[\"ngayPhanCong\"].toString()) : undefined;\r\n this.hanXuLy = _data[\"hanXuLy\"] ? new Date(_data[\"hanXuLy\"].toString()) : undefined;\r\n this.yKienChuyenDonVi = _data[\"yKienChuyenDonVi\"];\r\n this.noiDungTraLoiCaNhanToChuc = _data[\"noiDungTraLoiCaNhanToChuc\"];\r\n this.trangThaiCongKhai = _data[\"trangThaiCongKhai\"];\r\n this.color = _data[\"color\"];\r\n this.yKienDiKem = _data[\"yKienDiKem\"];\r\n if (Array.isArray(_data[\"lstFile\"])) {\r\n this.lstFile = [] as any;\r\n for (let item of _data[\"lstFile\"])\r\n this.lstFile!.push(FileAttachPhanCongXuLyModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstNguoiPhoiHop\"])) {\r\n this.lstNguoiPhoiHop = [] as any;\r\n for (let item of _data[\"lstNguoiPhoiHop\"])\r\n this.lstNguoiPhoiHop!.push(DonViPhoiHopPhanCongXuLyModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstUser\"])) {\r\n this.lstUser = [] as any;\r\n for (let item of _data[\"lstUser\"])\r\n this.lstUser!.push(UserInUnitModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstAnhHoiDinhKem\"])) {\r\n this.lstAnhHoiDinhKem = [] as any;\r\n for (let item of _data[\"lstAnhHoiDinhKem\"])\r\n this.lstAnhHoiDinhKem!.push(FileAttachPhanCongXuLyModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstFileHoiDinhKem\"])) {\r\n this.lstFileHoiDinhKem = [] as any;\r\n for (let item of _data[\"lstFileHoiDinhKem\"])\r\n this.lstFileHoiDinhKem!.push(FileAttachPhanCongXuLyModel.fromJS(item));\r\n }\r\n this.nguoiGuiGopY = _data[\"nguoiGuiGopY\"] ? PhanCongXuLyNguoiGuiGopYModel.fromJS(_data[\"nguoiGuiGopY\"]) : undefined;\r\n this.tieuDe = _data[\"tieuDe\"];\r\n this.diaDiem = _data[\"diaDiem\"];\r\n this.ngayGopY = _data[\"ngayGopY\"] ? new Date(_data[\"ngayGopY\"].toString()) : undefined;\r\n this.noiDung = _data[\"noiDung\"];\r\n this.tenLinhVuc = _data[\"tenLinhVuc\"];\r\n this.trangThaiXuLY = _data[\"trangThaiXuLY\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongTinDinhKemPhanCongXuLyModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongTinDinhKemPhanCongXuLyModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"tenDonViPhanCong\"] = this.tenDonViPhanCong;\r\n data[\"ngayPhanCong\"] = this.ngayPhanCong ? this.ngayPhanCong.toISOString() : undefined;\r\n data[\"hanXuLy\"] = this.hanXuLy ? this.hanXuLy.toISOString() : undefined;\r\n data[\"yKienChuyenDonVi\"] = this.yKienChuyenDonVi;\r\n data[\"noiDungTraLoiCaNhanToChuc\"] = this.noiDungTraLoiCaNhanToChuc;\r\n data[\"trangThaiCongKhai\"] = this.trangThaiCongKhai;\r\n data[\"color\"] = this.color;\r\n data[\"yKienDiKem\"] = this.yKienDiKem;\r\n if (Array.isArray(this.lstFile)) {\r\n data[\"lstFile\"] = [];\r\n for (let item of this.lstFile)\r\n data[\"lstFile\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstNguoiPhoiHop)) {\r\n data[\"lstNguoiPhoiHop\"] = [];\r\n for (let item of this.lstNguoiPhoiHop)\r\n data[\"lstNguoiPhoiHop\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstUser)) {\r\n data[\"lstUser\"] = [];\r\n for (let item of this.lstUser)\r\n data[\"lstUser\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstAnhHoiDinhKem)) {\r\n data[\"lstAnhHoiDinhKem\"] = [];\r\n for (let item of this.lstAnhHoiDinhKem)\r\n data[\"lstAnhHoiDinhKem\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstFileHoiDinhKem)) {\r\n data[\"lstFileHoiDinhKem\"] = [];\r\n for (let item of this.lstFileHoiDinhKem)\r\n data[\"lstFileHoiDinhKem\"].push(item.toJSON());\r\n }\r\n data[\"nguoiGuiGopY\"] = this.nguoiGuiGopY ? this.nguoiGuiGopY.toJSON() : undefined;\r\n data[\"tieuDe\"] = this.tieuDe;\r\n data[\"diaDiem\"] = this.diaDiem;\r\n data[\"ngayGopY\"] = this.ngayGopY ? this.ngayGopY.toISOString() : undefined;\r\n data[\"noiDung\"] = this.noiDung;\r\n data[\"tenLinhVuc\"] = this.tenLinhVuc;\r\n data[\"trangThaiXuLY\"] = this.trangThaiXuLY;\r\n return data; \r\n }\r\n\r\n clone(): ThongTinDinhKemPhanCongXuLyModel {\r\n const json = this.toJSON();\r\n let result = new ThongTinDinhKemPhanCongXuLyModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongTinDinhKemPhanCongXuLyModel {\r\n tenDonViPhanCong?: string | undefined;\r\n ngayPhanCong?: Date | undefined;\r\n hanXuLy?: Date | undefined;\r\n yKienChuyenDonVi?: string | undefined;\r\n noiDungTraLoiCaNhanToChuc?: string | undefined;\r\n trangThaiCongKhai?: string | undefined;\r\n color?: string | undefined;\r\n yKienDiKem?: string | undefined;\r\n lstFile?: IFileAttachPhanCongXuLyModel[] | undefined;\r\n lstNguoiPhoiHop?: IDonViPhoiHopPhanCongXuLyModel[] | undefined;\r\n lstUser?: IUserInUnitModel[] | undefined;\r\n lstAnhHoiDinhKem?: IFileAttachPhanCongXuLyModel[] | undefined;\r\n lstFileHoiDinhKem?: IFileAttachPhanCongXuLyModel[] | undefined;\r\n nguoiGuiGopY?: IPhanCongXuLyNguoiGuiGopYModel;\r\n tieuDe?: string | undefined;\r\n diaDiem?: string | undefined;\r\n ngayGopY?: Date;\r\n noiDung?: string | undefined;\r\n tenLinhVuc?: string | undefined;\r\n trangThaiXuLY?: number | undefined;\r\n}\r\n\r\nexport class ThongTinDinhKemPhanCongXuLyModelApiResponse implements IThongTinDinhKemPhanCongXuLyModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ThongTinDinhKemPhanCongXuLyModel;\r\n\r\n constructor(data?: IThongTinDinhKemPhanCongXuLyModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ThongTinDinhKemPhanCongXuLyModel(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ThongTinDinhKemPhanCongXuLyModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongTinDinhKemPhanCongXuLyModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongTinDinhKemPhanCongXuLyModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): ThongTinDinhKemPhanCongXuLyModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new ThongTinDinhKemPhanCongXuLyModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongTinDinhKemPhanCongXuLyModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IThongTinDinhKemPhanCongXuLyModel;\r\n}\r\n\r\nexport class ThongTinDinhKemPheDuyetModel implements IThongTinDinhKemPheDuyetModel {\r\n trangThai?: string | undefined;\r\n color?: string | undefined;\r\n yKienChuyenVien?: string | undefined;\r\n yKienLanhDaoPhong?: string | undefined;\r\n donViHoTro?: string | undefined;\r\n ngayTrinh?: Date;\r\n nguoiTrinh?: string | undefined;\r\n noiDungTrinh?: string | undefined;\r\n type?: number;\r\n lstLanhDao?: LanhDaoThongTinDinhKemPheDuyetModel[] | undefined;\r\n lstFiles?: FileThongTinDinhKemPheDuyetModel[] | undefined;\r\n\r\n constructor(data?: IThongTinDinhKemPheDuyetModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstLanhDao) {\r\n this.lstLanhDao = [];\r\n for (let i = 0; i < data.lstLanhDao.length; i++) {\r\n let item = data.lstLanhDao[i];\r\n this.lstLanhDao[i] = item && !(item).toJSON ? new LanhDaoThongTinDinhKemPheDuyetModel(item) : item;\r\n }\r\n }\r\n if (data.lstFiles) {\r\n this.lstFiles = [];\r\n for (let i = 0; i < data.lstFiles.length; i++) {\r\n let item = data.lstFiles[i];\r\n this.lstFiles[i] = item && !(item).toJSON ? new FileThongTinDinhKemPheDuyetModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.trangThai = _data[\"trangThai\"];\r\n this.color = _data[\"color\"];\r\n this.yKienChuyenVien = _data[\"yKienChuyenVien\"];\r\n this.yKienLanhDaoPhong = _data[\"yKienLanhDaoPhong\"];\r\n this.donViHoTro = _data[\"donViHoTro\"];\r\n this.ngayTrinh = _data[\"ngayTrinh\"] ? new Date(_data[\"ngayTrinh\"].toString()) : undefined;\r\n this.nguoiTrinh = _data[\"nguoiTrinh\"];\r\n this.noiDungTrinh = _data[\"noiDungTrinh\"];\r\n this.type = _data[\"type\"];\r\n if (Array.isArray(_data[\"lstLanhDao\"])) {\r\n this.lstLanhDao = [] as any;\r\n for (let item of _data[\"lstLanhDao\"])\r\n this.lstLanhDao!.push(LanhDaoThongTinDinhKemPheDuyetModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstFiles\"])) {\r\n this.lstFiles = [] as any;\r\n for (let item of _data[\"lstFiles\"])\r\n this.lstFiles!.push(FileThongTinDinhKemPheDuyetModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongTinDinhKemPheDuyetModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongTinDinhKemPheDuyetModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"trangThai\"] = this.trangThai;\r\n data[\"color\"] = this.color;\r\n data[\"yKienChuyenVien\"] = this.yKienChuyenVien;\r\n data[\"yKienLanhDaoPhong\"] = this.yKienLanhDaoPhong;\r\n data[\"donViHoTro\"] = this.donViHoTro;\r\n data[\"ngayTrinh\"] = this.ngayTrinh ? this.ngayTrinh.toISOString() : undefined;\r\n data[\"nguoiTrinh\"] = this.nguoiTrinh;\r\n data[\"noiDungTrinh\"] = this.noiDungTrinh;\r\n data[\"type\"] = this.type;\r\n if (Array.isArray(this.lstLanhDao)) {\r\n data[\"lstLanhDao\"] = [];\r\n for (let item of this.lstLanhDao)\r\n data[\"lstLanhDao\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstFiles)) {\r\n data[\"lstFiles\"] = [];\r\n for (let item of this.lstFiles)\r\n data[\"lstFiles\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): ThongTinDinhKemPheDuyetModel {\r\n const json = this.toJSON();\r\n let result = new ThongTinDinhKemPheDuyetModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongTinDinhKemPheDuyetModel {\r\n trangThai?: string | undefined;\r\n color?: string | undefined;\r\n yKienChuyenVien?: string | undefined;\r\n yKienLanhDaoPhong?: string | undefined;\r\n donViHoTro?: string | undefined;\r\n ngayTrinh?: Date;\r\n nguoiTrinh?: string | undefined;\r\n noiDungTrinh?: string | undefined;\r\n type?: number;\r\n lstLanhDao?: ILanhDaoThongTinDinhKemPheDuyetModel[] | undefined;\r\n lstFiles?: IFileThongTinDinhKemPheDuyetModel[] | undefined;\r\n}\r\n\r\nexport class ThongTinDinhKemPheDuyetModelApiResponse implements IThongTinDinhKemPheDuyetModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ThongTinDinhKemPheDuyetModel;\r\n\r\n constructor(data?: IThongTinDinhKemPheDuyetModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ThongTinDinhKemPheDuyetModel(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ThongTinDinhKemPheDuyetModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongTinDinhKemPheDuyetModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongTinDinhKemPheDuyetModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): ThongTinDinhKemPheDuyetModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new ThongTinDinhKemPheDuyetModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongTinDinhKemPheDuyetModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IThongTinDinhKemPheDuyetModel;\r\n}\r\n\r\nexport class ThongTinPhanHoiEditModel implements IThongTinPhanHoiEditModel {\r\n tieuDe?: string | undefined;\r\n diaDiem?: string | undefined;\r\n linhVucId?: number | undefined;\r\n noiDung?: string | undefined;\r\n lstFileDelete?: number[] | undefined;\r\n isDeleteVideo?: boolean;\r\n huyen?: number | undefined;\r\n xa?: number | undefined;\r\n\r\n constructor(data?: IThongTinPhanHoiEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.tieuDe = _data[\"tieuDe\"];\r\n this.diaDiem = _data[\"diaDiem\"];\r\n this.linhVucId = _data[\"linhVucId\"];\r\n this.noiDung = _data[\"noiDung\"];\r\n if (Array.isArray(_data[\"lstFileDelete\"])) {\r\n this.lstFileDelete = [] as any;\r\n for (let item of _data[\"lstFileDelete\"])\r\n this.lstFileDelete!.push(item);\r\n }\r\n this.isDeleteVideo = _data[\"isDeleteVideo\"];\r\n this.huyen = _data[\"huyen\"];\r\n this.xa = _data[\"xa\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThongTinPhanHoiEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThongTinPhanHoiEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"tieuDe\"] = this.tieuDe;\r\n data[\"diaDiem\"] = this.diaDiem;\r\n data[\"linhVucId\"] = this.linhVucId;\r\n data[\"noiDung\"] = this.noiDung;\r\n if (Array.isArray(this.lstFileDelete)) {\r\n data[\"lstFileDelete\"] = [];\r\n for (let item of this.lstFileDelete)\r\n data[\"lstFileDelete\"].push(item);\r\n }\r\n data[\"isDeleteVideo\"] = this.isDeleteVideo;\r\n data[\"huyen\"] = this.huyen;\r\n data[\"xa\"] = this.xa;\r\n return data; \r\n }\r\n\r\n clone(): ThongTinPhanHoiEditModel {\r\n const json = this.toJSON();\r\n let result = new ThongTinPhanHoiEditModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThongTinPhanHoiEditModel {\r\n tieuDe?: string | undefined;\r\n diaDiem?: string | undefined;\r\n linhVucId?: number | undefined;\r\n noiDung?: string | undefined;\r\n lstFileDelete?: number[] | undefined;\r\n isDeleteVideo?: boolean;\r\n huyen?: number | undefined;\r\n xa?: number | undefined;\r\n}\r\n\r\nexport class ThucHienPhanCongXuLyGopYModel implements IThucHienPhanCongXuLyGopYModel {\r\n noiDungId?: number;\r\n nhanVienId?: number;\r\n tenNhanVien?: string | undefined;\r\n lstNhanVienPhoiHop?: number[] | undefined;\r\n xuLyDenNgay?: Date;\r\n yKien?: string | undefined;\r\n\r\n constructor(data?: IThucHienPhanCongXuLyGopYModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.noiDungId = _data[\"noiDungId\"];\r\n this.nhanVienId = _data[\"nhanVienId\"];\r\n this.tenNhanVien = _data[\"tenNhanVien\"];\r\n if (Array.isArray(_data[\"lstNhanVienPhoiHop\"])) {\r\n this.lstNhanVienPhoiHop = [] as any;\r\n for (let item of _data[\"lstNhanVienPhoiHop\"])\r\n this.lstNhanVienPhoiHop!.push(item);\r\n }\r\n this.xuLyDenNgay = _data[\"xuLyDenNgay\"] ? new Date(_data[\"xuLyDenNgay\"].toString()) : undefined;\r\n this.yKien = _data[\"yKien\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ThucHienPhanCongXuLyGopYModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ThucHienPhanCongXuLyGopYModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"noiDungId\"] = this.noiDungId;\r\n data[\"nhanVienId\"] = this.nhanVienId;\r\n data[\"tenNhanVien\"] = this.tenNhanVien;\r\n if (Array.isArray(this.lstNhanVienPhoiHop)) {\r\n data[\"lstNhanVienPhoiHop\"] = [];\r\n for (let item of this.lstNhanVienPhoiHop)\r\n data[\"lstNhanVienPhoiHop\"].push(item);\r\n }\r\n data[\"xuLyDenNgay\"] = this.xuLyDenNgay ? this.xuLyDenNgay.toISOString() : undefined;\r\n data[\"yKien\"] = this.yKien;\r\n return data; \r\n }\r\n\r\n clone(): ThucHienPhanCongXuLyGopYModel {\r\n const json = this.toJSON();\r\n let result = new ThucHienPhanCongXuLyGopYModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IThucHienPhanCongXuLyGopYModel {\r\n noiDungId?: number;\r\n nhanVienId?: number;\r\n tenNhanVien?: string | undefined;\r\n lstNhanVienPhoiHop?: number[] | undefined;\r\n xuLyDenNgay?: Date;\r\n yKien?: string | undefined;\r\n}\r\n\r\nexport class TinhHinhXuLySearchModel implements ITinhHinhXuLySearchModel {\r\n type?: string | undefined;\r\n search?: string | undefined;\r\n tinhTrang?: string | undefined;\r\n tuNgay?: Date | undefined;\r\n denNgay?: Date | undefined;\r\n\r\n constructor(data?: ITinhHinhXuLySearchModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.type = _data[\"type\"];\r\n this.search = _data[\"search\"];\r\n this.tinhTrang = _data[\"tinhTrang\"];\r\n this.tuNgay = _data[\"tuNgay\"] ? new Date(_data[\"tuNgay\"].toString()) : undefined;\r\n this.denNgay = _data[\"denNgay\"] ? new Date(_data[\"denNgay\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): TinhHinhXuLySearchModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TinhHinhXuLySearchModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"type\"] = this.type;\r\n data[\"search\"] = this.search;\r\n data[\"tinhTrang\"] = this.tinhTrang;\r\n data[\"tuNgay\"] = this.tuNgay ? this.tuNgay.toISOString() : undefined;\r\n data[\"denNgay\"] = this.denNgay ? this.denNgay.toISOString() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): TinhHinhXuLySearchModel {\r\n const json = this.toJSON();\r\n let result = new TinhHinhXuLySearchModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITinhHinhXuLySearchModel {\r\n type?: string | undefined;\r\n search?: string | undefined;\r\n tinhTrang?: string | undefined;\r\n tuNgay?: Date | undefined;\r\n denNgay?: Date | undefined;\r\n}\r\n\r\nexport class TitleHorizontalModel implements ITitleHorizontalModel {\r\n id?: string | undefined;\r\n title?: string | undefined;\r\n\r\n constructor(data?: ITitleHorizontalModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.title = _data[\"title\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TitleHorizontalModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TitleHorizontalModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"title\"] = this.title;\r\n return data; \r\n }\r\n\r\n clone(): TitleHorizontalModel {\r\n const json = this.toJSON();\r\n let result = new TitleHorizontalModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITitleHorizontalModel {\r\n id?: string | undefined;\r\n title?: string | undefined;\r\n}\r\n\r\nexport class ToChucSelect implements IToChucSelect {\r\n id?: number;\r\n ten?: string | undefined;\r\n\r\n constructor(data?: IToChucSelect) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.ten = _data[\"ten\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ToChucSelect {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ToChucSelect();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"ten\"] = this.ten;\r\n return data; \r\n }\r\n\r\n clone(): ToChucSelect {\r\n const json = this.toJSON();\r\n let result = new ToChucSelect();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IToChucSelect {\r\n id?: number;\r\n ten?: string | undefined;\r\n}\r\n\r\nexport class TraLoiGopYModel implements ITraLoiGopYModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n diaDiem?: string | undefined;\r\n thoiGianHoi?: Date;\r\n noiDung?: string | undefined;\r\n linkHoi?: string | undefined;\r\n donViTraLoi?: string | undefined;\r\n cauTraLoi?: string | undefined;\r\n ngayTraLoi?: Date;\r\n lstAnhHoiDinhKem?: FileInPostAnswerModel[] | undefined;\r\n lstFileHoiDinhKem?: FileInPostAnswerModel[] | undefined;\r\n lstFileTraLoiDinhKem?: FileInPostAnswerModel[] | undefined;\r\n lstBinhLuan?: CommentInPostAnswerModel[] | undefined;\r\n\r\n constructor(data?: ITraLoiGopYModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstAnhHoiDinhKem) {\r\n this.lstAnhHoiDinhKem = [];\r\n for (let i = 0; i < data.lstAnhHoiDinhKem.length; i++) {\r\n let item = data.lstAnhHoiDinhKem[i];\r\n this.lstAnhHoiDinhKem[i] = item && !(item).toJSON ? new FileInPostAnswerModel(item) : item;\r\n }\r\n }\r\n if (data.lstFileHoiDinhKem) {\r\n this.lstFileHoiDinhKem = [];\r\n for (let i = 0; i < data.lstFileHoiDinhKem.length; i++) {\r\n let item = data.lstFileHoiDinhKem[i];\r\n this.lstFileHoiDinhKem[i] = item && !(item).toJSON ? new FileInPostAnswerModel(item) : item;\r\n }\r\n }\r\n if (data.lstFileTraLoiDinhKem) {\r\n this.lstFileTraLoiDinhKem = [];\r\n for (let i = 0; i < data.lstFileTraLoiDinhKem.length; i++) {\r\n let item = data.lstFileTraLoiDinhKem[i];\r\n this.lstFileTraLoiDinhKem[i] = item && !(item).toJSON ? new FileInPostAnswerModel(item) : item;\r\n }\r\n }\r\n if (data.lstBinhLuan) {\r\n this.lstBinhLuan = [];\r\n for (let i = 0; i < data.lstBinhLuan.length; i++) {\r\n let item = data.lstBinhLuan[i];\r\n this.lstBinhLuan[i] = item && !(item).toJSON ? new CommentInPostAnswerModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tieuDe = _data[\"tieuDe\"];\r\n this.diaDiem = _data[\"diaDiem\"];\r\n this.thoiGianHoi = _data[\"thoiGianHoi\"] ? new Date(_data[\"thoiGianHoi\"].toString()) : undefined;\r\n this.noiDung = _data[\"noiDung\"];\r\n this.linkHoi = _data[\"linkHoi\"];\r\n this.donViTraLoi = _data[\"donViTraLoi\"];\r\n this.cauTraLoi = _data[\"cauTraLoi\"];\r\n this.ngayTraLoi = _data[\"ngayTraLoi\"] ? new Date(_data[\"ngayTraLoi\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"lstAnhHoiDinhKem\"])) {\r\n this.lstAnhHoiDinhKem = [] as any;\r\n for (let item of _data[\"lstAnhHoiDinhKem\"])\r\n this.lstAnhHoiDinhKem!.push(FileInPostAnswerModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstFileHoiDinhKem\"])) {\r\n this.lstFileHoiDinhKem = [] as any;\r\n for (let item of _data[\"lstFileHoiDinhKem\"])\r\n this.lstFileHoiDinhKem!.push(FileInPostAnswerModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstFileTraLoiDinhKem\"])) {\r\n this.lstFileTraLoiDinhKem = [] as any;\r\n for (let item of _data[\"lstFileTraLoiDinhKem\"])\r\n this.lstFileTraLoiDinhKem!.push(FileInPostAnswerModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstBinhLuan\"])) {\r\n this.lstBinhLuan = [] as any;\r\n for (let item of _data[\"lstBinhLuan\"])\r\n this.lstBinhLuan!.push(CommentInPostAnswerModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TraLoiGopYModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TraLoiGopYModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tieuDe\"] = this.tieuDe;\r\n data[\"diaDiem\"] = this.diaDiem;\r\n data[\"thoiGianHoi\"] = this.thoiGianHoi ? this.thoiGianHoi.toISOString() : undefined;\r\n data[\"noiDung\"] = this.noiDung;\r\n data[\"linkHoi\"] = this.linkHoi;\r\n data[\"donViTraLoi\"] = this.donViTraLoi;\r\n data[\"cauTraLoi\"] = this.cauTraLoi;\r\n data[\"ngayTraLoi\"] = this.ngayTraLoi ? this.ngayTraLoi.toISOString() : undefined;\r\n if (Array.isArray(this.lstAnhHoiDinhKem)) {\r\n data[\"lstAnhHoiDinhKem\"] = [];\r\n for (let item of this.lstAnhHoiDinhKem)\r\n data[\"lstAnhHoiDinhKem\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstFileHoiDinhKem)) {\r\n data[\"lstFileHoiDinhKem\"] = [];\r\n for (let item of this.lstFileHoiDinhKem)\r\n data[\"lstFileHoiDinhKem\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstFileTraLoiDinhKem)) {\r\n data[\"lstFileTraLoiDinhKem\"] = [];\r\n for (let item of this.lstFileTraLoiDinhKem)\r\n data[\"lstFileTraLoiDinhKem\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstBinhLuan)) {\r\n data[\"lstBinhLuan\"] = [];\r\n for (let item of this.lstBinhLuan)\r\n data[\"lstBinhLuan\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): TraLoiGopYModel {\r\n const json = this.toJSON();\r\n let result = new TraLoiGopYModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITraLoiGopYModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n diaDiem?: string | undefined;\r\n thoiGianHoi?: Date;\r\n noiDung?: string | undefined;\r\n linkHoi?: string | undefined;\r\n donViTraLoi?: string | undefined;\r\n cauTraLoi?: string | undefined;\r\n ngayTraLoi?: Date;\r\n lstAnhHoiDinhKem?: IFileInPostAnswerModel[] | undefined;\r\n lstFileHoiDinhKem?: IFileInPostAnswerModel[] | undefined;\r\n lstFileTraLoiDinhKem?: IFileInPostAnswerModel[] | undefined;\r\n lstBinhLuan?: ICommentInPostAnswerModel[] | undefined;\r\n}\r\n\r\nexport class TraLoiGopYModelApiResponse implements ITraLoiGopYModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: TraLoiGopYModel;\r\n\r\n constructor(data?: ITraLoiGopYModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new TraLoiGopYModel(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? TraLoiGopYModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): TraLoiGopYModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TraLoiGopYModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): TraLoiGopYModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new TraLoiGopYModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITraLoiGopYModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ITraLoiGopYModel;\r\n}\r\n\r\nexport class TraloiphananhEntity implements ITraloiphananhEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n noidunggopyid?: number | undefined;\r\n ngaytraloi?: Date;\r\n traloi?: string | undefined;\r\n unitcode?: string | undefined;\r\n noidunggopy?: NoidunggopyEntity;\r\n\r\n constructor(data?: ITraloiphananhEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n this.noidunggopy = data.noidunggopy && !(data.noidunggopy).toJSON ? new NoidunggopyEntity(data.noidunggopy) : this.noidunggopy; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.id = _data[\"id\"];\r\n this.noidunggopyid = _data[\"noidunggopyid\"];\r\n this.ngaytraloi = _data[\"ngaytraloi\"] ? new Date(_data[\"ngaytraloi\"].toString()) : undefined;\r\n this.traloi = _data[\"traloi\"];\r\n this.unitcode = _data[\"unitcode\"];\r\n this.noidunggopy = _data[\"noidunggopy\"] ? NoidunggopyEntity.fromJS(_data[\"noidunggopy\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): TraloiphananhEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TraloiphananhEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"id\"] = this.id;\r\n data[\"noidunggopyid\"] = this.noidunggopyid;\r\n data[\"ngaytraloi\"] = this.ngaytraloi ? this.ngaytraloi.toISOString() : undefined;\r\n data[\"traloi\"] = this.traloi;\r\n data[\"unitcode\"] = this.unitcode;\r\n data[\"noidunggopy\"] = this.noidunggopy ? this.noidunggopy.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): TraloiphananhEntity {\r\n const json = this.toJSON();\r\n let result = new TraloiphananhEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITraloiphananhEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n noidunggopyid?: number | undefined;\r\n ngaytraloi?: Date;\r\n traloi?: string | undefined;\r\n unitcode?: string | undefined;\r\n noidunggopy?: INoidunggopyEntity;\r\n}\r\n\r\nexport class TuChoiPheDuyetGopY implements ITuChoiPheDuyetGopY {\r\n noiDungId?: number;\r\n yKien?: string | undefined;\r\n\r\n constructor(data?: ITuChoiPheDuyetGopY) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.noiDungId = _data[\"noiDungId\"];\r\n this.yKien = _data[\"yKien\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TuChoiPheDuyetGopY {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TuChoiPheDuyetGopY();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"noiDungId\"] = this.noiDungId;\r\n data[\"yKien\"] = this.yKien;\r\n return data; \r\n }\r\n\r\n clone(): TuChoiPheDuyetGopY {\r\n const json = this.toJSON();\r\n let result = new TuChoiPheDuyetGopY();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITuChoiPheDuyetGopY {\r\n noiDungId?: number;\r\n yKien?: string | undefined;\r\n}\r\n\r\nexport class Type implements IType {\r\n readonly name?: string | undefined;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n readonly isInterface?: boolean;\r\n memberType?: MemberTypes;\r\n readonly namespace?: string | undefined;\r\n readonly assemblyQualifiedName?: string | undefined;\r\n readonly fullName?: string | undefined;\r\n assembly?: Assembly;\r\n module?: Module;\r\n readonly isNested?: boolean;\r\n declaringType?: Type;\r\n declaringMethod?: MethodBase;\r\n reflectedType?: Type;\r\n underlyingSystemType?: Type;\r\n readonly isTypeDefinition?: boolean;\r\n readonly isArray?: boolean;\r\n readonly isByRef?: boolean;\r\n readonly isPointer?: boolean;\r\n readonly isConstructedGenericType?: boolean;\r\n readonly isGenericParameter?: boolean;\r\n readonly isGenericTypeParameter?: boolean;\r\n readonly isGenericMethodParameter?: boolean;\r\n readonly isGenericType?: boolean;\r\n readonly isGenericTypeDefinition?: boolean;\r\n readonly isSZArray?: boolean;\r\n readonly isVariableBoundArray?: boolean;\r\n readonly isByRefLike?: boolean;\r\n readonly hasElementType?: boolean;\r\n readonly genericTypeArguments?: Type[] | undefined;\r\n readonly genericParameterPosition?: number;\r\n genericParameterAttributes?: GenericParameterAttributes;\r\n attributes?: TypeAttributes;\r\n readonly isAbstract?: boolean;\r\n readonly isImport?: boolean;\r\n readonly isSealed?: boolean;\r\n readonly isSpecialName?: boolean;\r\n readonly isClass?: boolean;\r\n readonly isNestedAssembly?: boolean;\r\n readonly isNestedFamANDAssem?: boolean;\r\n readonly isNestedFamily?: boolean;\r\n readonly isNestedFamORAssem?: boolean;\r\n readonly isNestedPrivate?: boolean;\r\n readonly isNestedPublic?: boolean;\r\n readonly isNotPublic?: boolean;\r\n readonly isPublic?: boolean;\r\n readonly isAutoLayout?: boolean;\r\n readonly isExplicitLayout?: boolean;\r\n readonly isLayoutSequential?: boolean;\r\n readonly isAnsiClass?: boolean;\r\n readonly isAutoClass?: boolean;\r\n readonly isUnicodeClass?: boolean;\r\n readonly isCOMObject?: boolean;\r\n readonly isContextful?: boolean;\r\n readonly isEnum?: boolean;\r\n readonly isMarshalByRef?: boolean;\r\n readonly isPrimitive?: boolean;\r\n readonly isValueType?: boolean;\r\n readonly isSignatureType?: boolean;\r\n readonly isSecurityCritical?: boolean;\r\n readonly isSecuritySafeCritical?: boolean;\r\n readonly isSecurityTransparent?: boolean;\r\n structLayoutAttribute?: StructLayoutAttribute;\r\n typeInitializer?: ConstructorInfo;\r\n typeHandle?: RuntimeTypeHandle;\r\n readonly guid?: string;\r\n baseType?: Type;\r\n readonly isSerializable?: boolean;\r\n readonly containsGenericParameters?: boolean;\r\n readonly isVisible?: boolean;\r\n\r\n constructor(data?: IType) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.assembly = data.assembly && !(data.assembly).toJSON ? new Assembly(data.assembly) : this.assembly; \r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module; \r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType; \r\n this.declaringMethod = data.declaringMethod && !(data.declaringMethod).toJSON ? new MethodBase(data.declaringMethod) : this.declaringMethod; \r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType; \r\n this.underlyingSystemType = data.underlyingSystemType && !(data.underlyingSystemType).toJSON ? new Type(data.underlyingSystemType) : this.underlyingSystemType; \r\n if (data.genericTypeArguments) {\r\n this.genericTypeArguments = [];\r\n for (let i = 0; i < data.genericTypeArguments.length; i++) {\r\n let item = data.genericTypeArguments[i];\r\n this.genericTypeArguments[i] = item && !(item).toJSON ? new Type(item) : item;\r\n }\r\n }\r\n this.structLayoutAttribute = data.structLayoutAttribute && !(data.structLayoutAttribute).toJSON ? new StructLayoutAttribute(data.structLayoutAttribute) : this.structLayoutAttribute; \r\n this.typeInitializer = data.typeInitializer && !(data.typeInitializer).toJSON ? new ConstructorInfo(data.typeInitializer) : this.typeInitializer; \r\n this.typeHandle = data.typeHandle && !(data.typeHandle).toJSON ? new RuntimeTypeHandle(data.typeHandle) : this.typeHandle; \r\n this.baseType = data.baseType && !(data.baseType).toJSON ? new Type(data.baseType) : this.baseType; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n (this).isInterface = _data[\"isInterface\"];\r\n this.memberType = _data[\"memberType\"];\r\n (this).namespace = _data[\"namespace\"];\r\n (this).assemblyQualifiedName = _data[\"assemblyQualifiedName\"];\r\n (this).fullName = _data[\"fullName\"];\r\n this.assembly = _data[\"assembly\"] ? Assembly.fromJS(_data[\"assembly\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n (this).isNested = _data[\"isNested\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.declaringMethod = _data[\"declaringMethod\"] ? MethodBase.fromJS(_data[\"declaringMethod\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.underlyingSystemType = _data[\"underlyingSystemType\"] ? Type.fromJS(_data[\"underlyingSystemType\"]) : undefined;\r\n (this).isTypeDefinition = _data[\"isTypeDefinition\"];\r\n (this).isArray = _data[\"isArray\"];\r\n (this).isByRef = _data[\"isByRef\"];\r\n (this).isPointer = _data[\"isPointer\"];\r\n (this).isConstructedGenericType = _data[\"isConstructedGenericType\"];\r\n (this).isGenericParameter = _data[\"isGenericParameter\"];\r\n (this).isGenericTypeParameter = _data[\"isGenericTypeParameter\"];\r\n (this).isGenericMethodParameter = _data[\"isGenericMethodParameter\"];\r\n (this).isGenericType = _data[\"isGenericType\"];\r\n (this).isGenericTypeDefinition = _data[\"isGenericTypeDefinition\"];\r\n (this).isSZArray = _data[\"isSZArray\"];\r\n (this).isVariableBoundArray = _data[\"isVariableBoundArray\"];\r\n (this).isByRefLike = _data[\"isByRefLike\"];\r\n (this).hasElementType = _data[\"hasElementType\"];\r\n if (Array.isArray(_data[\"genericTypeArguments\"])) {\r\n (this).genericTypeArguments = [] as any;\r\n for (let item of _data[\"genericTypeArguments\"])\r\n (this).genericTypeArguments!.push(Type.fromJS(item));\r\n }\r\n (this).genericParameterPosition = _data[\"genericParameterPosition\"];\r\n this.genericParameterAttributes = _data[\"genericParameterAttributes\"];\r\n this.attributes = _data[\"attributes\"];\r\n (this).isAbstract = _data[\"isAbstract\"];\r\n (this).isImport = _data[\"isImport\"];\r\n (this).isSealed = _data[\"isSealed\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n (this).isClass = _data[\"isClass\"];\r\n (this).isNestedAssembly = _data[\"isNestedAssembly\"];\r\n (this).isNestedFamANDAssem = _data[\"isNestedFamANDAssem\"];\r\n (this).isNestedFamily = _data[\"isNestedFamily\"];\r\n (this).isNestedFamORAssem = _data[\"isNestedFamORAssem\"];\r\n (this).isNestedPrivate = _data[\"isNestedPrivate\"];\r\n (this).isNestedPublic = _data[\"isNestedPublic\"];\r\n (this).isNotPublic = _data[\"isNotPublic\"];\r\n (this).isPublic = _data[\"isPublic\"];\r\n (this).isAutoLayout = _data[\"isAutoLayout\"];\r\n (this).isExplicitLayout = _data[\"isExplicitLayout\"];\r\n (this).isLayoutSequential = _data[\"isLayoutSequential\"];\r\n (this).isAnsiClass = _data[\"isAnsiClass\"];\r\n (this).isAutoClass = _data[\"isAutoClass\"];\r\n (this).isUnicodeClass = _data[\"isUnicodeClass\"];\r\n (this).isCOMObject = _data[\"isCOMObject\"];\r\n (this).isContextful = _data[\"isContextful\"];\r\n (this).isEnum = _data[\"isEnum\"];\r\n (this).isMarshalByRef = _data[\"isMarshalByRef\"];\r\n (this).isPrimitive = _data[\"isPrimitive\"];\r\n (this).isValueType = _data[\"isValueType\"];\r\n (this).isSignatureType = _data[\"isSignatureType\"];\r\n (this).isSecurityCritical = _data[\"isSecurityCritical\"];\r\n (this).isSecuritySafeCritical = _data[\"isSecuritySafeCritical\"];\r\n (this).isSecurityTransparent = _data[\"isSecurityTransparent\"];\r\n this.structLayoutAttribute = _data[\"structLayoutAttribute\"] ? StructLayoutAttribute.fromJS(_data[\"structLayoutAttribute\"]) : undefined;\r\n this.typeInitializer = _data[\"typeInitializer\"] ? ConstructorInfo.fromJS(_data[\"typeInitializer\"]) : undefined;\r\n this.typeHandle = _data[\"typeHandle\"] ? RuntimeTypeHandle.fromJS(_data[\"typeHandle\"]) : undefined;\r\n (this).guid = _data[\"guid\"];\r\n this.baseType = _data[\"baseType\"] ? Type.fromJS(_data[\"baseType\"]) : undefined;\r\n (this).isSerializable = _data[\"isSerializable\"];\r\n (this).containsGenericParameters = _data[\"containsGenericParameters\"];\r\n (this).isVisible = _data[\"isVisible\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Type {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Type();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"isInterface\"] = this.isInterface;\r\n data[\"memberType\"] = this.memberType;\r\n data[\"namespace\"] = this.namespace;\r\n data[\"assemblyQualifiedName\"] = this.assemblyQualifiedName;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"assembly\"] = this.assembly ? this.assembly.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n data[\"isNested\"] = this.isNested;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"declaringMethod\"] = this.declaringMethod ? this.declaringMethod.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"underlyingSystemType\"] = this.underlyingSystemType ? this.underlyingSystemType.toJSON() : undefined;\r\n data[\"isTypeDefinition\"] = this.isTypeDefinition;\r\n data[\"isArray\"] = this.isArray;\r\n data[\"isByRef\"] = this.isByRef;\r\n data[\"isPointer\"] = this.isPointer;\r\n data[\"isConstructedGenericType\"] = this.isConstructedGenericType;\r\n data[\"isGenericParameter\"] = this.isGenericParameter;\r\n data[\"isGenericTypeParameter\"] = this.isGenericTypeParameter;\r\n data[\"isGenericMethodParameter\"] = this.isGenericMethodParameter;\r\n data[\"isGenericType\"] = this.isGenericType;\r\n data[\"isGenericTypeDefinition\"] = this.isGenericTypeDefinition;\r\n data[\"isSZArray\"] = this.isSZArray;\r\n data[\"isVariableBoundArray\"] = this.isVariableBoundArray;\r\n data[\"isByRefLike\"] = this.isByRefLike;\r\n data[\"hasElementType\"] = this.hasElementType;\r\n if (Array.isArray(this.genericTypeArguments)) {\r\n data[\"genericTypeArguments\"] = [];\r\n for (let item of this.genericTypeArguments)\r\n data[\"genericTypeArguments\"].push(item.toJSON());\r\n }\r\n data[\"genericParameterPosition\"] = this.genericParameterPosition;\r\n data[\"genericParameterAttributes\"] = this.genericParameterAttributes;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"isAbstract\"] = this.isAbstract;\r\n data[\"isImport\"] = this.isImport;\r\n data[\"isSealed\"] = this.isSealed;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"isClass\"] = this.isClass;\r\n data[\"isNestedAssembly\"] = this.isNestedAssembly;\r\n data[\"isNestedFamANDAssem\"] = this.isNestedFamANDAssem;\r\n data[\"isNestedFamily\"] = this.isNestedFamily;\r\n data[\"isNestedFamORAssem\"] = this.isNestedFamORAssem;\r\n data[\"isNestedPrivate\"] = this.isNestedPrivate;\r\n data[\"isNestedPublic\"] = this.isNestedPublic;\r\n data[\"isNotPublic\"] = this.isNotPublic;\r\n data[\"isPublic\"] = this.isPublic;\r\n data[\"isAutoLayout\"] = this.isAutoLayout;\r\n data[\"isExplicitLayout\"] = this.isExplicitLayout;\r\n data[\"isLayoutSequential\"] = this.isLayoutSequential;\r\n data[\"isAnsiClass\"] = this.isAnsiClass;\r\n data[\"isAutoClass\"] = this.isAutoClass;\r\n data[\"isUnicodeClass\"] = this.isUnicodeClass;\r\n data[\"isCOMObject\"] = this.isCOMObject;\r\n data[\"isContextful\"] = this.isContextful;\r\n data[\"isEnum\"] = this.isEnum;\r\n data[\"isMarshalByRef\"] = this.isMarshalByRef;\r\n data[\"isPrimitive\"] = this.isPrimitive;\r\n data[\"isValueType\"] = this.isValueType;\r\n data[\"isSignatureType\"] = this.isSignatureType;\r\n data[\"isSecurityCritical\"] = this.isSecurityCritical;\r\n data[\"isSecuritySafeCritical\"] = this.isSecuritySafeCritical;\r\n data[\"isSecurityTransparent\"] = this.isSecurityTransparent;\r\n data[\"structLayoutAttribute\"] = this.structLayoutAttribute ? this.structLayoutAttribute.toJSON() : undefined;\r\n data[\"typeInitializer\"] = this.typeInitializer ? this.typeInitializer.toJSON() : undefined;\r\n data[\"typeHandle\"] = this.typeHandle ? this.typeHandle.toJSON() : undefined;\r\n data[\"guid\"] = this.guid;\r\n data[\"baseType\"] = this.baseType ? this.baseType.toJSON() : undefined;\r\n data[\"isSerializable\"] = this.isSerializable;\r\n data[\"containsGenericParameters\"] = this.containsGenericParameters;\r\n data[\"isVisible\"] = this.isVisible;\r\n return data; \r\n }\r\n\r\n clone(): Type {\r\n const json = this.toJSON();\r\n let result = new Type();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IType {\r\n name?: string | undefined;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n isInterface?: boolean;\r\n memberType?: MemberTypes;\r\n namespace?: string | undefined;\r\n assemblyQualifiedName?: string | undefined;\r\n fullName?: string | undefined;\r\n assembly?: IAssembly;\r\n module?: IModule;\r\n isNested?: boolean;\r\n declaringType?: IType;\r\n declaringMethod?: IMethodBase;\r\n reflectedType?: IType;\r\n underlyingSystemType?: IType;\r\n isTypeDefinition?: boolean;\r\n isArray?: boolean;\r\n isByRef?: boolean;\r\n isPointer?: boolean;\r\n isConstructedGenericType?: boolean;\r\n isGenericParameter?: boolean;\r\n isGenericTypeParameter?: boolean;\r\n isGenericMethodParameter?: boolean;\r\n isGenericType?: boolean;\r\n isGenericTypeDefinition?: boolean;\r\n isSZArray?: boolean;\r\n isVariableBoundArray?: boolean;\r\n isByRefLike?: boolean;\r\n hasElementType?: boolean;\r\n genericTypeArguments?: IType[] | undefined;\r\n genericParameterPosition?: number;\r\n genericParameterAttributes?: GenericParameterAttributes;\r\n attributes?: TypeAttributes;\r\n isAbstract?: boolean;\r\n isImport?: boolean;\r\n isSealed?: boolean;\r\n isSpecialName?: boolean;\r\n isClass?: boolean;\r\n isNestedAssembly?: boolean;\r\n isNestedFamANDAssem?: boolean;\r\n isNestedFamily?: boolean;\r\n isNestedFamORAssem?: boolean;\r\n isNestedPrivate?: boolean;\r\n isNestedPublic?: boolean;\r\n isNotPublic?: boolean;\r\n isPublic?: boolean;\r\n isAutoLayout?: boolean;\r\n isExplicitLayout?: boolean;\r\n isLayoutSequential?: boolean;\r\n isAnsiClass?: boolean;\r\n isAutoClass?: boolean;\r\n isUnicodeClass?: boolean;\r\n isCOMObject?: boolean;\r\n isContextful?: boolean;\r\n isEnum?: boolean;\r\n isMarshalByRef?: boolean;\r\n isPrimitive?: boolean;\r\n isValueType?: boolean;\r\n isSignatureType?: boolean;\r\n isSecurityCritical?: boolean;\r\n isSecuritySafeCritical?: boolean;\r\n isSecurityTransparent?: boolean;\r\n structLayoutAttribute?: IStructLayoutAttribute;\r\n typeInitializer?: IConstructorInfo;\r\n typeHandle?: IRuntimeTypeHandle;\r\n guid?: string;\r\n baseType?: IType;\r\n isSerializable?: boolean;\r\n containsGenericParameters?: boolean;\r\n isVisible?: boolean;\r\n}\r\n\r\nexport enum TypeAttributes {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n _6 = 6,\r\n _7 = 7,\r\n _8 = 8,\r\n _16 = 16,\r\n _24 = 24,\r\n _32 = 32,\r\n _128 = 128,\r\n _256 = 256,\r\n _1024 = 1024,\r\n _2048 = 2048,\r\n _4096 = 4096,\r\n _8192 = 8192,\r\n _16384 = 16384,\r\n _65536 = 65536,\r\n _131072 = 131072,\r\n _196608 = 196608,\r\n _262144 = 262144,\r\n _264192 = 264192,\r\n _1048576 = 1048576,\r\n _12582912 = 12582912,\r\n}\r\n\r\nexport class TypeInfo implements ITypeInfo {\r\n readonly name?: string | undefined;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n readonly isInterface?: boolean;\r\n memberType?: MemberTypes;\r\n readonly namespace?: string | undefined;\r\n readonly assemblyQualifiedName?: string | undefined;\r\n readonly fullName?: string | undefined;\r\n assembly?: Assembly;\r\n module?: Module;\r\n readonly isNested?: boolean;\r\n declaringType?: Type;\r\n declaringMethod?: MethodBase;\r\n reflectedType?: Type;\r\n underlyingSystemType?: Type;\r\n readonly isTypeDefinition?: boolean;\r\n readonly isArray?: boolean;\r\n readonly isByRef?: boolean;\r\n readonly isPointer?: boolean;\r\n readonly isConstructedGenericType?: boolean;\r\n readonly isGenericParameter?: boolean;\r\n readonly isGenericTypeParameter?: boolean;\r\n readonly isGenericMethodParameter?: boolean;\r\n readonly isGenericType?: boolean;\r\n readonly isGenericTypeDefinition?: boolean;\r\n readonly isSZArray?: boolean;\r\n readonly isVariableBoundArray?: boolean;\r\n readonly isByRefLike?: boolean;\r\n readonly hasElementType?: boolean;\r\n readonly genericTypeArguments?: Type[] | undefined;\r\n readonly genericParameterPosition?: number;\r\n genericParameterAttributes?: GenericParameterAttributes;\r\n attributes?: TypeAttributes;\r\n readonly isAbstract?: boolean;\r\n readonly isImport?: boolean;\r\n readonly isSealed?: boolean;\r\n readonly isSpecialName?: boolean;\r\n readonly isClass?: boolean;\r\n readonly isNestedAssembly?: boolean;\r\n readonly isNestedFamANDAssem?: boolean;\r\n readonly isNestedFamily?: boolean;\r\n readonly isNestedFamORAssem?: boolean;\r\n readonly isNestedPrivate?: boolean;\r\n readonly isNestedPublic?: boolean;\r\n readonly isNotPublic?: boolean;\r\n readonly isPublic?: boolean;\r\n readonly isAutoLayout?: boolean;\r\n readonly isExplicitLayout?: boolean;\r\n readonly isLayoutSequential?: boolean;\r\n readonly isAnsiClass?: boolean;\r\n readonly isAutoClass?: boolean;\r\n readonly isUnicodeClass?: boolean;\r\n readonly isCOMObject?: boolean;\r\n readonly isContextful?: boolean;\r\n readonly isEnum?: boolean;\r\n readonly isMarshalByRef?: boolean;\r\n readonly isPrimitive?: boolean;\r\n readonly isValueType?: boolean;\r\n readonly isSignatureType?: boolean;\r\n readonly isSecurityCritical?: boolean;\r\n readonly isSecuritySafeCritical?: boolean;\r\n readonly isSecurityTransparent?: boolean;\r\n structLayoutAttribute?: StructLayoutAttribute;\r\n typeInitializer?: ConstructorInfo;\r\n typeHandle?: RuntimeTypeHandle;\r\n readonly guid?: string;\r\n baseType?: Type;\r\n readonly isSerializable?: boolean;\r\n readonly containsGenericParameters?: boolean;\r\n readonly isVisible?: boolean;\r\n readonly genericTypeParameters?: Type[] | undefined;\r\n readonly declaredConstructors?: ConstructorInfo[] | undefined;\r\n readonly declaredEvents?: EventInfo[] | undefined;\r\n readonly declaredFields?: FieldInfo[] | undefined;\r\n readonly declaredMembers?: MemberInfo[] | undefined;\r\n readonly declaredMethods?: MethodInfo[] | undefined;\r\n readonly declaredNestedTypes?: TypeInfo[] | undefined;\r\n readonly declaredProperties?: PropertyInfo[] | undefined;\r\n readonly implementedInterfaces?: Type[] | undefined;\r\n\r\n constructor(data?: ITypeInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.assembly = data.assembly && !(data.assembly).toJSON ? new Assembly(data.assembly) : this.assembly; \r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module; \r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType; \r\n this.declaringMethod = data.declaringMethod && !(data.declaringMethod).toJSON ? new MethodBase(data.declaringMethod) : this.declaringMethod; \r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType; \r\n this.underlyingSystemType = data.underlyingSystemType && !(data.underlyingSystemType).toJSON ? new Type(data.underlyingSystemType) : this.underlyingSystemType; \r\n if (data.genericTypeArguments) {\r\n this.genericTypeArguments = [];\r\n for (let i = 0; i < data.genericTypeArguments.length; i++) {\r\n let item = data.genericTypeArguments[i];\r\n this.genericTypeArguments[i] = item && !(item).toJSON ? new Type(item) : item;\r\n }\r\n }\r\n this.structLayoutAttribute = data.structLayoutAttribute && !(data.structLayoutAttribute).toJSON ? new StructLayoutAttribute(data.structLayoutAttribute) : this.structLayoutAttribute; \r\n this.typeInitializer = data.typeInitializer && !(data.typeInitializer).toJSON ? new ConstructorInfo(data.typeInitializer) : this.typeInitializer; \r\n this.typeHandle = data.typeHandle && !(data.typeHandle).toJSON ? new RuntimeTypeHandle(data.typeHandle) : this.typeHandle; \r\n this.baseType = data.baseType && !(data.baseType).toJSON ? new Type(data.baseType) : this.baseType; \r\n if (data.genericTypeParameters) {\r\n this.genericTypeParameters = [];\r\n for (let i = 0; i < data.genericTypeParameters.length; i++) {\r\n let item = data.genericTypeParameters[i];\r\n this.genericTypeParameters[i] = item && !(item).toJSON ? new Type(item) : item;\r\n }\r\n }\r\n if (data.declaredConstructors) {\r\n this.declaredConstructors = [];\r\n for (let i = 0; i < data.declaredConstructors.length; i++) {\r\n let item = data.declaredConstructors[i];\r\n this.declaredConstructors[i] = item && !(item).toJSON ? new ConstructorInfo(item) : item;\r\n }\r\n }\r\n if (data.declaredEvents) {\r\n this.declaredEvents = [];\r\n for (let i = 0; i < data.declaredEvents.length; i++) {\r\n let item = data.declaredEvents[i];\r\n this.declaredEvents[i] = item && !(item).toJSON ? new EventInfo(item) : item;\r\n }\r\n }\r\n if (data.declaredFields) {\r\n this.declaredFields = [];\r\n for (let i = 0; i < data.declaredFields.length; i++) {\r\n let item = data.declaredFields[i];\r\n this.declaredFields[i] = item && !(item).toJSON ? new FieldInfo(item) : item;\r\n }\r\n }\r\n if (data.declaredMembers) {\r\n this.declaredMembers = [];\r\n for (let i = 0; i < data.declaredMembers.length; i++) {\r\n let item = data.declaredMembers[i];\r\n this.declaredMembers[i] = item && !(item).toJSON ? new MemberInfo(item) : item;\r\n }\r\n }\r\n if (data.declaredMethods) {\r\n this.declaredMethods = [];\r\n for (let i = 0; i < data.declaredMethods.length; i++) {\r\n let item = data.declaredMethods[i];\r\n this.declaredMethods[i] = item && !(item).toJSON ? new MethodInfo(item) : item;\r\n }\r\n }\r\n if (data.declaredNestedTypes) {\r\n this.declaredNestedTypes = [];\r\n for (let i = 0; i < data.declaredNestedTypes.length; i++) {\r\n let item = data.declaredNestedTypes[i];\r\n this.declaredNestedTypes[i] = item && !(item).toJSON ? new TypeInfo(item) : item;\r\n }\r\n }\r\n if (data.declaredProperties) {\r\n this.declaredProperties = [];\r\n for (let i = 0; i < data.declaredProperties.length; i++) {\r\n let item = data.declaredProperties[i];\r\n this.declaredProperties[i] = item && !(item).toJSON ? new PropertyInfo(item) : item;\r\n }\r\n }\r\n if (data.implementedInterfaces) {\r\n this.implementedInterfaces = [];\r\n for (let i = 0; i < data.implementedInterfaces.length; i++) {\r\n let item = data.implementedInterfaces[i];\r\n this.implementedInterfaces[i] = item && !(item).toJSON ? new Type(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n (this).isInterface = _data[\"isInterface\"];\r\n this.memberType = _data[\"memberType\"];\r\n (this).namespace = _data[\"namespace\"];\r\n (this).assemblyQualifiedName = _data[\"assemblyQualifiedName\"];\r\n (this).fullName = _data[\"fullName\"];\r\n this.assembly = _data[\"assembly\"] ? Assembly.fromJS(_data[\"assembly\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n (this).isNested = _data[\"isNested\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.declaringMethod = _data[\"declaringMethod\"] ? MethodBase.fromJS(_data[\"declaringMethod\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.underlyingSystemType = _data[\"underlyingSystemType\"] ? Type.fromJS(_data[\"underlyingSystemType\"]) : undefined;\r\n (this).isTypeDefinition = _data[\"isTypeDefinition\"];\r\n (this).isArray = _data[\"isArray\"];\r\n (this).isByRef = _data[\"isByRef\"];\r\n (this).isPointer = _data[\"isPointer\"];\r\n (this).isConstructedGenericType = _data[\"isConstructedGenericType\"];\r\n (this).isGenericParameter = _data[\"isGenericParameter\"];\r\n (this).isGenericTypeParameter = _data[\"isGenericTypeParameter\"];\r\n (this).isGenericMethodParameter = _data[\"isGenericMethodParameter\"];\r\n (this).isGenericType = _data[\"isGenericType\"];\r\n (this).isGenericTypeDefinition = _data[\"isGenericTypeDefinition\"];\r\n (this).isSZArray = _data[\"isSZArray\"];\r\n (this).isVariableBoundArray = _data[\"isVariableBoundArray\"];\r\n (this).isByRefLike = _data[\"isByRefLike\"];\r\n (this).hasElementType = _data[\"hasElementType\"];\r\n if (Array.isArray(_data[\"genericTypeArguments\"])) {\r\n (this).genericTypeArguments = [] as any;\r\n for (let item of _data[\"genericTypeArguments\"])\r\n (this).genericTypeArguments!.push(Type.fromJS(item));\r\n }\r\n (this).genericParameterPosition = _data[\"genericParameterPosition\"];\r\n this.genericParameterAttributes = _data[\"genericParameterAttributes\"];\r\n this.attributes = _data[\"attributes\"];\r\n (this).isAbstract = _data[\"isAbstract\"];\r\n (this).isImport = _data[\"isImport\"];\r\n (this).isSealed = _data[\"isSealed\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n (this).isClass = _data[\"isClass\"];\r\n (this).isNestedAssembly = _data[\"isNestedAssembly\"];\r\n (this).isNestedFamANDAssem = _data[\"isNestedFamANDAssem\"];\r\n (this).isNestedFamily = _data[\"isNestedFamily\"];\r\n (this).isNestedFamORAssem = _data[\"isNestedFamORAssem\"];\r\n (this).isNestedPrivate = _data[\"isNestedPrivate\"];\r\n (this).isNestedPublic = _data[\"isNestedPublic\"];\r\n (this).isNotPublic = _data[\"isNotPublic\"];\r\n (this).isPublic = _data[\"isPublic\"];\r\n (this).isAutoLayout = _data[\"isAutoLayout\"];\r\n (this).isExplicitLayout = _data[\"isExplicitLayout\"];\r\n (this).isLayoutSequential = _data[\"isLayoutSequential\"];\r\n (this).isAnsiClass = _data[\"isAnsiClass\"];\r\n (this).isAutoClass = _data[\"isAutoClass\"];\r\n (this).isUnicodeClass = _data[\"isUnicodeClass\"];\r\n (this).isCOMObject = _data[\"isCOMObject\"];\r\n (this).isContextful = _data[\"isContextful\"];\r\n (this).isEnum = _data[\"isEnum\"];\r\n (this).isMarshalByRef = _data[\"isMarshalByRef\"];\r\n (this).isPrimitive = _data[\"isPrimitive\"];\r\n (this).isValueType = _data[\"isValueType\"];\r\n (this).isSignatureType = _data[\"isSignatureType\"];\r\n (this).isSecurityCritical = _data[\"isSecurityCritical\"];\r\n (this).isSecuritySafeCritical = _data[\"isSecuritySafeCritical\"];\r\n (this).isSecurityTransparent = _data[\"isSecurityTransparent\"];\r\n this.structLayoutAttribute = _data[\"structLayoutAttribute\"] ? StructLayoutAttribute.fromJS(_data[\"structLayoutAttribute\"]) : undefined;\r\n this.typeInitializer = _data[\"typeInitializer\"] ? ConstructorInfo.fromJS(_data[\"typeInitializer\"]) : undefined;\r\n this.typeHandle = _data[\"typeHandle\"] ? RuntimeTypeHandle.fromJS(_data[\"typeHandle\"]) : undefined;\r\n (this).guid = _data[\"guid\"];\r\n this.baseType = _data[\"baseType\"] ? Type.fromJS(_data[\"baseType\"]) : undefined;\r\n (this).isSerializable = _data[\"isSerializable\"];\r\n (this).containsGenericParameters = _data[\"containsGenericParameters\"];\r\n (this).isVisible = _data[\"isVisible\"];\r\n if (Array.isArray(_data[\"genericTypeParameters\"])) {\r\n (this).genericTypeParameters = [] as any;\r\n for (let item of _data[\"genericTypeParameters\"])\r\n (this).genericTypeParameters!.push(Type.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"declaredConstructors\"])) {\r\n (this).declaredConstructors = [] as any;\r\n for (let item of _data[\"declaredConstructors\"])\r\n (this).declaredConstructors!.push(ConstructorInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"declaredEvents\"])) {\r\n (this).declaredEvents = [] as any;\r\n for (let item of _data[\"declaredEvents\"])\r\n (this).declaredEvents!.push(EventInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"declaredFields\"])) {\r\n (this).declaredFields = [] as any;\r\n for (let item of _data[\"declaredFields\"])\r\n (this).declaredFields!.push(FieldInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"declaredMembers\"])) {\r\n (this).declaredMembers = [] as any;\r\n for (let item of _data[\"declaredMembers\"])\r\n (this).declaredMembers!.push(MemberInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"declaredMethods\"])) {\r\n (this).declaredMethods = [] as any;\r\n for (let item of _data[\"declaredMethods\"])\r\n (this).declaredMethods!.push(MethodInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"declaredNestedTypes\"])) {\r\n (this).declaredNestedTypes = [] as any;\r\n for (let item of _data[\"declaredNestedTypes\"])\r\n (this).declaredNestedTypes!.push(TypeInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"declaredProperties\"])) {\r\n (this).declaredProperties = [] as any;\r\n for (let item of _data[\"declaredProperties\"])\r\n (this).declaredProperties!.push(PropertyInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"implementedInterfaces\"])) {\r\n (this).implementedInterfaces = [] as any;\r\n for (let item of _data[\"implementedInterfaces\"])\r\n (this).implementedInterfaces!.push(Type.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TypeInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TypeInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"isInterface\"] = this.isInterface;\r\n data[\"memberType\"] = this.memberType;\r\n data[\"namespace\"] = this.namespace;\r\n data[\"assemblyQualifiedName\"] = this.assemblyQualifiedName;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"assembly\"] = this.assembly ? this.assembly.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n data[\"isNested\"] = this.isNested;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"declaringMethod\"] = this.declaringMethod ? this.declaringMethod.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"underlyingSystemType\"] = this.underlyingSystemType ? this.underlyingSystemType.toJSON() : undefined;\r\n data[\"isTypeDefinition\"] = this.isTypeDefinition;\r\n data[\"isArray\"] = this.isArray;\r\n data[\"isByRef\"] = this.isByRef;\r\n data[\"isPointer\"] = this.isPointer;\r\n data[\"isConstructedGenericType\"] = this.isConstructedGenericType;\r\n data[\"isGenericParameter\"] = this.isGenericParameter;\r\n data[\"isGenericTypeParameter\"] = this.isGenericTypeParameter;\r\n data[\"isGenericMethodParameter\"] = this.isGenericMethodParameter;\r\n data[\"isGenericType\"] = this.isGenericType;\r\n data[\"isGenericTypeDefinition\"] = this.isGenericTypeDefinition;\r\n data[\"isSZArray\"] = this.isSZArray;\r\n data[\"isVariableBoundArray\"] = this.isVariableBoundArray;\r\n data[\"isByRefLike\"] = this.isByRefLike;\r\n data[\"hasElementType\"] = this.hasElementType;\r\n if (Array.isArray(this.genericTypeArguments)) {\r\n data[\"genericTypeArguments\"] = [];\r\n for (let item of this.genericTypeArguments)\r\n data[\"genericTypeArguments\"].push(item.toJSON());\r\n }\r\n data[\"genericParameterPosition\"] = this.genericParameterPosition;\r\n data[\"genericParameterAttributes\"] = this.genericParameterAttributes;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"isAbstract\"] = this.isAbstract;\r\n data[\"isImport\"] = this.isImport;\r\n data[\"isSealed\"] = this.isSealed;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"isClass\"] = this.isClass;\r\n data[\"isNestedAssembly\"] = this.isNestedAssembly;\r\n data[\"isNestedFamANDAssem\"] = this.isNestedFamANDAssem;\r\n data[\"isNestedFamily\"] = this.isNestedFamily;\r\n data[\"isNestedFamORAssem\"] = this.isNestedFamORAssem;\r\n data[\"isNestedPrivate\"] = this.isNestedPrivate;\r\n data[\"isNestedPublic\"] = this.isNestedPublic;\r\n data[\"isNotPublic\"] = this.isNotPublic;\r\n data[\"isPublic\"] = this.isPublic;\r\n data[\"isAutoLayout\"] = this.isAutoLayout;\r\n data[\"isExplicitLayout\"] = this.isExplicitLayout;\r\n data[\"isLayoutSequential\"] = this.isLayoutSequential;\r\n data[\"isAnsiClass\"] = this.isAnsiClass;\r\n data[\"isAutoClass\"] = this.isAutoClass;\r\n data[\"isUnicodeClass\"] = this.isUnicodeClass;\r\n data[\"isCOMObject\"] = this.isCOMObject;\r\n data[\"isContextful\"] = this.isContextful;\r\n data[\"isEnum\"] = this.isEnum;\r\n data[\"isMarshalByRef\"] = this.isMarshalByRef;\r\n data[\"isPrimitive\"] = this.isPrimitive;\r\n data[\"isValueType\"] = this.isValueType;\r\n data[\"isSignatureType\"] = this.isSignatureType;\r\n data[\"isSecurityCritical\"] = this.isSecurityCritical;\r\n data[\"isSecuritySafeCritical\"] = this.isSecuritySafeCritical;\r\n data[\"isSecurityTransparent\"] = this.isSecurityTransparent;\r\n data[\"structLayoutAttribute\"] = this.structLayoutAttribute ? this.structLayoutAttribute.toJSON() : undefined;\r\n data[\"typeInitializer\"] = this.typeInitializer ? this.typeInitializer.toJSON() : undefined;\r\n data[\"typeHandle\"] = this.typeHandle ? this.typeHandle.toJSON() : undefined;\r\n data[\"guid\"] = this.guid;\r\n data[\"baseType\"] = this.baseType ? this.baseType.toJSON() : undefined;\r\n data[\"isSerializable\"] = this.isSerializable;\r\n data[\"containsGenericParameters\"] = this.containsGenericParameters;\r\n data[\"isVisible\"] = this.isVisible;\r\n if (Array.isArray(this.genericTypeParameters)) {\r\n data[\"genericTypeParameters\"] = [];\r\n for (let item of this.genericTypeParameters)\r\n data[\"genericTypeParameters\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.declaredConstructors)) {\r\n data[\"declaredConstructors\"] = [];\r\n for (let item of this.declaredConstructors)\r\n data[\"declaredConstructors\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.declaredEvents)) {\r\n data[\"declaredEvents\"] = [];\r\n for (let item of this.declaredEvents)\r\n data[\"declaredEvents\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.declaredFields)) {\r\n data[\"declaredFields\"] = [];\r\n for (let item of this.declaredFields)\r\n data[\"declaredFields\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.declaredMembers)) {\r\n data[\"declaredMembers\"] = [];\r\n for (let item of this.declaredMembers)\r\n data[\"declaredMembers\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.declaredMethods)) {\r\n data[\"declaredMethods\"] = [];\r\n for (let item of this.declaredMethods)\r\n data[\"declaredMethods\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.declaredNestedTypes)) {\r\n data[\"declaredNestedTypes\"] = [];\r\n for (let item of this.declaredNestedTypes)\r\n data[\"declaredNestedTypes\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.declaredProperties)) {\r\n data[\"declaredProperties\"] = [];\r\n for (let item of this.declaredProperties)\r\n data[\"declaredProperties\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.implementedInterfaces)) {\r\n data[\"implementedInterfaces\"] = [];\r\n for (let item of this.implementedInterfaces)\r\n data[\"implementedInterfaces\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): TypeInfo {\r\n const json = this.toJSON();\r\n let result = new TypeInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITypeInfo {\r\n name?: string | undefined;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n isInterface?: boolean;\r\n memberType?: MemberTypes;\r\n namespace?: string | undefined;\r\n assemblyQualifiedName?: string | undefined;\r\n fullName?: string | undefined;\r\n assembly?: IAssembly;\r\n module?: IModule;\r\n isNested?: boolean;\r\n declaringType?: IType;\r\n declaringMethod?: IMethodBase;\r\n reflectedType?: IType;\r\n underlyingSystemType?: IType;\r\n isTypeDefinition?: boolean;\r\n isArray?: boolean;\r\n isByRef?: boolean;\r\n isPointer?: boolean;\r\n isConstructedGenericType?: boolean;\r\n isGenericParameter?: boolean;\r\n isGenericTypeParameter?: boolean;\r\n isGenericMethodParameter?: boolean;\r\n isGenericType?: boolean;\r\n isGenericTypeDefinition?: boolean;\r\n isSZArray?: boolean;\r\n isVariableBoundArray?: boolean;\r\n isByRefLike?: boolean;\r\n hasElementType?: boolean;\r\n genericTypeArguments?: IType[] | undefined;\r\n genericParameterPosition?: number;\r\n genericParameterAttributes?: GenericParameterAttributes;\r\n attributes?: TypeAttributes;\r\n isAbstract?: boolean;\r\n isImport?: boolean;\r\n isSealed?: boolean;\r\n isSpecialName?: boolean;\r\n isClass?: boolean;\r\n isNestedAssembly?: boolean;\r\n isNestedFamANDAssem?: boolean;\r\n isNestedFamily?: boolean;\r\n isNestedFamORAssem?: boolean;\r\n isNestedPrivate?: boolean;\r\n isNestedPublic?: boolean;\r\n isNotPublic?: boolean;\r\n isPublic?: boolean;\r\n isAutoLayout?: boolean;\r\n isExplicitLayout?: boolean;\r\n isLayoutSequential?: boolean;\r\n isAnsiClass?: boolean;\r\n isAutoClass?: boolean;\r\n isUnicodeClass?: boolean;\r\n isCOMObject?: boolean;\r\n isContextful?: boolean;\r\n isEnum?: boolean;\r\n isMarshalByRef?: boolean;\r\n isPrimitive?: boolean;\r\n isValueType?: boolean;\r\n isSignatureType?: boolean;\r\n isSecurityCritical?: boolean;\r\n isSecuritySafeCritical?: boolean;\r\n isSecurityTransparent?: boolean;\r\n structLayoutAttribute?: IStructLayoutAttribute;\r\n typeInitializer?: IConstructorInfo;\r\n typeHandle?: IRuntimeTypeHandle;\r\n guid?: string;\r\n baseType?: IType;\r\n isSerializable?: boolean;\r\n containsGenericParameters?: boolean;\r\n isVisible?: boolean;\r\n genericTypeParameters?: IType[] | undefined;\r\n declaredConstructors?: IConstructorInfo[] | undefined;\r\n declaredEvents?: IEventInfo[] | undefined;\r\n declaredFields?: IFieldInfo[] | undefined;\r\n declaredMembers?: IMemberInfo[] | undefined;\r\n declaredMethods?: IMethodInfo[] | undefined;\r\n declaredNestedTypes?: ITypeInfo[] | undefined;\r\n declaredProperties?: IPropertyInfo[] | undefined;\r\n implementedInterfaces?: IType[] | undefined;\r\n}\r\n\r\nexport class UnitCodeVm implements IUnitCodeVm {\r\n unitCode?: string | undefined;\r\n\r\n constructor(data?: IUnitCodeVm) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.unitCode = _data[\"unitCode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UnitCodeVm {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UnitCodeVm();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"unitCode\"] = this.unitCode;\r\n return data; \r\n }\r\n\r\n clone(): UnitCodeVm {\r\n const json = this.toJSON();\r\n let result = new UnitCodeVm();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUnitCodeVm {\r\n unitCode?: string | undefined;\r\n}\r\n\r\nexport class UnitCodeVmApiResponse implements IUnitCodeVmApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: UnitCodeVm;\r\n\r\n constructor(data?: IUnitCodeVmApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new UnitCodeVm(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? UnitCodeVm.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UnitCodeVmApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UnitCodeVmApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): UnitCodeVmApiResponse {\r\n const json = this.toJSON();\r\n let result = new UnitCodeVmApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUnitCodeVmApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IUnitCodeVm;\r\n}\r\n\r\nexport class UnitInContentDetailsOfPost implements IUnitInContentDetailsOfPost {\r\n id?: number;\r\n unitCode?: string | undefined;\r\n unitName?: string | undefined;\r\n\r\n constructor(data?: IUnitInContentDetailsOfPost) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.unitCode = _data[\"unitCode\"];\r\n this.unitName = _data[\"unitName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UnitInContentDetailsOfPost {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UnitInContentDetailsOfPost();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"unitCode\"] = this.unitCode;\r\n data[\"unitName\"] = this.unitName;\r\n return data; \r\n }\r\n\r\n clone(): UnitInContentDetailsOfPost {\r\n const json = this.toJSON();\r\n let result = new UnitInContentDetailsOfPost();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUnitInContentDetailsOfPost {\r\n id?: number;\r\n unitCode?: string | undefined;\r\n unitName?: string | undefined;\r\n}\r\n\r\nexport class UpdatePostModel implements IUpdatePostModel {\r\n id?: number;\r\n providerId?: string | undefined;\r\n tieuDe?: string | undefined;\r\n noiDung?: string | undefined;\r\n diaDiem?: string | undefined;\r\n sodienthoai?: string | undefined;\r\n linhVucId?: number;\r\n diaBanHuyenId?: number | undefined;\r\n diaBanXaId?: number | undefined;\r\n diaBanThonId?: number | undefined;\r\n unitCode?: string | undefined;\r\n anh?: string | undefined;\r\n from_FullName?: string | undefined;\r\n nameThanhVien?: string | undefined;\r\n idThanhVien?: number;\r\n\r\n constructor(data?: IUpdatePostModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.providerId = _data[\"providerId\"];\r\n this.tieuDe = _data[\"tieuDe\"];\r\n this.noiDung = _data[\"noiDung\"];\r\n this.diaDiem = _data[\"diaDiem\"];\r\n this.sodienthoai = _data[\"sodienthoai\"];\r\n this.linhVucId = _data[\"linhVucId\"];\r\n this.diaBanHuyenId = _data[\"diaBanHuyenId\"];\r\n this.diaBanXaId = _data[\"diaBanXaId\"];\r\n this.diaBanThonId = _data[\"diaBanThonId\"];\r\n this.unitCode = _data[\"unitCode\"];\r\n this.anh = _data[\"anh\"];\r\n this.from_FullName = _data[\"from_FullName\"];\r\n this.nameThanhVien = _data[\"nameThanhVien\"];\r\n this.idThanhVien = _data[\"idThanhVien\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdatePostModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdatePostModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"providerId\"] = this.providerId;\r\n data[\"tieuDe\"] = this.tieuDe;\r\n data[\"noiDung\"] = this.noiDung;\r\n data[\"diaDiem\"] = this.diaDiem;\r\n data[\"sodienthoai\"] = this.sodienthoai;\r\n data[\"linhVucId\"] = this.linhVucId;\r\n data[\"diaBanHuyenId\"] = this.diaBanHuyenId;\r\n data[\"diaBanXaId\"] = this.diaBanXaId;\r\n data[\"diaBanThonId\"] = this.diaBanThonId;\r\n data[\"unitCode\"] = this.unitCode;\r\n data[\"anh\"] = this.anh;\r\n data[\"from_FullName\"] = this.from_FullName;\r\n data[\"nameThanhVien\"] = this.nameThanhVien;\r\n data[\"idThanhVien\"] = this.idThanhVien;\r\n return data; \r\n }\r\n\r\n clone(): UpdatePostModel {\r\n const json = this.toJSON();\r\n let result = new UpdatePostModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUpdatePostModel {\r\n id?: number;\r\n providerId?: string | undefined;\r\n tieuDe?: string | undefined;\r\n noiDung?: string | undefined;\r\n diaDiem?: string | undefined;\r\n sodienthoai?: string | undefined;\r\n linhVucId?: number;\r\n diaBanHuyenId?: number | undefined;\r\n diaBanXaId?: number | undefined;\r\n diaBanThonId?: number | undefined;\r\n unitCode?: string | undefined;\r\n anh?: string | undefined;\r\n from_FullName?: string | undefined;\r\n nameThanhVien?: string | undefined;\r\n idThanhVien?: number;\r\n}\r\n\r\nexport class UserInUnitModel implements IUserInUnitModel {\r\n id?: number;\r\n ten?: string | undefined;\r\n\r\n constructor(data?: IUserInUnitModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.ten = _data[\"ten\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserInUnitModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserInUnitModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"ten\"] = this.ten;\r\n return data; \r\n }\r\n\r\n clone(): UserInUnitModel {\r\n const json = this.toJSON();\r\n let result = new UserInUnitModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUserInUnitModel {\r\n id?: number;\r\n ten?: string | undefined;\r\n}\r\n\r\nexport class UserInUnitModelListApiResponse implements IUserInUnitModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: UserInUnitModel[] | undefined;\r\n\r\n constructor(data?: IUserInUnitModelListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new UserInUnitModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(UserInUnitModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserInUnitModelListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserInUnitModelListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): UserInUnitModelListApiResponse {\r\n const json = this.toJSON();\r\n let result = new UserInUnitModelListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUserInUnitModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IUserInUnitModel[] | undefined;\r\n}\r\n\r\nexport class UserLoginModel implements IUserLoginModel {\r\n id?: string | undefined;\r\n name?: string | undefined;\r\n email?: string | undefined;\r\n provider?: string | undefined;\r\n image?: string | undefined;\r\n token?: string | undefined;\r\n phone?: string | undefined;\r\n\r\n constructor(data?: IUserLoginModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.email = _data[\"email\"];\r\n this.provider = _data[\"provider\"];\r\n this.image = _data[\"image\"];\r\n this.token = _data[\"token\"];\r\n this.phone = _data[\"phone\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserLoginModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserLoginModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"email\"] = this.email;\r\n data[\"provider\"] = this.provider;\r\n data[\"image\"] = this.image;\r\n data[\"token\"] = this.token;\r\n data[\"phone\"] = this.phone;\r\n return data; \r\n }\r\n\r\n clone(): UserLoginModel {\r\n const json = this.toJSON();\r\n let result = new UserLoginModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUserLoginModel {\r\n id?: string | undefined;\r\n name?: string | undefined;\r\n email?: string | undefined;\r\n provider?: string | undefined;\r\n image?: string | undefined;\r\n token?: string | undefined;\r\n phone?: string | undefined;\r\n}\r\n\r\nexport class UserSelect implements IUserSelect {\r\n userid?: number;\r\n unitcode?: string | undefined;\r\n fullname?: string | undefined;\r\n username?: string | undefined;\r\n phongban?: string | undefined;\r\n exist?: boolean;\r\n disabled?: boolean;\r\n\r\n constructor(data?: IUserSelect) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userid = _data[\"userid\"];\r\n this.unitcode = _data[\"unitcode\"];\r\n this.fullname = _data[\"fullname\"];\r\n this.username = _data[\"username\"];\r\n this.phongban = _data[\"phongban\"];\r\n this.exist = _data[\"exist\"];\r\n this.disabled = _data[\"disabled\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserSelect {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserSelect();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userid\"] = this.userid;\r\n data[\"unitcode\"] = this.unitcode;\r\n data[\"fullname\"] = this.fullname;\r\n data[\"username\"] = this.username;\r\n data[\"phongban\"] = this.phongban;\r\n data[\"exist\"] = this.exist;\r\n data[\"disabled\"] = this.disabled;\r\n return data; \r\n }\r\n\r\n clone(): UserSelect {\r\n const json = this.toJSON();\r\n let result = new UserSelect();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUserSelect {\r\n userid?: number;\r\n unitcode?: string | undefined;\r\n fullname?: string | undefined;\r\n username?: string | undefined;\r\n phongban?: string | undefined;\r\n exist?: boolean;\r\n disabled?: boolean;\r\n}\r\n\r\nexport class ViewActionXuLyGopYModel implements IViewActionXuLyGopYModel {\r\n idCanBoPhanCong?: number;\r\n noiDungDonViHoTro?: string | undefined;\r\n lstMauPhanHoi?: MauPhanHoiXuLyGopYModel[] | undefined;\r\n lstCanBo?: CanBoDonViXuLyGopYModel[] | undefined;\r\n lstDonVi?: DonViHoTroXuLyGopYModel[] | undefined;\r\n\r\n constructor(data?: IViewActionXuLyGopYModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstMauPhanHoi) {\r\n this.lstMauPhanHoi = [];\r\n for (let i = 0; i < data.lstMauPhanHoi.length; i++) {\r\n let item = data.lstMauPhanHoi[i];\r\n this.lstMauPhanHoi[i] = item && !(item).toJSON ? new MauPhanHoiXuLyGopYModel(item) : item;\r\n }\r\n }\r\n if (data.lstCanBo) {\r\n this.lstCanBo = [];\r\n for (let i = 0; i < data.lstCanBo.length; i++) {\r\n let item = data.lstCanBo[i];\r\n this.lstCanBo[i] = item && !(item).toJSON ? new CanBoDonViXuLyGopYModel(item) : item;\r\n }\r\n }\r\n if (data.lstDonVi) {\r\n this.lstDonVi = [];\r\n for (let i = 0; i < data.lstDonVi.length; i++) {\r\n let item = data.lstDonVi[i];\r\n this.lstDonVi[i] = item && !(item).toJSON ? new DonViHoTroXuLyGopYModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.idCanBoPhanCong = _data[\"idCanBoPhanCong\"];\r\n this.noiDungDonViHoTro = _data[\"noiDungDonViHoTro\"];\r\n if (Array.isArray(_data[\"lstMauPhanHoi\"])) {\r\n this.lstMauPhanHoi = [] as any;\r\n for (let item of _data[\"lstMauPhanHoi\"])\r\n this.lstMauPhanHoi!.push(MauPhanHoiXuLyGopYModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstCanBo\"])) {\r\n this.lstCanBo = [] as any;\r\n for (let item of _data[\"lstCanBo\"])\r\n this.lstCanBo!.push(CanBoDonViXuLyGopYModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstDonVi\"])) {\r\n this.lstDonVi = [] as any;\r\n for (let item of _data[\"lstDonVi\"])\r\n this.lstDonVi!.push(DonViHoTroXuLyGopYModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ViewActionXuLyGopYModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ViewActionXuLyGopYModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"idCanBoPhanCong\"] = this.idCanBoPhanCong;\r\n data[\"noiDungDonViHoTro\"] = this.noiDungDonViHoTro;\r\n if (Array.isArray(this.lstMauPhanHoi)) {\r\n data[\"lstMauPhanHoi\"] = [];\r\n for (let item of this.lstMauPhanHoi)\r\n data[\"lstMauPhanHoi\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstCanBo)) {\r\n data[\"lstCanBo\"] = [];\r\n for (let item of this.lstCanBo)\r\n data[\"lstCanBo\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstDonVi)) {\r\n data[\"lstDonVi\"] = [];\r\n for (let item of this.lstDonVi)\r\n data[\"lstDonVi\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): ViewActionXuLyGopYModel {\r\n const json = this.toJSON();\r\n let result = new ViewActionXuLyGopYModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IViewActionXuLyGopYModel {\r\n idCanBoPhanCong?: number;\r\n noiDungDonViHoTro?: string | undefined;\r\n lstMauPhanHoi?: IMauPhanHoiXuLyGopYModel[] | undefined;\r\n lstCanBo?: ICanBoDonViXuLyGopYModel[] | undefined;\r\n lstDonVi?: IDonViHoTroXuLyGopYModel[] | undefined;\r\n}\r\n\r\nexport class ViewActionXuLyGopYModelApiResponse implements IViewActionXuLyGopYModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ViewActionXuLyGopYModel;\r\n\r\n constructor(data?: IViewActionXuLyGopYModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ViewActionXuLyGopYModel(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ViewActionXuLyGopYModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ViewActionXuLyGopYModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ViewActionXuLyGopYModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): ViewActionXuLyGopYModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new ViewActionXuLyGopYModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IViewActionXuLyGopYModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IViewActionXuLyGopYModel;\r\n}\r\n\r\nexport class ViewBaoCaoThongKeXuLyModel implements IViewBaoCaoThongKeXuLyModel {\r\n lstQuanHuyen?: DiaBanBcThongKeXuLyModel[] | undefined;\r\n lstXaPhuong?: DiaBanBcThongKeXuLyModel[] | undefined;\r\n lstDonVi?: DonViBcThongKeXuLyModel[] | undefined;\r\n lstLinhVuc?: LinhVucBcThongKeXuLyModel[] | undefined;\r\n\r\n constructor(data?: IViewBaoCaoThongKeXuLyModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstQuanHuyen) {\r\n this.lstQuanHuyen = [];\r\n for (let i = 0; i < data.lstQuanHuyen.length; i++) {\r\n let item = data.lstQuanHuyen[i];\r\n this.lstQuanHuyen[i] = item && !(item).toJSON ? new DiaBanBcThongKeXuLyModel(item) : item;\r\n }\r\n }\r\n if (data.lstXaPhuong) {\r\n this.lstXaPhuong = [];\r\n for (let i = 0; i < data.lstXaPhuong.length; i++) {\r\n let item = data.lstXaPhuong[i];\r\n this.lstXaPhuong[i] = item && !(item).toJSON ? new DiaBanBcThongKeXuLyModel(item) : item;\r\n }\r\n }\r\n if (data.lstDonVi) {\r\n this.lstDonVi = [];\r\n for (let i = 0; i < data.lstDonVi.length; i++) {\r\n let item = data.lstDonVi[i];\r\n this.lstDonVi[i] = item && !(item).toJSON ? new DonViBcThongKeXuLyModel(item) : item;\r\n }\r\n }\r\n if (data.lstLinhVuc) {\r\n this.lstLinhVuc = [];\r\n for (let i = 0; i < data.lstLinhVuc.length; i++) {\r\n let item = data.lstLinhVuc[i];\r\n this.lstLinhVuc[i] = item && !(item).toJSON ? new LinhVucBcThongKeXuLyModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"lstQuanHuyen\"])) {\r\n this.lstQuanHuyen = [] as any;\r\n for (let item of _data[\"lstQuanHuyen\"])\r\n this.lstQuanHuyen!.push(DiaBanBcThongKeXuLyModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstXaPhuong\"])) {\r\n this.lstXaPhuong = [] as any;\r\n for (let item of _data[\"lstXaPhuong\"])\r\n this.lstXaPhuong!.push(DiaBanBcThongKeXuLyModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstDonVi\"])) {\r\n this.lstDonVi = [] as any;\r\n for (let item of _data[\"lstDonVi\"])\r\n this.lstDonVi!.push(DonViBcThongKeXuLyModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstLinhVuc\"])) {\r\n this.lstLinhVuc = [] as any;\r\n for (let item of _data[\"lstLinhVuc\"])\r\n this.lstLinhVuc!.push(LinhVucBcThongKeXuLyModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ViewBaoCaoThongKeXuLyModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ViewBaoCaoThongKeXuLyModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.lstQuanHuyen)) {\r\n data[\"lstQuanHuyen\"] = [];\r\n for (let item of this.lstQuanHuyen)\r\n data[\"lstQuanHuyen\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstXaPhuong)) {\r\n data[\"lstXaPhuong\"] = [];\r\n for (let item of this.lstXaPhuong)\r\n data[\"lstXaPhuong\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstDonVi)) {\r\n data[\"lstDonVi\"] = [];\r\n for (let item of this.lstDonVi)\r\n data[\"lstDonVi\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstLinhVuc)) {\r\n data[\"lstLinhVuc\"] = [];\r\n for (let item of this.lstLinhVuc)\r\n data[\"lstLinhVuc\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): ViewBaoCaoThongKeXuLyModel {\r\n const json = this.toJSON();\r\n let result = new ViewBaoCaoThongKeXuLyModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IViewBaoCaoThongKeXuLyModel {\r\n lstQuanHuyen?: IDiaBanBcThongKeXuLyModel[] | undefined;\r\n lstXaPhuong?: IDiaBanBcThongKeXuLyModel[] | undefined;\r\n lstDonVi?: IDonViBcThongKeXuLyModel[] | undefined;\r\n lstLinhVuc?: ILinhVucBcThongKeXuLyModel[] | undefined;\r\n}\r\n\r\nexport class ViewBaoCaoThongKeXuLyModelApiResponse implements IViewBaoCaoThongKeXuLyModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ViewBaoCaoThongKeXuLyModel;\r\n\r\n constructor(data?: IViewBaoCaoThongKeXuLyModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ViewBaoCaoThongKeXuLyModel(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ViewBaoCaoThongKeXuLyModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ViewBaoCaoThongKeXuLyModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ViewBaoCaoThongKeXuLyModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): ViewBaoCaoThongKeXuLyModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new ViewBaoCaoThongKeXuLyModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IViewBaoCaoThongKeXuLyModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IViewBaoCaoThongKeXuLyModel;\r\n}\r\n\r\nexport class ViewDetailContentFileModel implements IViewDetailContentFileModel {\r\n id?: number;\r\n fileName?: string | undefined;\r\n\r\n constructor(data?: IViewDetailContentFileModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fileName = _data[\"fileName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ViewDetailContentFileModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ViewDetailContentFileModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fileName\"] = this.fileName;\r\n return data; \r\n }\r\n\r\n clone(): ViewDetailContentFileModel {\r\n const json = this.toJSON();\r\n let result = new ViewDetailContentFileModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IViewDetailContentFileModel {\r\n id?: number;\r\n fileName?: string | undefined;\r\n}\r\n\r\nexport class ViewDetailContentModel implements IViewDetailContentModel {\r\n tieuDe?: string | undefined;\r\n diaDiem?: string | undefined;\r\n thoiGianGui?: Date;\r\n linhVuc?: string | undefined;\r\n nguoiGopY?: string | undefined;\r\n soDienThoai?: string | undefined;\r\n email?: string | undefined;\r\n kenhTiepNhan?: string | undefined;\r\n noiDungChiTiet?: string | undefined;\r\n trangThai?: string | undefined;\r\n maMauTrangThai?: string | undefined;\r\n tinhTrangCongKhai?: boolean;\r\n lstLichSu?: LichSuXuLyModel[] | undefined;\r\n lstFiles?: ViewDetailContentFileModel[] | undefined;\r\n lstImages?: ViewDetailContentFileModel[] | undefined;\r\n\r\n constructor(data?: IViewDetailContentModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstLichSu) {\r\n this.lstLichSu = [];\r\n for (let i = 0; i < data.lstLichSu.length; i++) {\r\n let item = data.lstLichSu[i];\r\n this.lstLichSu[i] = item && !(item).toJSON ? new LichSuXuLyModel(item) : item;\r\n }\r\n }\r\n if (data.lstFiles) {\r\n this.lstFiles = [];\r\n for (let i = 0; i < data.lstFiles.length; i++) {\r\n let item = data.lstFiles[i];\r\n this.lstFiles[i] = item && !(item).toJSON ? new ViewDetailContentFileModel(item) : item;\r\n }\r\n }\r\n if (data.lstImages) {\r\n this.lstImages = [];\r\n for (let i = 0; i < data.lstImages.length; i++) {\r\n let item = data.lstImages[i];\r\n this.lstImages[i] = item && !(item).toJSON ? new ViewDetailContentFileModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.tieuDe = _data[\"tieuDe\"];\r\n this.diaDiem = _data[\"diaDiem\"];\r\n this.thoiGianGui = _data[\"thoiGianGui\"] ? new Date(_data[\"thoiGianGui\"].toString()) : undefined;\r\n this.linhVuc = _data[\"linhVuc\"];\r\n this.nguoiGopY = _data[\"nguoiGopY\"];\r\n this.soDienThoai = _data[\"soDienThoai\"];\r\n this.email = _data[\"email\"];\r\n this.kenhTiepNhan = _data[\"kenhTiepNhan\"];\r\n this.noiDungChiTiet = _data[\"noiDungChiTiet\"];\r\n this.trangThai = _data[\"trangThai\"];\r\n this.maMauTrangThai = _data[\"maMauTrangThai\"];\r\n this.tinhTrangCongKhai = _data[\"tinhTrangCongKhai\"];\r\n if (Array.isArray(_data[\"lstLichSu\"])) {\r\n this.lstLichSu = [] as any;\r\n for (let item of _data[\"lstLichSu\"])\r\n this.lstLichSu!.push(LichSuXuLyModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstFiles\"])) {\r\n this.lstFiles = [] as any;\r\n for (let item of _data[\"lstFiles\"])\r\n this.lstFiles!.push(ViewDetailContentFileModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstImages\"])) {\r\n this.lstImages = [] as any;\r\n for (let item of _data[\"lstImages\"])\r\n this.lstImages!.push(ViewDetailContentFileModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ViewDetailContentModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ViewDetailContentModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"tieuDe\"] = this.tieuDe;\r\n data[\"diaDiem\"] = this.diaDiem;\r\n data[\"thoiGianGui\"] = this.thoiGianGui ? this.thoiGianGui.toISOString() : undefined;\r\n data[\"linhVuc\"] = this.linhVuc;\r\n data[\"nguoiGopY\"] = this.nguoiGopY;\r\n data[\"soDienThoai\"] = this.soDienThoai;\r\n data[\"email\"] = this.email;\r\n data[\"kenhTiepNhan\"] = this.kenhTiepNhan;\r\n data[\"noiDungChiTiet\"] = this.noiDungChiTiet;\r\n data[\"trangThai\"] = this.trangThai;\r\n data[\"maMauTrangThai\"] = this.maMauTrangThai;\r\n data[\"tinhTrangCongKhai\"] = this.tinhTrangCongKhai;\r\n if (Array.isArray(this.lstLichSu)) {\r\n data[\"lstLichSu\"] = [];\r\n for (let item of this.lstLichSu)\r\n data[\"lstLichSu\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstFiles)) {\r\n data[\"lstFiles\"] = [];\r\n for (let item of this.lstFiles)\r\n data[\"lstFiles\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstImages)) {\r\n data[\"lstImages\"] = [];\r\n for (let item of this.lstImages)\r\n data[\"lstImages\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): ViewDetailContentModel {\r\n const json = this.toJSON();\r\n let result = new ViewDetailContentModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IViewDetailContentModel {\r\n tieuDe?: string | undefined;\r\n diaDiem?: string | undefined;\r\n thoiGianGui?: Date;\r\n linhVuc?: string | undefined;\r\n nguoiGopY?: string | undefined;\r\n soDienThoai?: string | undefined;\r\n email?: string | undefined;\r\n kenhTiepNhan?: string | undefined;\r\n noiDungChiTiet?: string | undefined;\r\n trangThai?: string | undefined;\r\n maMauTrangThai?: string | undefined;\r\n tinhTrangCongKhai?: boolean;\r\n lstLichSu?: ILichSuXuLyModel[] | undefined;\r\n lstFiles?: IViewDetailContentFileModel[] | undefined;\r\n lstImages?: IViewDetailContentFileModel[] | undefined;\r\n}\r\n\r\nexport class ViewDetailContentModelApiResponse implements IViewDetailContentModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ViewDetailContentModel;\r\n\r\n constructor(data?: IViewDetailContentModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ViewDetailContentModel(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ViewDetailContentModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ViewDetailContentModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ViewDetailContentModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): ViewDetailContentModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new ViewDetailContentModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IViewDetailContentModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IViewDetailContentModel;\r\n}\r\n\r\nexport class ViewHomeModel implements IViewHomeModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n trangThaiXuLy?: string | undefined;\r\n color?: string | undefined;\r\n noiDungXuLy?: string | undefined;\r\n noiDungTraLoi?: string | undefined;\r\n linhVuc?: string | undefined;\r\n kenhTiepNhan?: string | undefined;\r\n imageId?: number | undefined;\r\n\r\n constructor(data?: IViewHomeModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tieuDe = _data[\"tieuDe\"];\r\n this.trangThaiXuLy = _data[\"trangThaiXuLy\"];\r\n this.color = _data[\"color\"];\r\n this.noiDungXuLy = _data[\"noiDungXuLy\"];\r\n this.noiDungTraLoi = _data[\"noiDungTraLoi\"];\r\n this.linhVuc = _data[\"linhVuc\"];\r\n this.kenhTiepNhan = _data[\"kenhTiepNhan\"];\r\n this.imageId = _data[\"imageId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ViewHomeModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ViewHomeModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tieuDe\"] = this.tieuDe;\r\n data[\"trangThaiXuLy\"] = this.trangThaiXuLy;\r\n data[\"color\"] = this.color;\r\n data[\"noiDungXuLy\"] = this.noiDungXuLy;\r\n data[\"noiDungTraLoi\"] = this.noiDungTraLoi;\r\n data[\"linhVuc\"] = this.linhVuc;\r\n data[\"kenhTiepNhan\"] = this.kenhTiepNhan;\r\n data[\"imageId\"] = this.imageId;\r\n return data; \r\n }\r\n\r\n clone(): ViewHomeModel {\r\n const json = this.toJSON();\r\n let result = new ViewHomeModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IViewHomeModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n trangThaiXuLy?: string | undefined;\r\n color?: string | undefined;\r\n noiDungXuLy?: string | undefined;\r\n noiDungTraLoi?: string | undefined;\r\n linhVuc?: string | undefined;\r\n kenhTiepNhan?: string | undefined;\r\n imageId?: number | undefined;\r\n}\r\n\r\nexport class ViewTinhHinhXuLyChart implements IViewTinhHinhXuLyChart {\r\n lstUnit?: DonViTinhHinhXuLyChartModel[] | undefined;\r\n lstLinhVuc?: LinhVucTinhHinhXuLyChartModel[] | undefined;\r\n lstDiaBan?: DiaBanTinhHinhXuLyChartModel[] | undefined;\r\n\r\n constructor(data?: IViewTinhHinhXuLyChart) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstUnit) {\r\n this.lstUnit = [];\r\n for (let i = 0; i < data.lstUnit.length; i++) {\r\n let item = data.lstUnit[i];\r\n this.lstUnit[i] = item && !(item).toJSON ? new DonViTinhHinhXuLyChartModel(item) : item;\r\n }\r\n }\r\n if (data.lstLinhVuc) {\r\n this.lstLinhVuc = [];\r\n for (let i = 0; i < data.lstLinhVuc.length; i++) {\r\n let item = data.lstLinhVuc[i];\r\n this.lstLinhVuc[i] = item && !(item).toJSON ? new LinhVucTinhHinhXuLyChartModel(item) : item;\r\n }\r\n }\r\n if (data.lstDiaBan) {\r\n this.lstDiaBan = [];\r\n for (let i = 0; i < data.lstDiaBan.length; i++) {\r\n let item = data.lstDiaBan[i];\r\n this.lstDiaBan[i] = item && !(item).toJSON ? new DiaBanTinhHinhXuLyChartModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"lstUnit\"])) {\r\n this.lstUnit = [] as any;\r\n for (let item of _data[\"lstUnit\"])\r\n this.lstUnit!.push(DonViTinhHinhXuLyChartModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstLinhVuc\"])) {\r\n this.lstLinhVuc = [] as any;\r\n for (let item of _data[\"lstLinhVuc\"])\r\n this.lstLinhVuc!.push(LinhVucTinhHinhXuLyChartModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstDiaBan\"])) {\r\n this.lstDiaBan = [] as any;\r\n for (let item of _data[\"lstDiaBan\"])\r\n this.lstDiaBan!.push(DiaBanTinhHinhXuLyChartModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ViewTinhHinhXuLyChart {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ViewTinhHinhXuLyChart();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.lstUnit)) {\r\n data[\"lstUnit\"] = [];\r\n for (let item of this.lstUnit)\r\n data[\"lstUnit\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstLinhVuc)) {\r\n data[\"lstLinhVuc\"] = [];\r\n for (let item of this.lstLinhVuc)\r\n data[\"lstLinhVuc\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstDiaBan)) {\r\n data[\"lstDiaBan\"] = [];\r\n for (let item of this.lstDiaBan)\r\n data[\"lstDiaBan\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): ViewTinhHinhXuLyChart {\r\n const json = this.toJSON();\r\n let result = new ViewTinhHinhXuLyChart();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IViewTinhHinhXuLyChart {\r\n lstUnit?: IDonViTinhHinhXuLyChartModel[] | undefined;\r\n lstLinhVuc?: ILinhVucTinhHinhXuLyChartModel[] | undefined;\r\n lstDiaBan?: IDiaBanTinhHinhXuLyChartModel[] | undefined;\r\n}\r\n\r\nexport class ViewTinhHinhXuLyChartApiResponse implements IViewTinhHinhXuLyChartApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ViewTinhHinhXuLyChart;\r\n\r\n constructor(data?: IViewTinhHinhXuLyChartApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ViewTinhHinhXuLyChart(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ViewTinhHinhXuLyChart.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ViewTinhHinhXuLyChartApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ViewTinhHinhXuLyChartApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): ViewTinhHinhXuLyChartApiResponse {\r\n const json = this.toJSON();\r\n let result = new ViewTinhHinhXuLyChartApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IViewTinhHinhXuLyChartApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IViewTinhHinhXuLyChart;\r\n}\r\n\r\nexport class WindowSpecification implements IWindowSpecification {\r\n databaseSpecificCreator?: IDbSpecificCreator;\r\n readonly parameters?: DbParameter[] | undefined;\r\n\r\n constructor(data?: IWindowSpecification) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.databaseSpecificCreator = data.databaseSpecificCreator && !(data.databaseSpecificCreator).toJSON ? new IDbSpecificCreator(data.databaseSpecificCreator) : this.databaseSpecificCreator; \r\n if (data.parameters) {\r\n this.parameters = [];\r\n for (let i = 0; i < data.parameters.length; i++) {\r\n let item = data.parameters[i];\r\n this.parameters[i] = item && !(item).toJSON ? new DbParameter(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.databaseSpecificCreator = _data[\"databaseSpecificCreator\"] ? IDbSpecificCreator.fromJS(_data[\"databaseSpecificCreator\"]) : undefined;\r\n if (Array.isArray(_data[\"parameters\"])) {\r\n (this).parameters = [] as any;\r\n for (let item of _data[\"parameters\"])\r\n (this).parameters!.push(DbParameter.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): WindowSpecification {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WindowSpecification();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"databaseSpecificCreator\"] = this.databaseSpecificCreator ? this.databaseSpecificCreator.toJSON() : undefined;\r\n if (Array.isArray(this.parameters)) {\r\n data[\"parameters\"] = [];\r\n for (let item of this.parameters)\r\n data[\"parameters\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): WindowSpecification {\r\n const json = this.toJSON();\r\n let result = new WindowSpecification();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IWindowSpecification {\r\n databaseSpecificCreator?: IIDbSpecificCreator;\r\n parameters?: IDbParameter[] | undefined;\r\n}\r\n\r\nexport class XuLyGopYCanBoModel implements IXuLyGopYCanBoModel {\r\n id?: number;\r\n value?: string | undefined;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IXuLyGopYCanBoModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.value = _data[\"value\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): XuLyGopYCanBoModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new XuLyGopYCanBoModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"value\"] = this.value;\r\n data[\"name\"] = this.name;\r\n return data; \r\n }\r\n\r\n clone(): XuLyGopYCanBoModel {\r\n const json = this.toJSON();\r\n let result = new XuLyGopYCanBoModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IXuLyGopYCanBoModel {\r\n id?: number;\r\n value?: string | undefined;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class XuLyGopYDetailsModel implements IXuLyGopYDetailsModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n diaDiem?: string | undefined;\r\n ngayGopY?: Date;\r\n noiDung?: string | undefined;\r\n tenLinhVuc?: string | undefined;\r\n trangThaiXuLY?: number | undefined;\r\n nguoiGuiGopY?: XuLyGopYNguoiGuiGopYModel;\r\n lstAnhHoiDinhKem?: XuLyGopYFileModel[] | undefined;\r\n lstFileHoiDinhKem?: XuLyGopYFileModel[] | undefined;\r\n lstDonVi?: XuLyGopYDonViModel[] | undefined;\r\n lstCanBo?: XuLyGopYCanBoModel[] | undefined;\r\n\r\n constructor(data?: IXuLyGopYDetailsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.nguoiGuiGopY = data.nguoiGuiGopY && !(data.nguoiGuiGopY).toJSON ? new XuLyGopYNguoiGuiGopYModel(data.nguoiGuiGopY) : this.nguoiGuiGopY; \r\n if (data.lstAnhHoiDinhKem) {\r\n this.lstAnhHoiDinhKem = [];\r\n for (let i = 0; i < data.lstAnhHoiDinhKem.length; i++) {\r\n let item = data.lstAnhHoiDinhKem[i];\r\n this.lstAnhHoiDinhKem[i] = item && !(item).toJSON ? new XuLyGopYFileModel(item) : item;\r\n }\r\n }\r\n if (data.lstFileHoiDinhKem) {\r\n this.lstFileHoiDinhKem = [];\r\n for (let i = 0; i < data.lstFileHoiDinhKem.length; i++) {\r\n let item = data.lstFileHoiDinhKem[i];\r\n this.lstFileHoiDinhKem[i] = item && !(item).toJSON ? new XuLyGopYFileModel(item) : item;\r\n }\r\n }\r\n if (data.lstDonVi) {\r\n this.lstDonVi = [];\r\n for (let i = 0; i < data.lstDonVi.length; i++) {\r\n let item = data.lstDonVi[i];\r\n this.lstDonVi[i] = item && !(item).toJSON ? new XuLyGopYDonViModel(item) : item;\r\n }\r\n }\r\n if (data.lstCanBo) {\r\n this.lstCanBo = [];\r\n for (let i = 0; i < data.lstCanBo.length; i++) {\r\n let item = data.lstCanBo[i];\r\n this.lstCanBo[i] = item && !(item).toJSON ? new XuLyGopYCanBoModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tieuDe = _data[\"tieuDe\"];\r\n this.diaDiem = _data[\"diaDiem\"];\r\n this.ngayGopY = _data[\"ngayGopY\"] ? new Date(_data[\"ngayGopY\"].toString()) : undefined;\r\n this.noiDung = _data[\"noiDung\"];\r\n this.tenLinhVuc = _data[\"tenLinhVuc\"];\r\n this.trangThaiXuLY = _data[\"trangThaiXuLY\"];\r\n this.nguoiGuiGopY = _data[\"nguoiGuiGopY\"] ? XuLyGopYNguoiGuiGopYModel.fromJS(_data[\"nguoiGuiGopY\"]) : undefined;\r\n if (Array.isArray(_data[\"lstAnhHoiDinhKem\"])) {\r\n this.lstAnhHoiDinhKem = [] as any;\r\n for (let item of _data[\"lstAnhHoiDinhKem\"])\r\n this.lstAnhHoiDinhKem!.push(XuLyGopYFileModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstFileHoiDinhKem\"])) {\r\n this.lstFileHoiDinhKem = [] as any;\r\n for (let item of _data[\"lstFileHoiDinhKem\"])\r\n this.lstFileHoiDinhKem!.push(XuLyGopYFileModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstDonVi\"])) {\r\n this.lstDonVi = [] as any;\r\n for (let item of _data[\"lstDonVi\"])\r\n this.lstDonVi!.push(XuLyGopYDonViModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lstCanBo\"])) {\r\n this.lstCanBo = [] as any;\r\n for (let item of _data[\"lstCanBo\"])\r\n this.lstCanBo!.push(XuLyGopYCanBoModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): XuLyGopYDetailsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new XuLyGopYDetailsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tieuDe\"] = this.tieuDe;\r\n data[\"diaDiem\"] = this.diaDiem;\r\n data[\"ngayGopY\"] = this.ngayGopY ? this.ngayGopY.toISOString() : undefined;\r\n data[\"noiDung\"] = this.noiDung;\r\n data[\"tenLinhVuc\"] = this.tenLinhVuc;\r\n data[\"trangThaiXuLY\"] = this.trangThaiXuLY;\r\n data[\"nguoiGuiGopY\"] = this.nguoiGuiGopY ? this.nguoiGuiGopY.toJSON() : undefined;\r\n if (Array.isArray(this.lstAnhHoiDinhKem)) {\r\n data[\"lstAnhHoiDinhKem\"] = [];\r\n for (let item of this.lstAnhHoiDinhKem)\r\n data[\"lstAnhHoiDinhKem\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstFileHoiDinhKem)) {\r\n data[\"lstFileHoiDinhKem\"] = [];\r\n for (let item of this.lstFileHoiDinhKem)\r\n data[\"lstFileHoiDinhKem\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstDonVi)) {\r\n data[\"lstDonVi\"] = [];\r\n for (let item of this.lstDonVi)\r\n data[\"lstDonVi\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lstCanBo)) {\r\n data[\"lstCanBo\"] = [];\r\n for (let item of this.lstCanBo)\r\n data[\"lstCanBo\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): XuLyGopYDetailsModel {\r\n const json = this.toJSON();\r\n let result = new XuLyGopYDetailsModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IXuLyGopYDetailsModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n diaDiem?: string | undefined;\r\n ngayGopY?: Date;\r\n noiDung?: string | undefined;\r\n tenLinhVuc?: string | undefined;\r\n trangThaiXuLY?: number | undefined;\r\n nguoiGuiGopY?: IXuLyGopYNguoiGuiGopYModel;\r\n lstAnhHoiDinhKem?: IXuLyGopYFileModel[] | undefined;\r\n lstFileHoiDinhKem?: IXuLyGopYFileModel[] | undefined;\r\n lstDonVi?: IXuLyGopYDonViModel[] | undefined;\r\n lstCanBo?: IXuLyGopYCanBoModel[] | undefined;\r\n}\r\n\r\nexport class XuLyGopYDetailsModelApiResponse implements IXuLyGopYDetailsModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: XuLyGopYDetailsModel;\r\n\r\n constructor(data?: IXuLyGopYDetailsModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new XuLyGopYDetailsModel(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? XuLyGopYDetailsModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): XuLyGopYDetailsModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new XuLyGopYDetailsModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): XuLyGopYDetailsModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new XuLyGopYDetailsModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IXuLyGopYDetailsModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IXuLyGopYDetailsModel;\r\n}\r\n\r\nexport class XuLyGopYDonViModel implements IXuLyGopYDonViModel {\r\n id?: number;\r\n value?: string | undefined;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IXuLyGopYDonViModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.value = _data[\"value\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): XuLyGopYDonViModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new XuLyGopYDonViModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"value\"] = this.value;\r\n data[\"name\"] = this.name;\r\n return data; \r\n }\r\n\r\n clone(): XuLyGopYDonViModel {\r\n const json = this.toJSON();\r\n let result = new XuLyGopYDonViModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IXuLyGopYDonViModel {\r\n id?: number;\r\n value?: string | undefined;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class XulygopyEntity implements IXulygopyEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n donvihotro?: string | undefined;\r\n id?: number;\r\n idlanhdao?: number | undefined;\r\n idnguoitrinh?: number | undefined;\r\n ketquaxuly?: string | undefined;\r\n noidungid?: number | undefined;\r\n thoigian?: Date | undefined;\r\n trangthai?: number | undefined;\r\n ykienxuly?: string | undefined;\r\n noidunggopy?: NoidunggopyEntity;\r\n\r\n constructor(data?: IXulygopyEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse; \r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse; \r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse; \r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator; \r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext; \r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n this.noidunggopy = data.noidunggopy && !(data.noidunggopy).toJSON ? new NoidunggopyEntity(data.noidunggopy) : this.noidunggopy; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.donvihotro = _data[\"donvihotro\"];\r\n this.id = _data[\"id\"];\r\n this.idlanhdao = _data[\"idlanhdao\"];\r\n this.idnguoitrinh = _data[\"idnguoitrinh\"];\r\n this.ketquaxuly = _data[\"ketquaxuly\"];\r\n this.noidungid = _data[\"noidungid\"];\r\n this.thoigian = _data[\"thoigian\"] ? new Date(_data[\"thoigian\"].toString()) : undefined;\r\n this.trangthai = _data[\"trangthai\"];\r\n this.ykienxuly = _data[\"ykienxuly\"];\r\n this.noidunggopy = _data[\"noidunggopy\"] ? NoidunggopyEntity.fromJS(_data[\"noidunggopy\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): XulygopyEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new XulygopyEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"donvihotro\"] = this.donvihotro;\r\n data[\"id\"] = this.id;\r\n data[\"idlanhdao\"] = this.idlanhdao;\r\n data[\"idnguoitrinh\"] = this.idnguoitrinh;\r\n data[\"ketquaxuly\"] = this.ketquaxuly;\r\n data[\"noidungid\"] = this.noidungid;\r\n data[\"thoigian\"] = this.thoigian ? this.thoigian.toISOString() : undefined;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"ykienxuly\"] = this.ykienxuly;\r\n data[\"noidunggopy\"] = this.noidunggopy ? this.noidunggopy.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): XulygopyEntity {\r\n const json = this.toJSON();\r\n let result = new XulygopyEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IXulygopyEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n donvihotro?: string | undefined;\r\n id?: number;\r\n idlanhdao?: number | undefined;\r\n idnguoitrinh?: number | undefined;\r\n ketquaxuly?: string | undefined;\r\n noidungid?: number | undefined;\r\n thoigian?: Date | undefined;\r\n trangthai?: number | undefined;\r\n ykienxuly?: string | undefined;\r\n noidunggopy?: INoidunggopyEntity;\r\n}\r\n\r\nexport class XulygopyEntityApiResponse implements IXulygopyEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: XulygopyEntity;\r\n\r\n constructor(data?: IXulygopyEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new XulygopyEntity(data.data) : this.data; \r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? XulygopyEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): XulygopyEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new XulygopyEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): XulygopyEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new XulygopyEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IXulygopyEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IXulygopyEntity;\r\n}\r\n\r\nexport class XuLyGopYFileModel implements IXuLyGopYFileModel {\r\n fileId?: number;\r\n fileName?: string | undefined;\r\n\r\n constructor(data?: IXuLyGopYFileModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fileId = _data[\"fileId\"];\r\n this.fileName = _data[\"fileName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): XuLyGopYFileModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new XuLyGopYFileModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fileId\"] = this.fileId;\r\n data[\"fileName\"] = this.fileName;\r\n return data; \r\n }\r\n\r\n clone(): XuLyGopYFileModel {\r\n const json = this.toJSON();\r\n let result = new XuLyGopYFileModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IXuLyGopYFileModel {\r\n fileId?: number;\r\n fileName?: string | undefined;\r\n}\r\n\r\nexport class XuLyGopYItemModel implements IXuLyGopYItemModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n trangThaiXuLy?: string | undefined;\r\n ngayGopY?: Date;\r\n\r\n constructor(data?: IXuLyGopYItemModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tieuDe = _data[\"tieuDe\"];\r\n this.trangThaiXuLy = _data[\"trangThaiXuLy\"];\r\n this.ngayGopY = _data[\"ngayGopY\"] ? new Date(_data[\"ngayGopY\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): XuLyGopYItemModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new XuLyGopYItemModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tieuDe\"] = this.tieuDe;\r\n data[\"trangThaiXuLy\"] = this.trangThaiXuLy;\r\n data[\"ngayGopY\"] = this.ngayGopY ? this.ngayGopY.toISOString() : undefined;\r\n return data; \r\n }\r\n\r\n clone(): XuLyGopYItemModel {\r\n const json = this.toJSON();\r\n let result = new XuLyGopYItemModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IXuLyGopYItemModel {\r\n id?: number;\r\n tieuDe?: string | undefined;\r\n trangThaiXuLy?: string | undefined;\r\n ngayGopY?: Date;\r\n}\r\n\r\nexport class XuLyGopYItemModelListApiResponse implements IXuLyGopYItemModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: XuLyGopYItemModel[] | undefined;\r\n\r\n constructor(data?: IXuLyGopYItemModelListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new XuLyGopYItemModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(XuLyGopYItemModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): XuLyGopYItemModelListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new XuLyGopYItemModelListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n\r\n clone(): XuLyGopYItemModelListApiResponse {\r\n const json = this.toJSON();\r\n let result = new XuLyGopYItemModelListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IXuLyGopYItemModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IXuLyGopYItemModel[] | undefined;\r\n}\r\n\r\nexport class XuLyGopYNguoiGuiGopYModel implements IXuLyGopYNguoiGuiGopYModel {\r\n fullName?: string | undefined;\r\n phone?: string | undefined;\r\n email?: string | undefined;\r\n\r\n constructor(data?: IXuLyGopYNguoiGuiGopYModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fullName = _data[\"fullName\"];\r\n this.phone = _data[\"phone\"];\r\n this.email = _data[\"email\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): XuLyGopYNguoiGuiGopYModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new XuLyGopYNguoiGuiGopYModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fullName\"] = this.fullName;\r\n data[\"phone\"] = this.phone;\r\n data[\"email\"] = this.email;\r\n return data; \r\n }\r\n\r\n clone(): XuLyGopYNguoiGuiGopYModel {\r\n const json = this.toJSON();\r\n let result = new XuLyGopYNguoiGuiGopYModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IXuLyGopYNguoiGuiGopYModel {\r\n fullName?: string | undefined;\r\n phone?: string | undefined;\r\n email?: string | undefined;\r\n}\r\n\r\nexport class XuLyGopYRequestModel implements IXuLyGopYRequestModel {\r\n search?: string | undefined;\r\n tinhTrangId?: number | undefined;\r\n orderDESCBy?: string | undefined;\r\n currentPage?: number;\r\n\r\n constructor(data?: IXuLyGopYRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.search = _data[\"search\"];\r\n this.tinhTrangId = _data[\"tinhTrangId\"];\r\n this.orderDESCBy = _data[\"orderDESCBy\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): XuLyGopYRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new XuLyGopYRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"search\"] = this.search;\r\n data[\"tinhTrangId\"] = this.tinhTrangId;\r\n data[\"orderDESCBy\"] = this.orderDESCBy;\r\n data[\"currentPage\"] = this.currentPage;\r\n return data; \r\n }\r\n\r\n clone(): XuLyGopYRequestModel {\r\n const json = this.toJSON();\r\n let result = new XuLyGopYRequestModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IXuLyGopYRequestModel {\r\n search?: string | undefined;\r\n tinhTrangId?: number | undefined;\r\n orderDESCBy?: string | undefined;\r\n currentPage?: number;\r\n}\r\n\r\nexport class SwaggerException extends Error {\r\n override message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isSwaggerException = true;\r\n\r\n static isSwaggerException(obj: any): obj is SwaggerException {\r\n return obj.isSwaggerException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable {\r\n if (result !== null && result !== undefined)\r\n return _observableThrow(result);\r\n else\r\n return _observableThrow(new SwaggerException(message, status, response, headers, null));\r\n}\r\n\r\nfunction blobToText(blob: any): Observable {\r\n return new Observable((observer: any) => {\r\n if (!blob) {\r\n observer.next(\"\");\r\n observer.complete();\r\n } else {\r\n let reader = new FileReader();\r\n reader.onload = event => {\r\n observer.next((event.target).result);\r\n observer.complete();\r\n };\r\n reader.readAsText(blob);\r\n }\r\n });\r\n}","//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.19.0.0 (NJsonSchema v10.9.0.0 (Newtonsoft.Json v11.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { mergeMap as _observableMergeMap, catchError as _observableCatch } from 'rxjs/operators';\r\nimport { Observable, throwError as _observableThrow, of as _observableOf } from 'rxjs';\r\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\r\n\r\nexport const APP_QTHT_URL = new InjectionToken('APP_QTHT_URL');\r\n\r\nexport interface IAppQthtApiService {\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appAuthApiV1AuthAuthenticate(body: AuthenticateRequest | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appAuthApiV1AuthBaseAuthenticate(body: AuthenticateRequest | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appAuthApiV1AuthBaseAuthenticateFuse(body: AuthenticateRequest | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appAuthApiV1AuthAuthenHome(body: AuthenticateRequest | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appAuthApiV1AuthAuthenticateMobile(body: AuthenticateRequest | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appAuthApiV1AuthRegister(body: RegisterRequest | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appAuthApiV1AuthRefreshToken(body: TokenForRefresh | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appAuthApiV1AuthRefreshTokenBase(body: TokenForRefresh | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appAuthApiV1AuthRevokeToken(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appAuthApiV1AuthGetTokenSSO(body: SsoModel | undefined): Observable;\r\n /**\r\n * @param authCode (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1CASGetApp(authCode: string | undefined): Observable;\r\n /**\r\n * @param accessToken (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1CASIsExpriedAccessToken(accessToken: string | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1CASRevokeToken(body: RevokeTokenModel | undefined): Observable;\r\n /**\r\n * @param idToken (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1CASGetUserInfo(idToken: string | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DangkychiaseInsertdata(body: DangkychiaseEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DangkychiaseInsertUserClient(body: SysuserEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DangkychiaseInsertUser(body: InsertUpdateModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DangkychiaseRegisterUserClientMobile(body: InsertUpdateModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DangkychiasePaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DangkychiaseSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DangkychiaseSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DangkychiaseInsert(body: DangkychiaseEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DangkychiaseUpdate(body: DangkychiaseEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DangkychiaseDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmChucVuPostPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmChucVuGetDetails(id: number | undefined): Observable;\r\n /**\r\n * @param unitcode (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmChucVuGetChucVuListByUnitcode(unitcode: string | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmChucVuPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DmChucVuSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DmChucVuSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmChucVuInsert(body: DmchucvuEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmChucVuUpdate(body: DmchucvuEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DmChucVuDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmPhongBanPostPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmPhongBanGetDetails(id: number | undefined): Observable;\r\n /**\r\n * @param unitcode (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmPhongBanGetPhongBanListByUnitcode(unitcode: string | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmPhongBanPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DmPhongBanSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DmPhongBanSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmPhongBanInsert(body: DmphongbanEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmPhongBanUpdate(body: DmphongbanEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DmPhongBanDelete(key: number): Observable;\r\n /**\r\n * @param activeStatus (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmToChucGetToChucListByStatus(activeStatus: boolean | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DmToChucGetToChucDangHoatDongList(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DmToChucGetLstChucVu(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmToChucInsertCustom(body: DmToChucInsertUpdateModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DmToChucSelecOneCustom(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmToChucUpdateCustom(body: DmToChucInsertUpdateModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DmToChucDeleteCustom(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmToChucPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DmToChucSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DmToChucSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmToChucInsert(body: DmtochucEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmToChucUpdate(body: DmtochucEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DmToChucDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1FileGetPathFileById(body: number[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1FileGetPathFile(id: number): Observable;\r\n /**\r\n * @param folder (optional) \r\n * @param files (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1FileUploadFile(folder: string | undefined, files: FileParameter[] | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1FileUploadFileBase64(body: FileBase64RequestModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1FileUploadFileBase64Multi(body: FileBase64MultiRequestModel | undefined): Observable;\r\n /**\r\n * @param fileId (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1FileDownloadFile(fileId: number | undefined): Observable;\r\n /**\r\n * @param strFileId (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1FileDownloadListFile(strFileId: string | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1FileDeleteFile(lstId: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1HomeSharePaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1HomeShareSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1HomeShareSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1HomeShareInsert(body: HomeShareEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1HomeShareUpdate(body: HomeShareEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1HomeShareDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1LichSuDongBoReloadDag(body: LichSuDongBoModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1LichSuDongBoPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1LichSuDongBoSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1LichSuDongBoSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1LichSuDongBoInsert(body: LogdagEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1LichSuDongBoUpdate(body: LogdagEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1LichSuDongBoDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1MenuGetMenuByUserLogin(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysAppSelectbyStatus(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysAppSelectAll(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysAppSelectCheckExistWithUserId(userId: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysAppPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysAppSelectOne(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysAppInsert(body: SysappEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysAppUpdate(body: SysappEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysAppDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysDvHanhChinhSelectMaAndTenDbhc(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysDvHanhChinhPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysDvHanhChinhSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysDvHanhChinhSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysDvHanhChinhInsert(body: SysdvhanhchinhEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysDvHanhChinhUpdate(body: SysdvhanhchinhEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysDvHanhChinhDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysGroupSelectAll(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysGroupSelectGroupApp(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysGroupSelectGroupByAppId(appId: number, level: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysGroupSelectByGroupIdAppId(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysGroupUpdateGroupMenuFunction(body: SysgroupmenuEntity[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysGroupDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysGroupPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysGroupSelectOne(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysGroupInsert(body: SysgroupEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysGroupUpdate(body: SysgroupEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysLogActionPagingLogin(body: PageModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysLogActionPagingAction(body: PageLogModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysLogActionPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysLogActionSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysLogActionSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysLogActionInsert(body: SyslogactionEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysLogActionUpdate(body: SyslogactionEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysLogActionDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysMenuGetItemAddNewEdit(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysMenuPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysMenuSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysMenuSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysMenuInsert(body: SysmenuEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysMenuUpdate(body: SysmenuEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysMenuDelete(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysRefreshtokensDeleteByUserId(userId: number): Observable;\r\n /**\r\n * @param unitcodes (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitGetListTenDonViByUnitcode(unitcodes: string[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitDeleteData(unitcode: string): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitDeleteByApp(unitcode: string, appName: string): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitGetSysUnitList(): Observable;\r\n /**\r\n * @param dinhDanhApp (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitGetSysUnitListByDinhDanhApp(dinhDanhApp: string | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitGetUnitName(unitcode: string): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitSelectMasterInsert(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitSelectOneUnit(unitcode: string): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitGetAllCongAn(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitInsert(body: SysunitEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitUpdate(body: SysunitEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitDelete(key: number): Observable;\r\n /**\r\n * @param sdt (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserCheckSdt(sdt: string | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserSelectFormUpdateDetailById(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserSelectFormInsertById(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserSelectUserByUserName(userName: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserInsertUserAndUserGroup(body: InsertUpdateModel | undefined): Observable;\r\n /**\r\n * @param appid (optional) \r\n * @param cap (optional) \r\n * @param checkisyn (optional) \r\n * @param diachi (optional) \r\n * @param email (optional) \r\n * @param fullname (optional) \r\n * @param gioitinh (optional) \r\n * @param idChucvu (optional) \r\n * @param idsystudien (optional) \r\n * @param imgavatar (optional) \r\n * @param loaiuser (optional) \r\n * @param machucvu (optional) \r\n * @param madbhc (optional) \r\n * @param msthue (optional) \r\n * @param ngaysinh (optional) \r\n * @param nglienhe (optional) \r\n * @param password (optional) \r\n * @param phone (optional) \r\n * @param phongban (optional) \r\n * @param quoctich (optional) \r\n * @param socmnd (optional) \r\n * @param trangthai (optional) \r\n * @param unitcode (optional) \r\n * @param userid (optional) \r\n * @param username (optional) \r\n * @param sysRefreshtokens (optional) \r\n * @param sysusergroups (optional) \r\n * @param sysusermenus (optional) \r\n * @param concurrencyPredicateFactoryToUse (optional) \r\n * @param authorizerToUse (optional) \r\n * @param auditorToUse_HasDataToXmlSerialize (optional) \r\n * @param validator (optional) \r\n * @param activeContext_SetExistingEntityFieldsInGet (optional) \r\n * @param isNew (optional) \r\n * @param fields (optional) \r\n * @param isDirty (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserInsertUserClient(appid: string | undefined, cap: number | undefined, checkisyn: number | undefined, diachi: string | undefined, email: string | undefined, fullname: string | undefined, gioitinh: number | undefined, idChucvu: number | undefined, idsystudien: number | undefined, imgavatar: string | undefined, loaiuser: number | undefined, machucvu: string | undefined, madbhc: string | undefined, msthue: number | undefined, ngaysinh: Date | undefined, nglienhe: string | undefined, password: string | undefined, phone: string | undefined, phongban: string | undefined, quoctich: string | undefined, socmnd: number | undefined, trangthai: number | undefined, unitcode: string | undefined, userid: number | undefined, username: string | undefined, sysRefreshtokens: SysRefreshtokenEntity[] | undefined, sysusergroups: SysusergroupEntity[] | undefined, sysusermenus: SysusermenuEntity[] | undefined, concurrencyPredicateFactoryToUse: IConcurrencyPredicateFactory | undefined, authorizerToUse: IAuthorizer | undefined, auditorToUse_HasDataToXmlSerialize: boolean | undefined, validator: IValidator | undefined, activeContext_SetExistingEntityFieldsInGet: boolean | undefined, isNew: boolean | undefined, fields: IEntityFieldCore[] | undefined, isDirty: boolean | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserInsertUserAppCongAn(body: RegisterUserAppCongAnModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserUpdateCustomUser(body: UpdateUserModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserDeleteCustomUser(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserUpdateUserGroup(body: SelectListUserGroup | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserChangePassword(body: ChangePasswordModel | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserResetPassword(body: ResetPasswordModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserSelectAllSysApp(): Observable;\r\n /**\r\n * @param userId (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserSelectByAppId(key: string, userId: number | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserUpdateUserMenuFunction(body: SysusermenuEntity[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserGetDetails(id: number): Observable;\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserGetInformationsForForm(id: number | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserSelectAllUser(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserGetByUserId(userId: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserGetCanBoListByPhongBan(phongBan: string): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserGetCanBoCapDuoiList(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserGetCanBoCapTrenList(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserGetUserInUnit(unitCode: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserGetUserInfoByListId(body: number[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserGetUserHigherLevelSameUnitUserCurrent(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserSelectUserGroup(username: string): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserPaging(body: PageModel | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserSelectOne(key: number): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserSelectAll(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserInsert(body: SysuserEntity | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserUpdate(body: SysuserEntity | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserDelete(key: number): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1TraCuuVBGetAllLinhVuc(body: number[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1TraCuuVBGetAllCoQuanBienTap(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1TraCuuVBGetAllCoQuanPhatHanh(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1TraCuuVBGetAllLoaiVanBan(body: number[] | undefined): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1TraCuuVBTimKiem(body: SearchVBModel | undefined): Observable;\r\n /**\r\n * @param lstAttachs (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1TraCuuVBTaiFile(lstAttachs: string[] | undefined): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1TraCuuVBGetAllNguoiKy(): Observable;\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1TraCuuVBGetAllChucDanh(): Observable;\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1UserClientInsertUserAndUserGroup(body: InsertUpdateModel | undefined): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppQthtApiService implements IAppQthtApiService {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(APP_QTHT_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appAuthApiV1AuthAuthenticate(body: AuthenticateRequest | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Auth/api/v1/Auth/Authenticate\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppAuthApiV1AuthAuthenticate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppAuthApiV1AuthAuthenticate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppAuthApiV1AuthAuthenticate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AuthenticateResponseApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appAuthApiV1AuthBaseAuthenticate(body: AuthenticateRequest | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Auth/api/v1/Auth/BaseAuthenticate\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppAuthApiV1AuthBaseAuthenticate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppAuthApiV1AuthBaseAuthenticate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppAuthApiV1AuthBaseAuthenticate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BaseAuthenticateResponseApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appAuthApiV1AuthBaseAuthenticateFuse(body: AuthenticateRequest | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Auth/api/v1/Auth/BaseAuthenticate_Fuse\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppAuthApiV1AuthBaseAuthenticateFuse(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppAuthApiV1AuthBaseAuthenticateFuse(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppAuthApiV1AuthBaseAuthenticateFuse(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BaseAuthenticateResponseApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appAuthApiV1AuthAuthenHome(body: AuthenticateRequest | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Auth/api/v1/Auth/AuthenHome\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppAuthApiV1AuthAuthenHome(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppAuthApiV1AuthAuthenHome(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppAuthApiV1AuthAuthenHome(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AuthenticateResponseApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appAuthApiV1AuthAuthenticateMobile(body: AuthenticateRequest | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Auth/api/v1/Auth/AuthenticateMobile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppAuthApiV1AuthAuthenticateMobile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppAuthApiV1AuthAuthenticateMobile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppAuthApiV1AuthAuthenticateMobile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AuthenticateResponseApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appAuthApiV1AuthRegister(body: RegisterRequest | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Auth/api/v1/Auth/Register\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppAuthApiV1AuthRegister(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppAuthApiV1AuthRegister(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppAuthApiV1AuthRegister(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = RegisterResponseApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appAuthApiV1AuthRefreshToken(body: TokenForRefresh | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Auth/api/v1/Auth/Refresh-token\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppAuthApiV1AuthRefreshToken(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppAuthApiV1AuthRefreshToken(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppAuthApiV1AuthRefreshToken(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AuthenticateResponseApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appAuthApiV1AuthRefreshTokenBase(body: TokenForRefresh | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Auth/api/v1/Auth/Refresh-token-base\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppAuthApiV1AuthRefreshTokenBase(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppAuthApiV1AuthRefreshTokenBase(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppAuthApiV1AuthRefreshTokenBase(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BaseAuthenticateResponseApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appAuthApiV1AuthRevokeToken(): Observable {\r\n let url_ = this.baseUrl + \"/App/Auth/api/v1/Auth/Revoke-token\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppAuthApiV1AuthRevokeToken(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppAuthApiV1AuthRevokeToken(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppAuthApiV1AuthRevokeToken(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appAuthApiV1AuthGetTokenSSO(body: SsoModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Auth/api/v1/Auth/GetTokenSSO\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppAuthApiV1AuthGetTokenSSO(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppAuthApiV1AuthGetTokenSSO(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppAuthApiV1AuthGetTokenSSO(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param authCode (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1CASGetApp(authCode: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/CAS/GetApp?\";\r\n if (authCode === null)\r\n throw new Error(\"The parameter 'authCode' cannot be null.\");\r\n else if (authCode !== undefined)\r\n url_ += \"authCode=\" + encodeURIComponent(\"\" + authCode) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1CASGetApp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1CASGetApp(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1CASGetApp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = StringListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param accessToken (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1CASIsExpriedAccessToken(accessToken: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/CAS/isExpriedAccessToken?\";\r\n if (accessToken === null)\r\n throw new Error(\"The parameter 'accessToken' cannot be null.\");\r\n else if (accessToken !== undefined)\r\n url_ += \"accessToken=\" + encodeURIComponent(\"\" + accessToken) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1CASIsExpriedAccessToken(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1CASIsExpriedAccessToken(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1CASIsExpriedAccessToken(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BooleanApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1CASRevokeToken(body: RevokeTokenModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/CAS/RevokeToken\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1CASRevokeToken(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1CASRevokeToken(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1CASRevokeToken(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BooleanApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param idToken (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1CASGetUserInfo(idToken: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/CAS/GetUserInfo?\";\r\n if (idToken === null)\r\n throw new Error(\"The parameter 'idToken' cannot be null.\");\r\n else if (idToken !== undefined)\r\n url_ += \"idToken=\" + encodeURIComponent(\"\" + idToken) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1CASGetUserInfo(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1CASGetUserInfo(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1CASGetUserInfo(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = StringListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DangkychiaseInsertdata(body: DangkychiaseEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/Dangkychiase/Insertdata\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DangkychiaseInsertdata(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DangkychiaseInsertdata(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DangkychiaseInsertdata(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DangkychiaseInsertUserClient(body: SysuserEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/Dangkychiase/InsertUserClient\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DangkychiaseInsertUserClient(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DangkychiaseInsertUserClient(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DangkychiaseInsertUserClient(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DangkychiaseInsertUser(body: InsertUpdateModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/Dangkychiase/InsertUser\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DangkychiaseInsertUser(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DangkychiaseInsertUser(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DangkychiaseInsertUser(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DangkychiaseRegisterUserClientMobile(body: InsertUpdateModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/Dangkychiase/RegisterUserClientMobile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DangkychiaseRegisterUserClientMobile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DangkychiaseRegisterUserClientMobile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DangkychiaseRegisterUserClientMobile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SysuserEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DangkychiasePaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/Dangkychiase/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DangkychiasePaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DangkychiasePaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DangkychiasePaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DangkychiaseSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/Dangkychiase/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DangkychiaseSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DangkychiaseSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DangkychiaseSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DangkychiaseEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DangkychiaseSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/Dangkychiase/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DangkychiaseSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DangkychiaseSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DangkychiaseSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DangkychiaseInsert(body: DangkychiaseEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/Dangkychiase/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DangkychiaseInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DangkychiaseInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DangkychiaseInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DangkychiaseUpdate(body: DangkychiaseEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/Dangkychiase/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DangkychiaseUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DangkychiaseUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DangkychiaseUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DangkychiaseDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/Dangkychiase/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DangkychiaseDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DangkychiaseDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DangkychiaseDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmChucVuPostPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmChucVu/PostPaging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmChucVuPostPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmChucVuPostPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmChucVuPostPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmChucVuModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmChucVuGetDetails(id: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmChucVu/GetDetails?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmChucVuGetDetails(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmChucVuGetDetails(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmChucVuGetDetails(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmChucVuModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param unitcode (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmChucVuGetChucVuListByUnitcode(unitcode: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmChucVu/GetChucVuListByUnitcode?\";\r\n if (unitcode === null)\r\n throw new Error(\"The parameter 'unitcode' cannot be null.\");\r\n else if (unitcode !== undefined)\r\n url_ += \"unitcode=\" + encodeURIComponent(\"\" + unitcode) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmChucVuGetChucVuListByUnitcode(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmChucVuGetChucVuListByUnitcode(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmChucVuGetChucVuListByUnitcode(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ChucVuSelectModelIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmChucVuPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmChucVu/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmChucVuPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmChucVuPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmChucVuPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DmChucVuSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmChucVu/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmChucVuSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmChucVuSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmChucVuSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmchucvuEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DmChucVuSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmChucVu/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmChucVuSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmChucVuSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmChucVuSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmChucVuInsert(body: DmchucvuEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmChucVu/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmChucVuInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmChucVuInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmChucVuInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmChucVuUpdate(body: DmchucvuEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmChucVu/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmChucVuUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmChucVuUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmChucVuUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DmChucVuDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmChucVu/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmChucVuDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmChucVuDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmChucVuDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmPhongBanPostPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmPhongBan/PostPaging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmPhongBanPostPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmPhongBanPostPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmPhongBanPostPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmPhongBanModelIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmPhongBanGetDetails(id: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmPhongBan/GetDetails?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmPhongBanGetDetails(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmPhongBanGetDetails(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmPhongBanGetDetails(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmPhongBanModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param unitcode (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmPhongBanGetPhongBanListByUnitcode(unitcode: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmPhongBan/GetPhongBanListByUnitcode?\";\r\n if (unitcode === null)\r\n throw new Error(\"The parameter 'unitcode' cannot be null.\");\r\n else if (unitcode !== undefined)\r\n url_ += \"unitcode=\" + encodeURIComponent(\"\" + unitcode) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmPhongBanGetPhongBanListByUnitcode(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmPhongBanGetPhongBanListByUnitcode(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmPhongBanGetPhongBanListByUnitcode(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PhongBanSelectModelIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmPhongBanPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmPhongBan/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmPhongBanPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmPhongBanPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmPhongBanPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DmPhongBanSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmPhongBan/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmPhongBanSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmPhongBanSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmPhongBanSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmphongbanEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DmPhongBanSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmPhongBan/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmPhongBanSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmPhongBanSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmPhongBanSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmPhongBanInsert(body: DmphongbanEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmPhongBan/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmPhongBanInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmPhongBanInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmPhongBanInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmPhongBanUpdate(body: DmphongbanEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmPhongBan/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmPhongBanUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmPhongBanUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmPhongBanUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DmPhongBanDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmPhongBan/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmPhongBanDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmPhongBanDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmPhongBanDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param activeStatus (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmToChucGetToChucListByStatus(activeStatus: boolean | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmToChuc/GetToChucListByStatus?\";\r\n if (activeStatus === null)\r\n throw new Error(\"The parameter 'activeStatus' cannot be null.\");\r\n else if (activeStatus !== undefined)\r\n url_ += \"activeStatus=\" + encodeURIComponent(\"\" + activeStatus) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmToChucGetToChucListByStatus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmToChucGetToChucListByStatus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmToChucGetToChucListByStatus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmToChucModelIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DmToChucGetToChucDangHoatDongList(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmToChuc/GetToChucDangHoatDongList\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmToChucGetToChucDangHoatDongList(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmToChucGetToChucDangHoatDongList(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmToChucGetToChucDangHoatDongList(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmToChucModelIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DmToChucGetLstChucVu(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmToChuc/GetLstChucVu\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmToChucGetLstChucVu(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmToChucGetLstChucVu(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmToChucGetLstChucVu(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmChucVuDetailModelIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmToChucInsertCustom(body: DmToChucInsertUpdateModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmToChuc/InsertCustom\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmToChucInsertCustom(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmToChucInsertCustom(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmToChucInsertCustom(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DmToChucSelecOneCustom(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmToChuc/SelecOneCustom/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmToChucSelecOneCustom(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmToChucSelecOneCustom(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmToChucSelecOneCustom(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmToChucInsertUpdateModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmToChucUpdateCustom(body: DmToChucInsertUpdateModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmToChuc/UpdateCustom\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmToChucUpdateCustom(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmToChucUpdateCustom(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmToChucUpdateCustom(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DmToChucDeleteCustom(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmToChuc/DeleteCustom/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmToChucDeleteCustom(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmToChucDeleteCustom(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmToChucDeleteCustom(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmToChucPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmToChuc/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmToChucPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmToChucPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmToChucPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DmToChucSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmToChuc/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmToChucSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmToChucSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmToChucSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DmtochucEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DmToChucSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmToChuc/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmToChucSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmToChucSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmToChucSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmToChucInsert(body: DmtochucEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmToChuc/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmToChucInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmToChucInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmToChucInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1DmToChucUpdate(body: DmtochucEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmToChuc/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmToChucUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmToChucUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmToChucUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1DmToChucDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/DmToChuc/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1DmToChucDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1DmToChucDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1DmToChucDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1FileGetPathFileById(body: number[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/File/GetPathFileById\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1FileGetPathFileById(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1FileGetPathFileById(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1FileGetPathFileById(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ListFileModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1FileGetPathFile(id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/File/GetPathFile/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1FileGetPathFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1FileGetPathFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1FileGetPathFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ListFileModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param folder (optional) \r\n * @param files (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1FileUploadFile(folder: string | undefined, files: FileParameter[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/File/UploadFile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (files === null || files === undefined)\r\n throw new Error(\"The parameter 'files' cannot be null.\");\r\n else\r\n files.forEach(item_ => content_.append(\"files\", item_.data, item_.fileName ? item_.fileName : \"files\"));\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"folder\": folder !== undefined && folder !== null ? \"\" + folder : \"\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1FileUploadFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1FileUploadFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1FileUploadFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1FileUploadFileBase64(body: FileBase64RequestModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/File/UploadFileBase64\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1FileUploadFileBase64(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1FileUploadFileBase64(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1FileUploadFileBase64(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1FileUploadFileBase64Multi(body: FileBase64MultiRequestModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/File/UploadFileBase64Multi\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1FileUploadFileBase64Multi(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1FileUploadFileBase64Multi(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1FileUploadFileBase64Multi(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param fileId (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1FileDownloadFile(fileId: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/File/DownloadFile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"fileId\": fileId !== undefined && fileId !== null ? \"\" + fileId : \"\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1FileDownloadFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1FileDownloadFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1FileDownloadFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param strFileId (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1FileDownloadListFile(strFileId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/File/DownloadListFile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"strFileId\": strFileId !== undefined && strFileId !== null ? \"\" + strFileId : \"\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1FileDownloadListFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1FileDownloadListFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1FileDownloadListFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1FileDeleteFile(lstId: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/File/DeleteFile/{lstId}\";\r\n if (lstId === undefined || lstId === null)\r\n throw new Error(\"The parameter 'lstId' must be defined.\");\r\n url_ = url_.replace(\"{lstId}\", encodeURIComponent(\"\" + lstId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1FileDeleteFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1FileDeleteFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1FileDeleteFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1HomeSharePaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/HomeShare/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1HomeSharePaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1HomeSharePaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1HomeSharePaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1HomeShareSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/HomeShare/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1HomeShareSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1HomeShareSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1HomeShareSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = HomeShareEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1HomeShareSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/HomeShare/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1HomeShareSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1HomeShareSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1HomeShareSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1HomeShareInsert(body: HomeShareEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/HomeShare/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1HomeShareInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1HomeShareInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1HomeShareInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1HomeShareUpdate(body: HomeShareEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/HomeShare/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1HomeShareUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1HomeShareUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1HomeShareUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1HomeShareDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/HomeShare/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1HomeShareDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1HomeShareDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1HomeShareDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1LichSuDongBoReloadDag(body: LichSuDongBoModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/LichSuDongBo/ReloadDag\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1LichSuDongBoReloadDag(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1LichSuDongBoReloadDag(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1LichSuDongBoReloadDag(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1LichSuDongBoPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/LichSuDongBo/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1LichSuDongBoPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1LichSuDongBoPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1LichSuDongBoPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1LichSuDongBoSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/LichSuDongBo/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1LichSuDongBoSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1LichSuDongBoSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1LichSuDongBoSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LogdagEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1LichSuDongBoSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/LichSuDongBo/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1LichSuDongBoSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1LichSuDongBoSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1LichSuDongBoSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1LichSuDongBoInsert(body: LogdagEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/LichSuDongBo/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1LichSuDongBoInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1LichSuDongBoInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1LichSuDongBoInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1LichSuDongBoUpdate(body: LogdagEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/LichSuDongBo/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1LichSuDongBoUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1LichSuDongBoUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1LichSuDongBoUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1LichSuDongBoDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/LichSuDongBo/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1LichSuDongBoDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1LichSuDongBoDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1LichSuDongBoDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1MenuGetMenuByUserLogin(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/Menu/GetMenuByUserLogin\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1MenuGetMenuByUserLogin(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1MenuGetMenuByUserLogin(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1MenuGetMenuByUserLogin(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ListMenuModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysAppSelectbyStatus(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysApp/SelectbyStatus\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysAppSelectbyStatus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysAppSelectbyStatus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysAppSelectbyStatus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SysappEntityEntityCollectionApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysAppSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysApp/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysAppSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysAppSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysAppSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysAppSelectCheckExistWithUserId(userId: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysApp/SelectCheckExistWithUserId/{userId}\";\r\n if (userId === undefined || userId === null)\r\n throw new Error(\"The parameter 'userId' must be defined.\");\r\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysAppSelectCheckExistWithUserId(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysAppSelectCheckExistWithUserId(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysAppSelectCheckExistWithUserId(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AppAndCheckUserInAppModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysAppPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysApp/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysAppPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysAppPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysAppPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysAppSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysApp/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysAppSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysAppSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysAppSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SysappEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysAppInsert(body: SysappEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysApp/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysAppInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysAppInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysAppInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysAppUpdate(body: SysappEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysApp/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysAppUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysAppUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysAppUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysAppDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysApp/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysAppDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysAppDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysAppDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysDvHanhChinhSelectMaAndTenDbhc(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysDvHanhChinh/SelectMaAndTenDbhc\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysDvHanhChinhSelectMaAndTenDbhc(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysDvHanhChinhSelectMaAndTenDbhc(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysDvHanhChinhSelectMaAndTenDbhc(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysDvHanhChinhPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysDvHanhChinh/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysDvHanhChinhPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysDvHanhChinhPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysDvHanhChinhPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysDvHanhChinhSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysDvHanhChinh/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysDvHanhChinhSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysDvHanhChinhSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysDvHanhChinhSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SysdvhanhchinhEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysDvHanhChinhSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysDvHanhChinh/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysDvHanhChinhSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysDvHanhChinhSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysDvHanhChinhSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysDvHanhChinhInsert(body: SysdvhanhchinhEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysDvHanhChinh/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysDvHanhChinhInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysDvHanhChinhInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysDvHanhChinhInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysDvHanhChinhUpdate(body: SysdvhanhchinhEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysDvHanhChinh/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysDvHanhChinhUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysDvHanhChinhUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysDvHanhChinhUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysDvHanhChinhDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysDvHanhChinh/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysDvHanhChinhDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysDvHanhChinhDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysDvHanhChinhDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysGroupSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysGroup/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysGroupSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysGroupSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysGroupSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysGroupSelectGroupApp(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysGroup/SelectGroupApp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysGroupSelectGroupApp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysGroupSelectGroupApp(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysGroupSelectGroupApp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = GetDataAppViewModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysGroupSelectGroupByAppId(appId: number, level: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysGroup/SelectGroupByAppId/{appId}/{level}\";\r\n if (appId === undefined || appId === null)\r\n throw new Error(\"The parameter 'appId' must be defined.\");\r\n url_ = url_.replace(\"{appId}\", encodeURIComponent(\"\" + appId));\r\n if (level === undefined || level === null)\r\n throw new Error(\"The parameter 'level' must be defined.\");\r\n url_ = url_.replace(\"{level}\", encodeURIComponent(\"\" + level));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysGroupSelectGroupByAppId(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysGroupSelectGroupByAppId(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysGroupSelectGroupByAppId(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = GroupInfoViewModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysGroupSelectByGroupIdAppId(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysGroup/SelectByGroupIdAppId/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysGroupSelectByGroupIdAppId(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysGroupSelectByGroupIdAppId(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysGroupSelectByGroupIdAppId(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SysGroupSelectByAppidModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysGroupUpdateGroupMenuFunction(body: SysgroupmenuEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysGroup/UpdateGroupMenuFunction\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysGroupUpdateGroupMenuFunction(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysGroupUpdateGroupMenuFunction(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysGroupUpdateGroupMenuFunction(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysGroupDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysGroup/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysGroupDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysGroupDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysGroupDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysGroupPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysGroup/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysGroupPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysGroupPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysGroupPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysGroupSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysGroup/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysGroupSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysGroupSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysGroupSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SysgroupEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysGroupInsert(body: SysgroupEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysGroup/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysGroupInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysGroupInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysGroupInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysGroupUpdate(body: SysgroupEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysGroup/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysGroupUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysGroupUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysGroupUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysLogActionPagingLogin(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysLogAction/PagingLogin\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysLogActionPagingLogin(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysLogActionPagingLogin(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysLogActionPagingLogin(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysLogActionPagingAction(body: PageLogModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysLogAction/PagingAction\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysLogActionPagingAction(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysLogActionPagingAction(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysLogActionPagingAction(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysLogActionPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysLogAction/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysLogActionPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysLogActionPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysLogActionPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysLogActionSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysLogAction/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysLogActionSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysLogActionSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysLogActionSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SyslogactionEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysLogActionSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysLogAction/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysLogActionSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysLogActionSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysLogActionSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysLogActionInsert(body: SyslogactionEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysLogAction/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysLogActionInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysLogActionInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysLogActionInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysLogActionUpdate(body: SyslogactionEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysLogAction/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysLogActionUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysLogActionUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysLogActionUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysLogActionDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysLogAction/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysLogActionDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysLogActionDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysLogActionDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysMenuGetItemAddNewEdit(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysMenu/GetItemAddNewEdit\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysMenuGetItemAddNewEdit(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysMenuGetItemAddNewEdit(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysMenuGetItemAddNewEdit(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ItemAddNewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysMenuPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysMenu/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysMenuPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysMenuPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysMenuPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysMenuSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysMenu/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysMenuSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysMenuSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysMenuSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SysmenuEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysMenuSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysMenu/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysMenuSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysMenuSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysMenuSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysMenuInsert(body: SysmenuEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysMenu/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysMenuInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysMenuInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysMenuInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysMenuUpdate(body: SysmenuEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysMenu/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysMenuUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysMenuUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysMenuUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysMenuDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysMenu/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysMenuDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysMenuDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysMenuDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysRefreshtokensDeleteByUserId(userId: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysRefreshtokens/DeleteByUserId/{userId}\";\r\n if (userId === undefined || userId === null)\r\n throw new Error(\"The parameter 'userId' must be defined.\");\r\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysRefreshtokensDeleteByUserId(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysRefreshtokensDeleteByUserId(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysRefreshtokensDeleteByUserId(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param unitcodes (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitGetListTenDonViByUnitcode(unitcodes: string[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUnit/GetListTenDonViByUnitcode?\";\r\n if (unitcodes === null)\r\n throw new Error(\"The parameter 'unitcodes' cannot be null.\");\r\n else if (unitcodes !== undefined)\r\n unitcodes && unitcodes.forEach(item => { url_ += \"unitcodes=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUnitGetListTenDonViByUnitcode(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUnitGetListTenDonViByUnitcode(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUnitGetListTenDonViByUnitcode(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SysunitEntityEntityCollectionApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitDeleteData(unitcode: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUnit/DeleteData/{unitcode}\";\r\n if (unitcode === undefined || unitcode === null)\r\n throw new Error(\"The parameter 'unitcode' must be defined.\");\r\n url_ = url_.replace(\"{unitcode}\", encodeURIComponent(\"\" + unitcode));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUnitDeleteData(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUnitDeleteData(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUnitDeleteData(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitDeleteByApp(unitcode: string, appName: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUnit/DeleteByApp/{unitcode}/{appName}\";\r\n if (unitcode === undefined || unitcode === null)\r\n throw new Error(\"The parameter 'unitcode' must be defined.\");\r\n url_ = url_.replace(\"{unitcode}\", encodeURIComponent(\"\" + unitcode));\r\n if (appName === undefined || appName === null)\r\n throw new Error(\"The parameter 'appName' must be defined.\");\r\n url_ = url_.replace(\"{appName}\", encodeURIComponent(\"\" + appName));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUnitDeleteByApp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUnitDeleteByApp(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUnitDeleteByApp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitGetSysUnitList(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUnit/GetSysUnitList\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUnitGetSysUnitList(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUnitGetSysUnitList(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUnitGetSysUnitList(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UnitSelectModelIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param dinhDanhApp (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitGetSysUnitListByDinhDanhApp(dinhDanhApp: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUnit/GetSysUnitListByDinhDanhApp?\";\r\n if (dinhDanhApp === null)\r\n throw new Error(\"The parameter 'dinhDanhApp' cannot be null.\");\r\n else if (dinhDanhApp !== undefined)\r\n url_ += \"dinhDanhApp=\" + encodeURIComponent(\"\" + dinhDanhApp) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUnitGetSysUnitListByDinhDanhApp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUnitGetSysUnitListByDinhDanhApp(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUnitGetSysUnitListByDinhDanhApp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UnitSelectModelIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitGetUnitName(unitcode: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUnit/GetUnitName/{unitcode}\";\r\n if (unitcode === undefined || unitcode === null)\r\n throw new Error(\"The parameter 'unitcode' must be defined.\");\r\n url_ = url_.replace(\"{unitcode}\", encodeURIComponent(\"\" + unitcode));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUnitGetUnitName(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUnitGetUnitName(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUnitGetUnitName(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UnitSelectModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitSelectMasterInsert(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUnit/SelectMasterInsert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUnitSelectMasterInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUnitSelectMasterInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUnitSelectMasterInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UnitMasterInsertApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitSelectOneUnit(unitcode: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUnit/SelectOneUnit/{unitcode}\";\r\n if (unitcode === undefined || unitcode === null)\r\n throw new Error(\"The parameter 'unitcode' must be defined.\");\r\n url_ = url_.replace(\"{unitcode}\", encodeURIComponent(\"\" + unitcode));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUnitSelectOneUnit(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUnitSelectOneUnit(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUnitSelectOneUnit(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SysunitEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitGetAllCongAn(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUnit/GetAllCongAn\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUnitGetAllCongAn(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUnitGetAllCongAn(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUnitGetAllCongAn(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CongAnListListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUnit/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUnitPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUnitPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUnitPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUnit/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUnitSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUnitSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUnitSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SysunitEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUnit/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUnitSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUnitSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUnitSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitInsert(body: SysunitEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUnit/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUnitInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUnitInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUnitInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitUpdate(body: SysunitEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUnit/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUnitUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUnitUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUnitUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUnitDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUnit/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUnitDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUnitDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUnitDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param sdt (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserCheckSdt(sdt: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/CheckSdt?\";\r\n if (sdt === null)\r\n throw new Error(\"The parameter 'sdt' cannot be null.\");\r\n else if (sdt !== undefined)\r\n url_ += \"sdt=\" + encodeURIComponent(\"\" + sdt) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserCheckSdt(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserCheckSdt(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserCheckSdt(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BooleanApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserSelectFormUpdateDetailById(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/SelectFormUpdateDetailById/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserSelectFormUpdateDetailById(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserSelectFormUpdateDetailById(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserSelectFormUpdateDetailById(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserUpdateDetailViewModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserSelectFormInsertById(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/SelectFormInsertById\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserSelectFormInsertById(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserSelectFormInsertById(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserSelectFormInsertById(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserInsertViewModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserSelectUserByUserName(userName: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/SelectUserByUserName/{userName}\";\r\n if (userName === undefined || userName === null)\r\n throw new Error(\"The parameter 'userName' must be defined.\");\r\n url_ = url_.replace(\"{userName}\", encodeURIComponent(\"\" + userName));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserSelectUserByUserName(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserSelectUserByUserName(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserSelectUserByUserName(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserInsertUserAndUserGroup(body: InsertUpdateModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/InsertUserAndUserGroup\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserInsertUserAndUserGroup(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserInsertUserAndUserGroup(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserInsertUserAndUserGroup(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param appid (optional) \r\n * @param cap (optional) \r\n * @param checkisyn (optional) \r\n * @param diachi (optional) \r\n * @param email (optional) \r\n * @param fullname (optional) \r\n * @param gioitinh (optional) \r\n * @param idChucvu (optional) \r\n * @param idsystudien (optional) \r\n * @param imgavatar (optional) \r\n * @param loaiuser (optional) \r\n * @param machucvu (optional) \r\n * @param madbhc (optional) \r\n * @param msthue (optional) \r\n * @param ngaysinh (optional) \r\n * @param nglienhe (optional) \r\n * @param password (optional) \r\n * @param phone (optional) \r\n * @param phongban (optional) \r\n * @param quoctich (optional) \r\n * @param socmnd (optional) \r\n * @param trangthai (optional) \r\n * @param unitcode (optional) \r\n * @param userid (optional) \r\n * @param username (optional) \r\n * @param sysRefreshtokens (optional) \r\n * @param sysusergroups (optional) \r\n * @param sysusermenus (optional) \r\n * @param concurrencyPredicateFactoryToUse (optional) \r\n * @param authorizerToUse (optional) \r\n * @param auditorToUse_HasDataToXmlSerialize (optional) \r\n * @param validator (optional) \r\n * @param activeContext_SetExistingEntityFieldsInGet (optional) \r\n * @param isNew (optional) \r\n * @param fields (optional) \r\n * @param isDirty (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserInsertUserClient(appid: string | undefined, cap: number | undefined, checkisyn: number | undefined, diachi: string | undefined, email: string | undefined, fullname: string | undefined, gioitinh: number | undefined, idChucvu: number | undefined, idsystudien: number | undefined, imgavatar: string | undefined, loaiuser: number | undefined, machucvu: string | undefined, madbhc: string | undefined, msthue: number | undefined, ngaysinh: Date | undefined, nglienhe: string | undefined, password: string | undefined, phone: string | undefined, phongban: string | undefined, quoctich: string | undefined, socmnd: number | undefined, trangthai: number | undefined, unitcode: string | undefined, userid: number | undefined, username: string | undefined, sysRefreshtokens: SysRefreshtokenEntity[] | undefined, sysusergroups: SysusergroupEntity[] | undefined, sysusermenus: SysusermenuEntity[] | undefined, concurrencyPredicateFactoryToUse: IConcurrencyPredicateFactory | undefined, authorizerToUse: IAuthorizer | undefined, auditorToUse_HasDataToXmlSerialize: boolean | undefined, validator: IValidator | undefined, activeContext_SetExistingEntityFieldsInGet: boolean | undefined, isNew: boolean | undefined, fields: IEntityFieldCore[] | undefined, isDirty: boolean | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/InsertUserClient?\";\r\n if (appid === null)\r\n throw new Error(\"The parameter 'appid' cannot be null.\");\r\n else if (appid !== undefined)\r\n url_ += \"Appid=\" + encodeURIComponent(\"\" + appid) + \"&\";\r\n if (cap === null)\r\n throw new Error(\"The parameter 'cap' cannot be null.\");\r\n else if (cap !== undefined)\r\n url_ += \"Cap=\" + encodeURIComponent(\"\" + cap) + \"&\";\r\n if (checkisyn === null)\r\n throw new Error(\"The parameter 'checkisyn' cannot be null.\");\r\n else if (checkisyn !== undefined)\r\n url_ += \"Checkisyn=\" + encodeURIComponent(\"\" + checkisyn) + \"&\";\r\n if (diachi === null)\r\n throw new Error(\"The parameter 'diachi' cannot be null.\");\r\n else if (diachi !== undefined)\r\n url_ += \"Diachi=\" + encodeURIComponent(\"\" + diachi) + \"&\";\r\n if (email === null)\r\n throw new Error(\"The parameter 'email' cannot be null.\");\r\n else if (email !== undefined)\r\n url_ += \"Email=\" + encodeURIComponent(\"\" + email) + \"&\";\r\n if (fullname === null)\r\n throw new Error(\"The parameter 'fullname' cannot be null.\");\r\n else if (fullname !== undefined)\r\n url_ += \"Fullname=\" + encodeURIComponent(\"\" + fullname) + \"&\";\r\n if (gioitinh === null)\r\n throw new Error(\"The parameter 'gioitinh' cannot be null.\");\r\n else if (gioitinh !== undefined)\r\n url_ += \"Gioitinh=\" + encodeURIComponent(\"\" + gioitinh) + \"&\";\r\n if (idChucvu === null)\r\n throw new Error(\"The parameter 'idChucvu' cannot be null.\");\r\n else if (idChucvu !== undefined)\r\n url_ += \"IdChucvu=\" + encodeURIComponent(\"\" + idChucvu) + \"&\";\r\n if (idsystudien === null)\r\n throw new Error(\"The parameter 'idsystudien' cannot be null.\");\r\n else if (idsystudien !== undefined)\r\n url_ += \"Idsystudien=\" + encodeURIComponent(\"\" + idsystudien) + \"&\";\r\n if (imgavatar === null)\r\n throw new Error(\"The parameter 'imgavatar' cannot be null.\");\r\n else if (imgavatar !== undefined)\r\n url_ += \"Imgavatar=\" + encodeURIComponent(\"\" + imgavatar) + \"&\";\r\n if (loaiuser === null)\r\n throw new Error(\"The parameter 'loaiuser' cannot be null.\");\r\n else if (loaiuser !== undefined)\r\n url_ += \"Loaiuser=\" + encodeURIComponent(\"\" + loaiuser) + \"&\";\r\n if (machucvu === null)\r\n throw new Error(\"The parameter 'machucvu' cannot be null.\");\r\n else if (machucvu !== undefined)\r\n url_ += \"Machucvu=\" + encodeURIComponent(\"\" + machucvu) + \"&\";\r\n if (madbhc === null)\r\n throw new Error(\"The parameter 'madbhc' cannot be null.\");\r\n else if (madbhc !== undefined)\r\n url_ += \"Madbhc=\" + encodeURIComponent(\"\" + madbhc) + \"&\";\r\n if (msthue === null)\r\n throw new Error(\"The parameter 'msthue' cannot be null.\");\r\n else if (msthue !== undefined)\r\n url_ += \"Msthue=\" + encodeURIComponent(\"\" + msthue) + \"&\";\r\n if (ngaysinh === null)\r\n throw new Error(\"The parameter 'ngaysinh' cannot be null.\");\r\n else if (ngaysinh !== undefined)\r\n url_ += \"Ngaysinh=\" + encodeURIComponent(ngaysinh ? \"\" + ngaysinh.toISOString() : \"\") + \"&\";\r\n if (nglienhe === null)\r\n throw new Error(\"The parameter 'nglienhe' cannot be null.\");\r\n else if (nglienhe !== undefined)\r\n url_ += \"Nglienhe=\" + encodeURIComponent(\"\" + nglienhe) + \"&\";\r\n if (password === null)\r\n throw new Error(\"The parameter 'password' cannot be null.\");\r\n else if (password !== undefined)\r\n url_ += \"Password=\" + encodeURIComponent(\"\" + password) + \"&\";\r\n if (phone === null)\r\n throw new Error(\"The parameter 'phone' cannot be null.\");\r\n else if (phone !== undefined)\r\n url_ += \"Phone=\" + encodeURIComponent(\"\" + phone) + \"&\";\r\n if (phongban === null)\r\n throw new Error(\"The parameter 'phongban' cannot be null.\");\r\n else if (phongban !== undefined)\r\n url_ += \"Phongban=\" + encodeURIComponent(\"\" + phongban) + \"&\";\r\n if (quoctich === null)\r\n throw new Error(\"The parameter 'quoctich' cannot be null.\");\r\n else if (quoctich !== undefined)\r\n url_ += \"Quoctich=\" + encodeURIComponent(\"\" + quoctich) + \"&\";\r\n if (socmnd === null)\r\n throw new Error(\"The parameter 'socmnd' cannot be null.\");\r\n else if (socmnd !== undefined)\r\n url_ += \"Socmnd=\" + encodeURIComponent(\"\" + socmnd) + \"&\";\r\n if (trangthai === null)\r\n throw new Error(\"The parameter 'trangthai' cannot be null.\");\r\n else if (trangthai !== undefined)\r\n url_ += \"Trangthai=\" + encodeURIComponent(\"\" + trangthai) + \"&\";\r\n if (unitcode === null)\r\n throw new Error(\"The parameter 'unitcode' cannot be null.\");\r\n else if (unitcode !== undefined)\r\n url_ += \"Unitcode=\" + encodeURIComponent(\"\" + unitcode) + \"&\";\r\n if (userid === null)\r\n throw new Error(\"The parameter 'userid' cannot be null.\");\r\n else if (userid !== undefined)\r\n url_ += \"Userid=\" + encodeURIComponent(\"\" + userid) + \"&\";\r\n if (username === null)\r\n throw new Error(\"The parameter 'username' cannot be null.\");\r\n else if (username !== undefined)\r\n url_ += \"Username=\" + encodeURIComponent(\"\" + username) + \"&\";\r\n if (sysRefreshtokens === null)\r\n throw new Error(\"The parameter 'sysRefreshtokens' cannot be null.\");\r\n else if (sysRefreshtokens !== undefined)\r\n sysRefreshtokens && sysRefreshtokens.forEach((item, index) => {\r\n for (let attr in item)\r\n if (item.hasOwnProperty(attr)) {\r\n url_ += \"SysRefreshtokens[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item as any)[attr]) + \"&\";\r\n }\r\n });\r\n if (sysusergroups === null)\r\n throw new Error(\"The parameter 'sysusergroups' cannot be null.\");\r\n else if (sysusergroups !== undefined)\r\n sysusergroups && sysusergroups.forEach((item, index) => {\r\n for (let attr in item)\r\n if (item.hasOwnProperty(attr)) {\r\n url_ += \"Sysusergroups[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item as any)[attr]) + \"&\";\r\n }\r\n });\r\n if (sysusermenus === null)\r\n throw new Error(\"The parameter 'sysusermenus' cannot be null.\");\r\n else if (sysusermenus !== undefined)\r\n sysusermenus && sysusermenus.forEach((item, index) => {\r\n for (let attr in item)\r\n if (item.hasOwnProperty(attr)) {\r\n url_ += \"Sysusermenus[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item as any)[attr]) + \"&\";\r\n }\r\n });\r\n if (concurrencyPredicateFactoryToUse === null)\r\n throw new Error(\"The parameter 'concurrencyPredicateFactoryToUse' cannot be null.\");\r\n else if (concurrencyPredicateFactoryToUse !== undefined)\r\n url_ += \"ConcurrencyPredicateFactoryToUse=\" + encodeURIComponent(\"\" + concurrencyPredicateFactoryToUse) + \"&\";\r\n if (authorizerToUse === null)\r\n throw new Error(\"The parameter 'authorizerToUse' cannot be null.\");\r\n else if (authorizerToUse !== undefined)\r\n url_ += \"AuthorizerToUse=\" + encodeURIComponent(\"\" + authorizerToUse) + \"&\";\r\n if (auditorToUse_HasDataToXmlSerialize === null)\r\n throw new Error(\"The parameter 'auditorToUse_HasDataToXmlSerialize' cannot be null.\");\r\n else if (auditorToUse_HasDataToXmlSerialize !== undefined)\r\n url_ += \"AuditorToUse.HasDataToXmlSerialize=\" + encodeURIComponent(\"\" + auditorToUse_HasDataToXmlSerialize) + \"&\";\r\n if (validator === null)\r\n throw new Error(\"The parameter 'validator' cannot be null.\");\r\n else if (validator !== undefined)\r\n url_ += \"Validator=\" + encodeURIComponent(\"\" + validator) + \"&\";\r\n if (activeContext_SetExistingEntityFieldsInGet === null)\r\n throw new Error(\"The parameter 'activeContext_SetExistingEntityFieldsInGet' cannot be null.\");\r\n else if (activeContext_SetExistingEntityFieldsInGet !== undefined)\r\n url_ += \"ActiveContext.SetExistingEntityFieldsInGet=\" + encodeURIComponent(\"\" + activeContext_SetExistingEntityFieldsInGet) + \"&\";\r\n if (isNew === null)\r\n throw new Error(\"The parameter 'isNew' cannot be null.\");\r\n else if (isNew !== undefined)\r\n url_ += \"IsNew=\" + encodeURIComponent(\"\" + isNew) + \"&\";\r\n if (fields === null)\r\n throw new Error(\"The parameter 'fields' cannot be null.\");\r\n else if (fields !== undefined)\r\n fields && fields.forEach((item, index) => {\r\n for (let attr in item)\r\n if (item.hasOwnProperty(attr)) {\r\n url_ += \"Fields[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item as any)[attr]) + \"&\";\r\n }\r\n });\r\n if (isDirty === null)\r\n throw new Error(\"The parameter 'isDirty' cannot be null.\");\r\n else if (isDirty !== undefined)\r\n url_ += \"IsDirty=\" + encodeURIComponent(\"\" + isDirty) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserInsertUserClient(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserInsertUserClient(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserInsertUserClient(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserInsertUserAppCongAn(body: RegisterUserAppCongAnModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/InsertUserAppCongAn\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserInsertUserAppCongAn(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserInsertUserAppCongAn(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserInsertUserAppCongAn(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Int32ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserUpdateCustomUser(body: UpdateUserModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/UpdateCustomUser\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserUpdateCustomUser(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserUpdateCustomUser(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserUpdateCustomUser(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserDeleteCustomUser(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/DeleteCustomUser/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserDeleteCustomUser(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserDeleteCustomUser(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserDeleteCustomUser(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserUpdateUserGroup(body: SelectListUserGroup | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/UpdateUserGroup\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserUpdateUserGroup(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserUpdateUserGroup(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserUpdateUserGroup(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserChangePassword(body: ChangePasswordModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/ChangePassword\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserChangePassword(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserChangePassword(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserChangePassword(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserResetPassword(body: ResetPasswordModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/ResetPassword\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserResetPassword(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserResetPassword(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserResetPassword(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserSelectAllSysApp(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/SelectAllSysApp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserSelectAllSysApp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserSelectAllSysApp(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserSelectAllSysApp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param userId (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserSelectByAppId(key: string, userId: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/SelectByAppId/{key}?\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n if (userId === null)\r\n throw new Error(\"The parameter 'userId' cannot be null.\");\r\n else if (userId !== undefined)\r\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserSelectByAppId(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserSelectByAppId(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserSelectByAppId(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SysGroupSelectByAppidModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserUpdateUserMenuFunction(body: SysusermenuEntity[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/UpdateUserMenuFunction\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserUpdateUserMenuFunction(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserUpdateUserMenuFunction(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserUpdateUserMenuFunction(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserGetDetails(id: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/GetDetails/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserGetDetails(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserGetDetails(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserGetDetails(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserDetailModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserGetInformationsForForm(id: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/GetInformationsForForm?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserGetInformationsForForm(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserGetInformationsForForm(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserGetInformationsForForm(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserSelectAllUser(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/SelectAllUser\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserSelectAllUser(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserSelectAllUser(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserSelectAllUser(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserSelectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserGetByUserId(userId: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/GetByUserId/{userId}\";\r\n if (userId === undefined || userId === null)\r\n throw new Error(\"The parameter 'userId' must be defined.\");\r\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserGetByUserId(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserGetByUserId(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserGetByUserId(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserInfoModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserGetCanBoListByPhongBan(phongBan: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/GetCanBoListByPhongBan/{phongBan}\";\r\n if (phongBan === undefined || phongBan === null)\r\n throw new Error(\"The parameter 'phongBan' must be defined.\");\r\n url_ = url_.replace(\"{phongBan}\", encodeURIComponent(\"\" + phongBan));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserGetCanBoListByPhongBan(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserGetCanBoListByPhongBan(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserGetCanBoListByPhongBan(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CanBoSelectModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserGetCanBoCapDuoiList(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/GetCanBoCapDuoiList\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserGetCanBoCapDuoiList(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserGetCanBoCapDuoiList(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserGetCanBoCapDuoiList(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CanBoSelectModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserGetCanBoCapTrenList(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/GetCanBoCapTrenList\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserGetCanBoCapTrenList(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserGetCanBoCapTrenList(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserGetCanBoCapTrenList(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CanBoSelectAndUserLevelModelApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserGetUserInUnit(unitCode: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/GetUserInUnit/{unitCode}\";\r\n if (unitCode === undefined || unitCode === null)\r\n throw new Error(\"The parameter 'unitCode' must be defined.\");\r\n url_ = url_.replace(\"{unitCode}\", encodeURIComponent(\"\" + unitCode));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserGetUserInUnit(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserGetUserInUnit(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserGetUserInUnit(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserInfoModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserGetUserInfoByListId(body: number[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/GetUserInfoByListId\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserGetUserInfoByListId(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserGetUserInfoByListId(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserGetUserInfoByListId(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserInfoModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserGetUserHigherLevelSameUnitUserCurrent(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/GetUserHigherLevelSameUnitUserCurrent\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserGetUserHigherLevelSameUnitUserCurrent(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserGetUserHigherLevelSameUnitUserCurrent(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserGetUserHigherLevelSameUnitUserCurrent(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserInfoModelListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserSelectUserGroup(username: string): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/SelectUserGroup/{username}\";\r\n if (username === undefined || username === null)\r\n throw new Error(\"The parameter 'username' must be defined.\");\r\n url_ = url_.replace(\"{username}\", encodeURIComponent(\"\" + username));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserSelectUserGroup(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserSelectUserGroup(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserSelectUserGroup(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Int64ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserPaging(body: PageModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/Paging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserPaging(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserPaging(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserPaging(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerablePageModelViewApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserSelectOne(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/SelectOne/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserSelectOne(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserSelectOne(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserSelectOne(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SysuserEntityApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserSelectAll(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/SelectAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserSelectAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserSelectAll(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserSelectAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjectIEnumerableApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserInsert(body: SysuserEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/Insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserInsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserInsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserInsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1SysUserUpdate(body: SysuserEntity | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1SysUserDelete(key: number): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/SysUser/Delete/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1SysUserDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1SysUserDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1SysUserDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1TraCuuVBGetAllLinhVuc(body: number[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/TraCuuVB/GetAllLinhVuc\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1TraCuuVBGetAllLinhVuc(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1TraCuuVBGetAllLinhVuc(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1TraCuuVBGetAllLinhVuc(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LinhVucInfoListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1TraCuuVBGetAllCoQuanBienTap(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/TraCuuVB/GetAllCoQuanBienTap\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1TraCuuVBGetAllCoQuanBienTap(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1TraCuuVBGetAllCoQuanBienTap(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1TraCuuVBGetAllCoQuanBienTap(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CoQuanBienTapInfoListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1TraCuuVBGetAllCoQuanPhatHanh(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/TraCuuVB/GetAllCoQuanPhatHanh\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1TraCuuVBGetAllCoQuanPhatHanh(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1TraCuuVBGetAllCoQuanPhatHanh(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1TraCuuVBGetAllCoQuanPhatHanh(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CoQuanBanHanhInfoListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1TraCuuVBGetAllLoaiVanBan(body: number[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/TraCuuVB/GetAllLoaiVanBan\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1TraCuuVBGetAllLoaiVanBan(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1TraCuuVBGetAllLoaiVanBan(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1TraCuuVBGetAllLoaiVanBan(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LoaiVanBanInfoListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1TraCuuVBTimKiem(body: SearchVBModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/TraCuuVB/TimKiem\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1TraCuuVBTimKiem(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1TraCuuVBTimKiem(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1TraCuuVBTimKiem(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SearchResultApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param lstAttachs (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1TraCuuVBTaiFile(lstAttachs: string[] | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/TraCuuVB/TaiFile?\";\r\n if (lstAttachs === null)\r\n throw new Error(\"The parameter 'lstAttachs' cannot be null.\");\r\n else if (lstAttachs !== undefined)\r\n lstAttachs && lstAttachs.forEach(item => { url_ += \"lstAttachs=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1TraCuuVBTaiFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1TraCuuVBTaiFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1TraCuuVBTaiFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = FileAttachListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1TraCuuVBGetAllNguoiKy(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/TraCuuVB/GetAllNguoiKy\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1TraCuuVBGetAllNguoiKy(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1TraCuuVBGetAllNguoiKy(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1TraCuuVBGetAllNguoiKy(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NguoiKyInfoListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n appQthtApiV1TraCuuVBGetAllChucDanh(): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/TraCuuVB/GetAllChucDanh\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1TraCuuVBGetAllChucDanh(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1TraCuuVBGetAllChucDanh(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1TraCuuVBGetAllChucDanh(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ChucDanhInfoListApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n appQthtApiV1UserClientInsertUserAndUserGroup(body: InsertUpdateModel | undefined): Observable {\r\n let url_ = this.baseUrl + \"/App/Qtht/api/v1/UserClient/InsertUserAndUserGroup\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; x-api-version=1.0\",\r\n \"Accept\": \"text/plain; x-api-version=1.0\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAppQthtApiV1UserClientInsertUserAndUserGroup(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAppQthtApiV1UserClientInsertUserAndUserGroup(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAppQthtApiV1UserClientInsertUserAndUserGroup(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ApiResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport enum AggregateFunction {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n _6 = 6,\r\n _7 = 7,\r\n _8 = 8,\r\n _9 = 9,\r\n _10 = 10,\r\n _11 = 11,\r\n _12 = 12,\r\n _13 = 13,\r\n _14 = 14,\r\n _15 = 15,\r\n _16 = 16,\r\n}\r\n\r\nexport class ApiResponse implements IApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: boolean;\r\n\r\n constructor(data?: IApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data;\r\n return data;\r\n }\r\n\r\n clone(): ApiResponse {\r\n const json = this.toJSON();\r\n let result = new ApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: boolean;\r\n}\r\n\r\nexport class AppAndCheckUserInAppModel implements IAppAndCheckUserInAppModel {\r\n appId?: number;\r\n dinhDanhApp?: string | undefined;\r\n tenApp?: string | undefined;\r\n moTa?: string | undefined;\r\n existRoleInUser?: boolean;\r\n\r\n constructor(data?: IAppAndCheckUserInAppModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.appId = _data[\"appId\"];\r\n this.dinhDanhApp = _data[\"dinhDanhApp\"];\r\n this.tenApp = _data[\"tenApp\"];\r\n this.moTa = _data[\"moTa\"];\r\n this.existRoleInUser = _data[\"existRoleInUser\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AppAndCheckUserInAppModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AppAndCheckUserInAppModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"appId\"] = this.appId;\r\n data[\"dinhDanhApp\"] = this.dinhDanhApp;\r\n data[\"tenApp\"] = this.tenApp;\r\n data[\"moTa\"] = this.moTa;\r\n data[\"existRoleInUser\"] = this.existRoleInUser;\r\n return data;\r\n }\r\n\r\n clone(): AppAndCheckUserInAppModel {\r\n const json = this.toJSON();\r\n let result = new AppAndCheckUserInAppModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IAppAndCheckUserInAppModel {\r\n appId?: number;\r\n dinhDanhApp?: string | undefined;\r\n tenApp?: string | undefined;\r\n moTa?: string | undefined;\r\n existRoleInUser?: boolean;\r\n}\r\n\r\nexport class AppAndCheckUserInAppModelListApiResponse implements IAppAndCheckUserInAppModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: AppAndCheckUserInAppModel[] | undefined;\r\n\r\n constructor(data?: IAppAndCheckUserInAppModelListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new AppAndCheckUserInAppModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(AppAndCheckUserInAppModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): AppAndCheckUserInAppModelListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AppAndCheckUserInAppModelListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): AppAndCheckUserInAppModelListApiResponse {\r\n const json = this.toJSON();\r\n let result = new AppAndCheckUserInAppModelListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IAppAndCheckUserInAppModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IAppAndCheckUserInAppModel[] | undefined;\r\n}\r\n\r\nexport class AppForUserModel implements IAppForUserModel {\r\n id?: number;\r\n name?: string | undefined;\r\n dinhDanhApp?: string | undefined;\r\n\r\n constructor(data?: IAppForUserModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.dinhDanhApp = _data[\"dinhDanhApp\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AppForUserModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AppForUserModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"dinhDanhApp\"] = this.dinhDanhApp;\r\n return data;\r\n }\r\n\r\n clone(): AppForUserModel {\r\n const json = this.toJSON();\r\n let result = new AppForUserModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IAppForUserModel {\r\n id?: number;\r\n name?: string | undefined;\r\n dinhDanhApp?: string | undefined;\r\n}\r\n\r\nexport class AppModel implements IAppModel {\r\n id?: number;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IAppModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AppModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AppModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n\r\n clone(): AppModel {\r\n const json = this.toJSON();\r\n let result = new AppModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IAppModel {\r\n id?: number;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class Assembly implements IAssembly {\r\n readonly definedTypes?: TypeInfo[] | undefined;\r\n readonly exportedTypes?: Type[] | undefined;\r\n readonly codeBase?: string | undefined;\r\n entryPoint?: MethodInfo;\r\n readonly fullName?: string | undefined;\r\n readonly imageRuntimeVersion?: string | undefined;\r\n readonly isDynamic?: boolean;\r\n readonly location?: string | undefined;\r\n readonly reflectionOnly?: boolean;\r\n readonly isCollectible?: boolean;\r\n readonly isFullyTrusted?: boolean;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly escapedCodeBase?: string | undefined;\r\n manifestModule?: Module;\r\n readonly modules?: Module[] | undefined;\r\n readonly globalAssemblyCache?: boolean;\r\n readonly hostContext?: number;\r\n securityRuleSet?: SecurityRuleSet;\r\n\r\n constructor(data?: IAssembly) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.definedTypes) {\r\n this.definedTypes = [];\r\n for (let i = 0; i < data.definedTypes.length; i++) {\r\n let item = data.definedTypes[i];\r\n this.definedTypes[i] = item && !(item).toJSON ? new TypeInfo(item) : item;\r\n }\r\n }\r\n if (data.exportedTypes) {\r\n this.exportedTypes = [];\r\n for (let i = 0; i < data.exportedTypes.length; i++) {\r\n let item = data.exportedTypes[i];\r\n this.exportedTypes[i] = item && !(item).toJSON ? new Type(item) : item;\r\n }\r\n }\r\n this.entryPoint = data.entryPoint && !(data.entryPoint).toJSON ? new MethodInfo(data.entryPoint) : this.entryPoint;\r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.manifestModule = data.manifestModule && !(data.manifestModule).toJSON ? new Module(data.manifestModule) : this.manifestModule;\r\n if (data.modules) {\r\n this.modules = [];\r\n for (let i = 0; i < data.modules.length; i++) {\r\n let item = data.modules[i];\r\n this.modules[i] = item && !(item).toJSON ? new Module(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"definedTypes\"])) {\r\n (this).definedTypes = [] as any;\r\n for (let item of _data[\"definedTypes\"])\r\n (this).definedTypes!.push(TypeInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"exportedTypes\"])) {\r\n (this).exportedTypes = [] as any;\r\n for (let item of _data[\"exportedTypes\"])\r\n (this).exportedTypes!.push(Type.fromJS(item));\r\n }\r\n (this).codeBase = _data[\"codeBase\"];\r\n this.entryPoint = _data[\"entryPoint\"] ? MethodInfo.fromJS(_data[\"entryPoint\"]) : undefined;\r\n (this).fullName = _data[\"fullName\"];\r\n (this).imageRuntimeVersion = _data[\"imageRuntimeVersion\"];\r\n (this).isDynamic = _data[\"isDynamic\"];\r\n (this).location = _data[\"location\"];\r\n (this).reflectionOnly = _data[\"reflectionOnly\"];\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).isFullyTrusted = _data[\"isFullyTrusted\"];\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).escapedCodeBase = _data[\"escapedCodeBase\"];\r\n this.manifestModule = _data[\"manifestModule\"] ? Module.fromJS(_data[\"manifestModule\"]) : undefined;\r\n if (Array.isArray(_data[\"modules\"])) {\r\n (this).modules = [] as any;\r\n for (let item of _data[\"modules\"])\r\n (this).modules!.push(Module.fromJS(item));\r\n }\r\n (this).globalAssemblyCache = _data[\"globalAssemblyCache\"];\r\n (this).hostContext = _data[\"hostContext\"];\r\n this.securityRuleSet = _data[\"securityRuleSet\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Assembly {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Assembly();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.definedTypes)) {\r\n data[\"definedTypes\"] = [];\r\n for (let item of this.definedTypes)\r\n data[\"definedTypes\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.exportedTypes)) {\r\n data[\"exportedTypes\"] = [];\r\n for (let item of this.exportedTypes)\r\n data[\"exportedTypes\"].push(item.toJSON());\r\n }\r\n data[\"codeBase\"] = this.codeBase;\r\n data[\"entryPoint\"] = this.entryPoint ? this.entryPoint.toJSON() : undefined;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"imageRuntimeVersion\"] = this.imageRuntimeVersion;\r\n data[\"isDynamic\"] = this.isDynamic;\r\n data[\"location\"] = this.location;\r\n data[\"reflectionOnly\"] = this.reflectionOnly;\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"isFullyTrusted\"] = this.isFullyTrusted;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"escapedCodeBase\"] = this.escapedCodeBase;\r\n data[\"manifestModule\"] = this.manifestModule ? this.manifestModule.toJSON() : undefined;\r\n if (Array.isArray(this.modules)) {\r\n data[\"modules\"] = [];\r\n for (let item of this.modules)\r\n data[\"modules\"].push(item.toJSON());\r\n }\r\n data[\"globalAssemblyCache\"] = this.globalAssemblyCache;\r\n data[\"hostContext\"] = this.hostContext;\r\n data[\"securityRuleSet\"] = this.securityRuleSet;\r\n return data;\r\n }\r\n\r\n clone(): Assembly {\r\n const json = this.toJSON();\r\n let result = new Assembly();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IAssembly {\r\n definedTypes?: ITypeInfo[] | undefined;\r\n exportedTypes?: IType[] | undefined;\r\n codeBase?: string | undefined;\r\n entryPoint?: IMethodInfo;\r\n fullName?: string | undefined;\r\n imageRuntimeVersion?: string | undefined;\r\n isDynamic?: boolean;\r\n location?: string | undefined;\r\n reflectionOnly?: boolean;\r\n isCollectible?: boolean;\r\n isFullyTrusted?: boolean;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n escapedCodeBase?: string | undefined;\r\n manifestModule?: IModule;\r\n modules?: IModule[] | undefined;\r\n globalAssemblyCache?: boolean;\r\n hostContext?: number;\r\n securityRuleSet?: SecurityRuleSet;\r\n}\r\n\r\nexport class AuthenticateRequest implements IAuthenticateRequest {\r\n username!: string;\r\n password!: string;\r\n appId?: number | undefined;\r\n dinhDanhApp?: string | undefined;\r\n tag?: string | undefined;\r\n\r\n constructor(data?: IAuthenticateRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.username = _data[\"username\"];\r\n this.password = _data[\"password\"];\r\n this.appId = _data[\"appId\"];\r\n this.dinhDanhApp = _data[\"dinhDanhApp\"];\r\n this.tag = _data[\"tag\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AuthenticateRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AuthenticateRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"username\"] = this.username;\r\n data[\"password\"] = this.password;\r\n data[\"appId\"] = this.appId;\r\n data[\"dinhDanhApp\"] = this.dinhDanhApp;\r\n data[\"tag\"] = this.tag;\r\n return data;\r\n }\r\n\r\n clone(): AuthenticateRequest {\r\n const json = this.toJSON();\r\n let result = new AuthenticateRequest();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IAuthenticateRequest {\r\n username: string;\r\n password: string;\r\n appId?: number | undefined;\r\n dinhDanhApp?: string | undefined;\r\n tag?: string | undefined;\r\n}\r\n\r\nexport class AuthenticateResponse implements IAuthenticateResponse {\r\n id?: number;\r\n fullName?: string | undefined;\r\n name?: string | undefined;\r\n username?: string | undefined;\r\n email?: string | undefined;\r\n jwtToken?: string | undefined;\r\n refreshToken?: string | undefined;\r\n userType?: number | undefined;\r\n avatar?: string | undefined;\r\n status?: string | undefined;\r\n unitCode?: string | undefined;\r\n unitName?: string | undefined;\r\n tag?: string | undefined;\r\n image?: string | undefined;\r\n provider?: string | undefined;\r\n\r\n constructor(data?: IAuthenticateResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.name = _data[\"name\"];\r\n this.username = _data[\"username\"];\r\n this.email = _data[\"email\"];\r\n this.jwtToken = _data[\"jwtToken\"];\r\n this.refreshToken = _data[\"refreshToken\"];\r\n this.userType = _data[\"userType\"];\r\n this.avatar = _data[\"avatar\"];\r\n this.status = _data[\"status\"];\r\n this.unitCode = _data[\"unitCode\"];\r\n this.unitName = _data[\"unitName\"];\r\n this.tag = _data[\"tag\"];\r\n this.image = _data[\"image\"];\r\n this.provider = _data[\"provider\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AuthenticateResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AuthenticateResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"name\"] = this.name;\r\n data[\"username\"] = this.username;\r\n data[\"email\"] = this.email;\r\n data[\"jwtToken\"] = this.jwtToken;\r\n data[\"refreshToken\"] = this.refreshToken;\r\n data[\"userType\"] = this.userType;\r\n data[\"avatar\"] = this.avatar;\r\n data[\"status\"] = this.status;\r\n data[\"unitCode\"] = this.unitCode;\r\n data[\"unitName\"] = this.unitName;\r\n data[\"tag\"] = this.tag;\r\n data[\"image\"] = this.image;\r\n data[\"provider\"] = this.provider;\r\n return data;\r\n }\r\n\r\n clone(): AuthenticateResponse {\r\n const json = this.toJSON();\r\n let result = new AuthenticateResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IAuthenticateResponse {\r\n id?: number;\r\n fullName?: string | undefined;\r\n name?: string | undefined;\r\n username?: string | undefined;\r\n email?: string | undefined;\r\n jwtToken?: string | undefined;\r\n refreshToken?: string | undefined;\r\n userType?: number | undefined;\r\n avatar?: string | undefined;\r\n status?: string | undefined;\r\n unitCode?: string | undefined;\r\n unitName?: string | undefined;\r\n tag?: string | undefined;\r\n image?: string | undefined;\r\n provider?: string | undefined;\r\n}\r\n\r\nexport class AuthenticateResponseApiResponse implements IAuthenticateResponseApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: AuthenticateResponse;\r\n\r\n constructor(data?: IAuthenticateResponseApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new AuthenticateResponse(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? AuthenticateResponse.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): AuthenticateResponseApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AuthenticateResponseApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): AuthenticateResponseApiResponse {\r\n const json = this.toJSON();\r\n let result = new AuthenticateResponseApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IAuthenticateResponseApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IAuthenticateResponse;\r\n}\r\n\r\nexport class Author implements IAuthor {\r\n lookupId?: number;\r\n lookupValue?: string | undefined;\r\n\r\n constructor(data?: IAuthor) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.lookupId = _data[\"lookupId\"];\r\n this.lookupValue = _data[\"lookupValue\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Author {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Author();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"lookupId\"] = this.lookupId;\r\n data[\"lookupValue\"] = this.lookupValue;\r\n return data;\r\n }\r\n\r\n clone(): Author {\r\n const json = this.toJSON();\r\n let result = new Author();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IAuthor {\r\n lookupId?: number;\r\n lookupValue?: string | undefined;\r\n}\r\n\r\nexport class BaseAuthenticateResponse implements IBaseAuthenticateResponse {\r\n id?: number;\r\n fullName?: string | undefined;\r\n name?: string | undefined;\r\n username?: string | undefined;\r\n email?: string | undefined;\r\n jwtToken?: string | undefined;\r\n refreshToken?: string | undefined;\r\n userType?: number | undefined;\r\n avatar?: string | undefined;\r\n status?: string | undefined;\r\n unitCode?: string | undefined;\r\n unitName?: string | undefined;\r\n tag?: string | undefined;\r\n\r\n constructor(data?: IBaseAuthenticateResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.name = _data[\"name\"];\r\n this.username = _data[\"username\"];\r\n this.email = _data[\"email\"];\r\n this.jwtToken = _data[\"jwtToken\"];\r\n this.refreshToken = _data[\"refreshToken\"];\r\n this.userType = _data[\"userType\"];\r\n this.avatar = _data[\"avatar\"];\r\n this.status = _data[\"status\"];\r\n this.unitCode = _data[\"unitCode\"];\r\n this.unitName = _data[\"unitName\"];\r\n this.tag = _data[\"tag\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BaseAuthenticateResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BaseAuthenticateResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"name\"] = this.name;\r\n data[\"username\"] = this.username;\r\n data[\"email\"] = this.email;\r\n data[\"jwtToken\"] = this.jwtToken;\r\n data[\"refreshToken\"] = this.refreshToken;\r\n data[\"userType\"] = this.userType;\r\n data[\"avatar\"] = this.avatar;\r\n data[\"status\"] = this.status;\r\n data[\"unitCode\"] = this.unitCode;\r\n data[\"unitName\"] = this.unitName;\r\n data[\"tag\"] = this.tag;\r\n return data;\r\n }\r\n\r\n clone(): BaseAuthenticateResponse {\r\n const json = this.toJSON();\r\n let result = new BaseAuthenticateResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IBaseAuthenticateResponse {\r\n id?: number;\r\n fullName?: string | undefined;\r\n name?: string | undefined;\r\n username?: string | undefined;\r\n email?: string | undefined;\r\n jwtToken?: string | undefined;\r\n refreshToken?: string | undefined;\r\n userType?: number | undefined;\r\n avatar?: string | undefined;\r\n status?: string | undefined;\r\n unitCode?: string | undefined;\r\n unitName?: string | undefined;\r\n tag?: string | undefined;\r\n}\r\n\r\nexport class BaseAuthenticateResponseApiResponse implements IBaseAuthenticateResponseApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: BaseAuthenticateResponse;\r\n\r\n constructor(data?: IBaseAuthenticateResponseApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new BaseAuthenticateResponse(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? BaseAuthenticateResponse.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): BaseAuthenticateResponseApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BaseAuthenticateResponseApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): BaseAuthenticateResponseApiResponse {\r\n const json = this.toJSON();\r\n let result = new BaseAuthenticateResponseApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IBaseAuthenticateResponseApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IBaseAuthenticateResponse;\r\n}\r\n\r\nexport class BooleanApiResponse implements IBooleanApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: boolean;\r\n\r\n constructor(data?: IBooleanApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BooleanApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BooleanApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data;\r\n return data;\r\n }\r\n\r\n clone(): BooleanApiResponse {\r\n const json = this.toJSON();\r\n let result = new BooleanApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IBooleanApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: boolean;\r\n}\r\n\r\nexport class Calendar implements ICalendar {\r\n readonly minSupportedDateTime?: Date;\r\n readonly maxSupportedDateTime?: Date;\r\n algorithmType?: CalendarAlgorithmType;\r\n readonly isReadOnly?: boolean;\r\n readonly eras?: number[] | undefined;\r\n twoDigitYearMax?: number;\r\n\r\n constructor(data?: ICalendar) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).minSupportedDateTime = _data[\"minSupportedDateTime\"] ? new Date(_data[\"minSupportedDateTime\"].toString()) : undefined;\r\n (this).maxSupportedDateTime = _data[\"maxSupportedDateTime\"] ? new Date(_data[\"maxSupportedDateTime\"].toString()) : undefined;\r\n this.algorithmType = _data[\"algorithmType\"];\r\n (this).isReadOnly = _data[\"isReadOnly\"];\r\n if (Array.isArray(_data[\"eras\"])) {\r\n (this).eras = [] as any;\r\n for (let item of _data[\"eras\"])\r\n (this).eras!.push(item);\r\n }\r\n this.twoDigitYearMax = _data[\"twoDigitYearMax\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Calendar {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Calendar();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"minSupportedDateTime\"] = this.minSupportedDateTime ? this.minSupportedDateTime.toISOString() : undefined;\r\n data[\"maxSupportedDateTime\"] = this.maxSupportedDateTime ? this.maxSupportedDateTime.toISOString() : undefined;\r\n data[\"algorithmType\"] = this.algorithmType;\r\n data[\"isReadOnly\"] = this.isReadOnly;\r\n if (Array.isArray(this.eras)) {\r\n data[\"eras\"] = [];\r\n for (let item of this.eras)\r\n data[\"eras\"].push(item);\r\n }\r\n data[\"twoDigitYearMax\"] = this.twoDigitYearMax;\r\n return data;\r\n }\r\n\r\n clone(): Calendar {\r\n const json = this.toJSON();\r\n let result = new Calendar();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICalendar {\r\n minSupportedDateTime?: Date;\r\n maxSupportedDateTime?: Date;\r\n algorithmType?: CalendarAlgorithmType;\r\n isReadOnly?: boolean;\r\n eras?: number[] | undefined;\r\n twoDigitYearMax?: number;\r\n}\r\n\r\nexport enum CalendarAlgorithmType {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n}\r\n\r\nexport enum CalendarWeekRule {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n}\r\n\r\nexport enum CallingConventions {\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _32 = 32,\r\n _64 = 64,\r\n}\r\n\r\nexport class CanBoSelectAndUserLevelModel implements ICanBoSelectAndUserLevelModel {\r\n cap?: number | undefined;\r\n lstCanBoCapTren?: CanBoSelectModel[] | undefined;\r\n\r\n constructor(data?: ICanBoSelectAndUserLevelModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstCanBoCapTren) {\r\n this.lstCanBoCapTren = [];\r\n for (let i = 0; i < data.lstCanBoCapTren.length; i++) {\r\n let item = data.lstCanBoCapTren[i];\r\n this.lstCanBoCapTren[i] = item && !(item).toJSON ? new CanBoSelectModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.cap = _data[\"cap\"];\r\n if (Array.isArray(_data[\"lstCanBoCapTren\"])) {\r\n this.lstCanBoCapTren = [] as any;\r\n for (let item of _data[\"lstCanBoCapTren\"])\r\n this.lstCanBoCapTren!.push(CanBoSelectModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CanBoSelectAndUserLevelModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CanBoSelectAndUserLevelModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"cap\"] = this.cap;\r\n if (Array.isArray(this.lstCanBoCapTren)) {\r\n data[\"lstCanBoCapTren\"] = [];\r\n for (let item of this.lstCanBoCapTren)\r\n data[\"lstCanBoCapTren\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): CanBoSelectAndUserLevelModel {\r\n const json = this.toJSON();\r\n let result = new CanBoSelectAndUserLevelModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICanBoSelectAndUserLevelModel {\r\n cap?: number | undefined;\r\n lstCanBoCapTren?: ICanBoSelectModel[] | undefined;\r\n}\r\n\r\nexport class CanBoSelectAndUserLevelModelApiResponse implements ICanBoSelectAndUserLevelModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: CanBoSelectAndUserLevelModel;\r\n\r\n constructor(data?: ICanBoSelectAndUserLevelModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new CanBoSelectAndUserLevelModel(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? CanBoSelectAndUserLevelModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): CanBoSelectAndUserLevelModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CanBoSelectAndUserLevelModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): CanBoSelectAndUserLevelModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new CanBoSelectAndUserLevelModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICanBoSelectAndUserLevelModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ICanBoSelectAndUserLevelModel;\r\n}\r\n\r\nexport class CanBoSelectModel implements ICanBoSelectModel {\r\n value?: number;\r\n name?: string | undefined;\r\n\r\n constructor(data?: ICanBoSelectModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.value = _data[\"value\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CanBoSelectModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CanBoSelectModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n\r\n clone(): CanBoSelectModel {\r\n const json = this.toJSON();\r\n let result = new CanBoSelectModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICanBoSelectModel {\r\n value?: number;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class CanBoSelectModelListApiResponse implements ICanBoSelectModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: CanBoSelectModel[] | undefined;\r\n\r\n constructor(data?: ICanBoSelectModelListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new CanBoSelectModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(CanBoSelectModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CanBoSelectModelListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CanBoSelectModelListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): CanBoSelectModelListApiResponse {\r\n const json = this.toJSON();\r\n let result = new CanBoSelectModelListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICanBoSelectModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ICanBoSelectModel[] | undefined;\r\n}\r\n\r\nexport class ChangePasswordModel implements IChangePasswordModel {\r\n oldPassword?: string | undefined;\r\n newPassword?: string | undefined;\r\n\r\n constructor(data?: IChangePasswordModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.oldPassword = _data[\"oldPassword\"];\r\n this.newPassword = _data[\"newPassword\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChangePasswordModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChangePasswordModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"oldPassword\"] = this.oldPassword;\r\n data[\"newPassword\"] = this.newPassword;\r\n return data;\r\n }\r\n\r\n clone(): ChangePasswordModel {\r\n const json = this.toJSON();\r\n let result = new ChangePasswordModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IChangePasswordModel {\r\n oldPassword?: string | undefined;\r\n newPassword?: string | undefined;\r\n}\r\n\r\nexport class ChucDanhInfo implements IChucDanhInfo {\r\n id?: number;\r\n title?: string | undefined;\r\n dmDescription?: string | undefined;\r\n dmVietTat?: string | undefined;\r\n orderColumn?: number;\r\n titleEng?: string | undefined;\r\n dmIsDisplay?: boolean;\r\n vbpqDonVi?: Vbpqdonvi[] | undefined;\r\n coQuanBanHanh?: string[] | undefined;\r\n multipleDonVi?: string | undefined;\r\n moderationStatus?: number;\r\n version?: string | undefined;\r\n author?: Author;\r\n editor?: Editor;\r\n created?: Date;\r\n modified?: Date;\r\n listFileAttachAdd?: string[] | undefined;\r\n listFileAttach?: string[] | undefined;\r\n listFileRemove?: string[] | undefined;\r\n\r\n constructor(data?: IChucDanhInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.vbpqDonVi) {\r\n this.vbpqDonVi = [];\r\n for (let i = 0; i < data.vbpqDonVi.length; i++) {\r\n let item = data.vbpqDonVi[i];\r\n this.vbpqDonVi[i] = item && !(item).toJSON ? new Vbpqdonvi(item) : item;\r\n }\r\n }\r\n this.author = data.author && !(data.author).toJSON ? new Author(data.author) : this.author;\r\n this.editor = data.editor && !(data.editor).toJSON ? new Editor(data.editor) : this.editor;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.title = _data[\"title\"];\r\n this.dmDescription = _data[\"dmDescription\"];\r\n this.dmVietTat = _data[\"dmVietTat\"];\r\n this.orderColumn = _data[\"orderColumn\"];\r\n this.titleEng = _data[\"titleEng\"];\r\n this.dmIsDisplay = _data[\"dmIsDisplay\"];\r\n if (Array.isArray(_data[\"vbpqDonVi\"])) {\r\n this.vbpqDonVi = [] as any;\r\n for (let item of _data[\"vbpqDonVi\"])\r\n this.vbpqDonVi!.push(Vbpqdonvi.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"coQuanBanHanh\"])) {\r\n this.coQuanBanHanh = [] as any;\r\n for (let item of _data[\"coQuanBanHanh\"])\r\n this.coQuanBanHanh!.push(item);\r\n }\r\n this.multipleDonVi = _data[\"multipleDonVi\"];\r\n this.moderationStatus = _data[\"moderationStatus\"];\r\n this.version = _data[\"version\"];\r\n this.author = _data[\"author\"] ? Author.fromJS(_data[\"author\"]) : undefined;\r\n this.editor = _data[\"editor\"] ? Editor.fromJS(_data[\"editor\"]) : undefined;\r\n this.created = _data[\"created\"] ? new Date(_data[\"created\"].toString()) : undefined;\r\n this.modified = _data[\"modified\"] ? new Date(_data[\"modified\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"listFileAttachAdd\"])) {\r\n this.listFileAttachAdd = [] as any;\r\n for (let item of _data[\"listFileAttachAdd\"])\r\n this.listFileAttachAdd!.push(item);\r\n }\r\n if (Array.isArray(_data[\"listFileAttach\"])) {\r\n this.listFileAttach = [] as any;\r\n for (let item of _data[\"listFileAttach\"])\r\n this.listFileAttach!.push(item);\r\n }\r\n if (Array.isArray(_data[\"listFileRemove\"])) {\r\n this.listFileRemove = [] as any;\r\n for (let item of _data[\"listFileRemove\"])\r\n this.listFileRemove!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChucDanhInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChucDanhInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"title\"] = this.title;\r\n data[\"dmDescription\"] = this.dmDescription;\r\n data[\"dmVietTat\"] = this.dmVietTat;\r\n data[\"orderColumn\"] = this.orderColumn;\r\n data[\"titleEng\"] = this.titleEng;\r\n data[\"dmIsDisplay\"] = this.dmIsDisplay;\r\n if (Array.isArray(this.vbpqDonVi)) {\r\n data[\"vbpqDonVi\"] = [];\r\n for (let item of this.vbpqDonVi)\r\n data[\"vbpqDonVi\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.coQuanBanHanh)) {\r\n data[\"coQuanBanHanh\"] = [];\r\n for (let item of this.coQuanBanHanh)\r\n data[\"coQuanBanHanh\"].push(item);\r\n }\r\n data[\"multipleDonVi\"] = this.multipleDonVi;\r\n data[\"moderationStatus\"] = this.moderationStatus;\r\n data[\"version\"] = this.version;\r\n data[\"author\"] = this.author ? this.author.toJSON() : undefined;\r\n data[\"editor\"] = this.editor ? this.editor.toJSON() : undefined;\r\n data[\"created\"] = this.created ? this.created.toISOString() : undefined;\r\n data[\"modified\"] = this.modified ? this.modified.toISOString() : undefined;\r\n if (Array.isArray(this.listFileAttachAdd)) {\r\n data[\"listFileAttachAdd\"] = [];\r\n for (let item of this.listFileAttachAdd)\r\n data[\"listFileAttachAdd\"].push(item);\r\n }\r\n if (Array.isArray(this.listFileAttach)) {\r\n data[\"listFileAttach\"] = [];\r\n for (let item of this.listFileAttach)\r\n data[\"listFileAttach\"].push(item);\r\n }\r\n if (Array.isArray(this.listFileRemove)) {\r\n data[\"listFileRemove\"] = [];\r\n for (let item of this.listFileRemove)\r\n data[\"listFileRemove\"].push(item);\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ChucDanhInfo {\r\n const json = this.toJSON();\r\n let result = new ChucDanhInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IChucDanhInfo {\r\n id?: number;\r\n title?: string | undefined;\r\n dmDescription?: string | undefined;\r\n dmVietTat?: string | undefined;\r\n orderColumn?: number;\r\n titleEng?: string | undefined;\r\n dmIsDisplay?: boolean;\r\n vbpqDonVi?: IVbpqdonvi[] | undefined;\r\n coQuanBanHanh?: string[] | undefined;\r\n multipleDonVi?: string | undefined;\r\n moderationStatus?: number;\r\n version?: string | undefined;\r\n author?: IAuthor;\r\n editor?: IEditor;\r\n created?: Date;\r\n modified?: Date;\r\n listFileAttachAdd?: string[] | undefined;\r\n listFileAttach?: string[] | undefined;\r\n listFileRemove?: string[] | undefined;\r\n}\r\n\r\nexport class ChucDanhInfoListApiResponse implements IChucDanhInfoListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ChucDanhInfo[] | undefined;\r\n\r\n constructor(data?: IChucDanhInfoListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ChucDanhInfo(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ChucDanhInfo.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChucDanhInfoListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChucDanhInfoListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ChucDanhInfoListApiResponse {\r\n const json = this.toJSON();\r\n let result = new ChucDanhInfoListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IChucDanhInfoListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IChucDanhInfo[] | undefined;\r\n}\r\n\r\nexport class ChucVuSelectModel implements IChucVuSelectModel {\r\n id?: number;\r\n ten?: string | undefined;\r\n cap?: number | undefined;\r\n\r\n constructor(data?: IChucVuSelectModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.ten = _data[\"ten\"];\r\n this.cap = _data[\"cap\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChucVuSelectModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChucVuSelectModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"ten\"] = this.ten;\r\n data[\"cap\"] = this.cap;\r\n return data;\r\n }\r\n\r\n clone(): ChucVuSelectModel {\r\n const json = this.toJSON();\r\n let result = new ChucVuSelectModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IChucVuSelectModel {\r\n id?: number;\r\n ten?: string | undefined;\r\n cap?: number | undefined;\r\n}\r\n\r\nexport class ChucVuSelectModelIEnumerableApiResponse implements IChucVuSelectModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ChucVuSelectModel[] | undefined;\r\n\r\n constructor(data?: IChucVuSelectModelIEnumerableApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ChucVuSelectModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ChucVuSelectModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChucVuSelectModelIEnumerableApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChucVuSelectModelIEnumerableApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ChucVuSelectModelIEnumerableApiResponse {\r\n const json = this.toJSON();\r\n let result = new ChucVuSelectModelIEnumerableApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IChucVuSelectModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IChucVuSelectModel[] | undefined;\r\n}\r\n\r\nexport class CompareInfo implements ICompareInfo {\r\n readonly name?: string | undefined;\r\n version?: SortVersion;\r\n readonly lcid?: number;\r\n\r\n constructor(data?: ICompareInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.version = data.version && !(data.version).toJSON ? new SortVersion(data.version) : this.version;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n this.version = _data[\"version\"] ? SortVersion.fromJS(_data[\"version\"]) : undefined;\r\n (this).lcid = _data[\"lcid\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CompareInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CompareInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"version\"] = this.version ? this.version.toJSON() : undefined;\r\n data[\"lcid\"] = this.lcid;\r\n return data;\r\n }\r\n\r\n clone(): CompareInfo {\r\n const json = this.toJSON();\r\n let result = new CompareInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICompareInfo {\r\n name?: string | undefined;\r\n version?: ISortVersion;\r\n lcid?: number;\r\n}\r\n\r\nexport class CongAnList implements ICongAnList {\r\n unitcode?: string | undefined;\r\n ten?: string | undefined;\r\n maDonViCongAnCha?: string | undefined;\r\n tenDonViCongAnCha?: string | undefined;\r\n\r\n constructor(data?: ICongAnList) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.unitcode = _data[\"unitcode\"];\r\n this.ten = _data[\"ten\"];\r\n this.maDonViCongAnCha = _data[\"maDonViCongAnCha\"];\r\n this.tenDonViCongAnCha = _data[\"tenDonViCongAnCha\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CongAnList {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CongAnList();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"unitcode\"] = this.unitcode;\r\n data[\"ten\"] = this.ten;\r\n data[\"maDonViCongAnCha\"] = this.maDonViCongAnCha;\r\n data[\"tenDonViCongAnCha\"] = this.tenDonViCongAnCha;\r\n return data;\r\n }\r\n\r\n clone(): CongAnList {\r\n const json = this.toJSON();\r\n let result = new CongAnList();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICongAnList {\r\n unitcode?: string | undefined;\r\n ten?: string | undefined;\r\n maDonViCongAnCha?: string | undefined;\r\n tenDonViCongAnCha?: string | undefined;\r\n}\r\n\r\nexport class CongAnListListApiResponse implements ICongAnListListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: CongAnList[] | undefined;\r\n\r\n constructor(data?: ICongAnListListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new CongAnList(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(CongAnList.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CongAnListListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CongAnListListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): CongAnListListApiResponse {\r\n const json = this.toJSON();\r\n let result = new CongAnListListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICongAnListListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ICongAnList[] | undefined;\r\n}\r\n\r\nexport class ConstructorInfo implements IConstructorInfo {\r\n readonly name?: string | undefined;\r\n declaringType?: Type;\r\n reflectedType?: Type;\r\n module?: Module;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n attributes?: MethodAttributes;\r\n methodImplementationFlags?: MethodImplAttributes;\r\n callingConvention?: CallingConventions;\r\n readonly isAbstract?: boolean;\r\n readonly isConstructor?: boolean;\r\n readonly isFinal?: boolean;\r\n readonly isHideBySig?: boolean;\r\n readonly isSpecialName?: boolean;\r\n readonly isStatic?: boolean;\r\n readonly isVirtual?: boolean;\r\n readonly isAssembly?: boolean;\r\n readonly isFamily?: boolean;\r\n readonly isFamilyAndAssembly?: boolean;\r\n readonly isFamilyOrAssembly?: boolean;\r\n readonly isPrivate?: boolean;\r\n readonly isPublic?: boolean;\r\n readonly isConstructedGenericMethod?: boolean;\r\n readonly isGenericMethod?: boolean;\r\n readonly isGenericMethodDefinition?: boolean;\r\n readonly containsGenericParameters?: boolean;\r\n methodHandle?: RuntimeMethodHandle;\r\n readonly isSecurityCritical?: boolean;\r\n readonly isSecuritySafeCritical?: boolean;\r\n readonly isSecurityTransparent?: boolean;\r\n memberType?: MemberTypes;\r\n\r\n constructor(data?: IConstructorInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType;\r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType;\r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module;\r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.methodHandle = data.methodHandle && !(data.methodHandle).toJSON ? new RuntimeMethodHandle(data.methodHandle) : this.methodHandle;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n this.attributes = _data[\"attributes\"];\r\n this.methodImplementationFlags = _data[\"methodImplementationFlags\"];\r\n this.callingConvention = _data[\"callingConvention\"];\r\n (this).isAbstract = _data[\"isAbstract\"];\r\n (this).isConstructor = _data[\"isConstructor\"];\r\n (this).isFinal = _data[\"isFinal\"];\r\n (this).isHideBySig = _data[\"isHideBySig\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n (this).isStatic = _data[\"isStatic\"];\r\n (this).isVirtual = _data[\"isVirtual\"];\r\n (this).isAssembly = _data[\"isAssembly\"];\r\n (this).isFamily = _data[\"isFamily\"];\r\n (this).isFamilyAndAssembly = _data[\"isFamilyAndAssembly\"];\r\n (this).isFamilyOrAssembly = _data[\"isFamilyOrAssembly\"];\r\n (this).isPrivate = _data[\"isPrivate\"];\r\n (this).isPublic = _data[\"isPublic\"];\r\n (this).isConstructedGenericMethod = _data[\"isConstructedGenericMethod\"];\r\n (this).isGenericMethod = _data[\"isGenericMethod\"];\r\n (this).isGenericMethodDefinition = _data[\"isGenericMethodDefinition\"];\r\n (this).containsGenericParameters = _data[\"containsGenericParameters\"];\r\n this.methodHandle = _data[\"methodHandle\"] ? RuntimeMethodHandle.fromJS(_data[\"methodHandle\"]) : undefined;\r\n (this).isSecurityCritical = _data[\"isSecurityCritical\"];\r\n (this).isSecuritySafeCritical = _data[\"isSecuritySafeCritical\"];\r\n (this).isSecurityTransparent = _data[\"isSecurityTransparent\"];\r\n this.memberType = _data[\"memberType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ConstructorInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ConstructorInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"methodImplementationFlags\"] = this.methodImplementationFlags;\r\n data[\"callingConvention\"] = this.callingConvention;\r\n data[\"isAbstract\"] = this.isAbstract;\r\n data[\"isConstructor\"] = this.isConstructor;\r\n data[\"isFinal\"] = this.isFinal;\r\n data[\"isHideBySig\"] = this.isHideBySig;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"isStatic\"] = this.isStatic;\r\n data[\"isVirtual\"] = this.isVirtual;\r\n data[\"isAssembly\"] = this.isAssembly;\r\n data[\"isFamily\"] = this.isFamily;\r\n data[\"isFamilyAndAssembly\"] = this.isFamilyAndAssembly;\r\n data[\"isFamilyOrAssembly\"] = this.isFamilyOrAssembly;\r\n data[\"isPrivate\"] = this.isPrivate;\r\n data[\"isPublic\"] = this.isPublic;\r\n data[\"isConstructedGenericMethod\"] = this.isConstructedGenericMethod;\r\n data[\"isGenericMethod\"] = this.isGenericMethod;\r\n data[\"isGenericMethodDefinition\"] = this.isGenericMethodDefinition;\r\n data[\"containsGenericParameters\"] = this.containsGenericParameters;\r\n data[\"methodHandle\"] = this.methodHandle ? this.methodHandle.toJSON() : undefined;\r\n data[\"isSecurityCritical\"] = this.isSecurityCritical;\r\n data[\"isSecuritySafeCritical\"] = this.isSecuritySafeCritical;\r\n data[\"isSecurityTransparent\"] = this.isSecurityTransparent;\r\n data[\"memberType\"] = this.memberType;\r\n return data;\r\n }\r\n\r\n clone(): ConstructorInfo {\r\n const json = this.toJSON();\r\n let result = new ConstructorInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IConstructorInfo {\r\n name?: string | undefined;\r\n declaringType?: IType;\r\n reflectedType?: IType;\r\n module?: IModule;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n attributes?: MethodAttributes;\r\n methodImplementationFlags?: MethodImplAttributes;\r\n callingConvention?: CallingConventions;\r\n isAbstract?: boolean;\r\n isConstructor?: boolean;\r\n isFinal?: boolean;\r\n isHideBySig?: boolean;\r\n isSpecialName?: boolean;\r\n isStatic?: boolean;\r\n isVirtual?: boolean;\r\n isAssembly?: boolean;\r\n isFamily?: boolean;\r\n isFamilyAndAssembly?: boolean;\r\n isFamilyOrAssembly?: boolean;\r\n isPrivate?: boolean;\r\n isPublic?: boolean;\r\n isConstructedGenericMethod?: boolean;\r\n isGenericMethod?: boolean;\r\n isGenericMethodDefinition?: boolean;\r\n containsGenericParameters?: boolean;\r\n methodHandle?: IRuntimeMethodHandle;\r\n isSecurityCritical?: boolean;\r\n isSecuritySafeCritical?: boolean;\r\n isSecurityTransparent?: boolean;\r\n memberType?: MemberTypes;\r\n}\r\n\r\nexport class Context implements IContext {\r\n setExistingEntityFieldsInGet?: boolean;\r\n\r\n constructor(data?: IContext) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.setExistingEntityFieldsInGet = _data[\"setExistingEntityFieldsInGet\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Context {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Context();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"setExistingEntityFieldsInGet\"] = this.setExistingEntityFieldsInGet;\r\n return data;\r\n }\r\n\r\n clone(): Context {\r\n const json = this.toJSON();\r\n let result = new Context();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IContext {\r\n setExistingEntityFieldsInGet?: boolean;\r\n}\r\n\r\nexport class CoQuanBanHanhInfo implements ICoQuanBanHanhInfo {\r\n id?: number;\r\n title?: string | undefined;\r\n dmDescription?: string | undefined;\r\n dmVietTat?: string | undefined;\r\n orderColumn?: number;\r\n titleEng?: string | undefined;\r\n dmIsDisplay?: boolean;\r\n dmCapCoQuan?: Dmcapcoquan;\r\n vbpqDonVi?: Vbpqdonvi[] | undefined;\r\n donViQuanLy?: Donviquanly;\r\n multipleDonVi?: string | undefined;\r\n hienThiHopNhat?: boolean;\r\n hienThiHopNhatTA?: boolean;\r\n hienThiSearchTA?: boolean;\r\n hienThiSearchTV?: boolean;\r\n isSearch?: boolean;\r\n isSearchMenuleftVBHN?: boolean;\r\n moderationStatus?: number;\r\n isSelectedInSearch?: string | undefined;\r\n version?: string | undefined;\r\n author?: Author;\r\n editor?: Editor;\r\n created?: Date;\r\n modified?: Date;\r\n listFileAttachAdd?: string[] | undefined;\r\n listFileAttach?: string[] | undefined;\r\n listFileRemove?: string[] | undefined;\r\n\r\n constructor(data?: ICoQuanBanHanhInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.dmCapCoQuan = data.dmCapCoQuan && !(data.dmCapCoQuan).toJSON ? new Dmcapcoquan(data.dmCapCoQuan) : this.dmCapCoQuan;\r\n if (data.vbpqDonVi) {\r\n this.vbpqDonVi = [];\r\n for (let i = 0; i < data.vbpqDonVi.length; i++) {\r\n let item = data.vbpqDonVi[i];\r\n this.vbpqDonVi[i] = item && !(item).toJSON ? new Vbpqdonvi(item) : item;\r\n }\r\n }\r\n this.donViQuanLy = data.donViQuanLy && !(data.donViQuanLy).toJSON ? new Donviquanly(data.donViQuanLy) : this.donViQuanLy;\r\n this.author = data.author && !(data.author).toJSON ? new Author(data.author) : this.author;\r\n this.editor = data.editor && !(data.editor).toJSON ? new Editor(data.editor) : this.editor;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.title = _data[\"title\"];\r\n this.dmDescription = _data[\"dmDescription\"];\r\n this.dmVietTat = _data[\"dmVietTat\"];\r\n this.orderColumn = _data[\"orderColumn\"];\r\n this.titleEng = _data[\"titleEng\"];\r\n this.dmIsDisplay = _data[\"dmIsDisplay\"];\r\n this.dmCapCoQuan = _data[\"dmCapCoQuan\"] ? Dmcapcoquan.fromJS(_data[\"dmCapCoQuan\"]) : undefined;\r\n if (Array.isArray(_data[\"vbpqDonVi\"])) {\r\n this.vbpqDonVi = [] as any;\r\n for (let item of _data[\"vbpqDonVi\"])\r\n this.vbpqDonVi!.push(Vbpqdonvi.fromJS(item));\r\n }\r\n this.donViQuanLy = _data[\"donViQuanLy\"] ? Donviquanly.fromJS(_data[\"donViQuanLy\"]) : undefined;\r\n this.multipleDonVi = _data[\"multipleDonVi\"];\r\n this.hienThiHopNhat = _data[\"hienThiHopNhat\"];\r\n this.hienThiHopNhatTA = _data[\"hienThiHopNhatTA\"];\r\n this.hienThiSearchTA = _data[\"hienThiSearchTA\"];\r\n this.hienThiSearchTV = _data[\"hienThiSearchTV\"];\r\n this.isSearch = _data[\"isSearch\"];\r\n this.isSearchMenuleftVBHN = _data[\"isSearchMenuleftVBHN\"];\r\n this.moderationStatus = _data[\"moderationStatus\"];\r\n this.isSelectedInSearch = _data[\"isSelectedInSearch\"];\r\n this.version = _data[\"version\"];\r\n this.author = _data[\"author\"] ? Author.fromJS(_data[\"author\"]) : undefined;\r\n this.editor = _data[\"editor\"] ? Editor.fromJS(_data[\"editor\"]) : undefined;\r\n this.created = _data[\"created\"] ? new Date(_data[\"created\"].toString()) : undefined;\r\n this.modified = _data[\"modified\"] ? new Date(_data[\"modified\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"listFileAttachAdd\"])) {\r\n this.listFileAttachAdd = [] as any;\r\n for (let item of _data[\"listFileAttachAdd\"])\r\n this.listFileAttachAdd!.push(item);\r\n }\r\n if (Array.isArray(_data[\"listFileAttach\"])) {\r\n this.listFileAttach = [] as any;\r\n for (let item of _data[\"listFileAttach\"])\r\n this.listFileAttach!.push(item);\r\n }\r\n if (Array.isArray(_data[\"listFileRemove\"])) {\r\n this.listFileRemove = [] as any;\r\n for (let item of _data[\"listFileRemove\"])\r\n this.listFileRemove!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CoQuanBanHanhInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CoQuanBanHanhInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"title\"] = this.title;\r\n data[\"dmDescription\"] = this.dmDescription;\r\n data[\"dmVietTat\"] = this.dmVietTat;\r\n data[\"orderColumn\"] = this.orderColumn;\r\n data[\"titleEng\"] = this.titleEng;\r\n data[\"dmIsDisplay\"] = this.dmIsDisplay;\r\n data[\"dmCapCoQuan\"] = this.dmCapCoQuan ? this.dmCapCoQuan.toJSON() : undefined;\r\n if (Array.isArray(this.vbpqDonVi)) {\r\n data[\"vbpqDonVi\"] = [];\r\n for (let item of this.vbpqDonVi)\r\n data[\"vbpqDonVi\"].push(item.toJSON());\r\n }\r\n data[\"donViQuanLy\"] = this.donViQuanLy ? this.donViQuanLy.toJSON() : undefined;\r\n data[\"multipleDonVi\"] = this.multipleDonVi;\r\n data[\"hienThiHopNhat\"] = this.hienThiHopNhat;\r\n data[\"hienThiHopNhatTA\"] = this.hienThiHopNhatTA;\r\n data[\"hienThiSearchTA\"] = this.hienThiSearchTA;\r\n data[\"hienThiSearchTV\"] = this.hienThiSearchTV;\r\n data[\"isSearch\"] = this.isSearch;\r\n data[\"isSearchMenuleftVBHN\"] = this.isSearchMenuleftVBHN;\r\n data[\"moderationStatus\"] = this.moderationStatus;\r\n data[\"isSelectedInSearch\"] = this.isSelectedInSearch;\r\n data[\"version\"] = this.version;\r\n data[\"author\"] = this.author ? this.author.toJSON() : undefined;\r\n data[\"editor\"] = this.editor ? this.editor.toJSON() : undefined;\r\n data[\"created\"] = this.created ? this.created.toISOString() : undefined;\r\n data[\"modified\"] = this.modified ? this.modified.toISOString() : undefined;\r\n if (Array.isArray(this.listFileAttachAdd)) {\r\n data[\"listFileAttachAdd\"] = [];\r\n for (let item of this.listFileAttachAdd)\r\n data[\"listFileAttachAdd\"].push(item);\r\n }\r\n if (Array.isArray(this.listFileAttach)) {\r\n data[\"listFileAttach\"] = [];\r\n for (let item of this.listFileAttach)\r\n data[\"listFileAttach\"].push(item);\r\n }\r\n if (Array.isArray(this.listFileRemove)) {\r\n data[\"listFileRemove\"] = [];\r\n for (let item of this.listFileRemove)\r\n data[\"listFileRemove\"].push(item);\r\n }\r\n return data;\r\n }\r\n\r\n clone(): CoQuanBanHanhInfo {\r\n const json = this.toJSON();\r\n let result = new CoQuanBanHanhInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICoQuanBanHanhInfo {\r\n id?: number;\r\n title?: string | undefined;\r\n dmDescription?: string | undefined;\r\n dmVietTat?: string | undefined;\r\n orderColumn?: number;\r\n titleEng?: string | undefined;\r\n dmIsDisplay?: boolean;\r\n dmCapCoQuan?: IDmcapcoquan;\r\n vbpqDonVi?: IVbpqdonvi[] | undefined;\r\n donViQuanLy?: IDonviquanly;\r\n multipleDonVi?: string | undefined;\r\n hienThiHopNhat?: boolean;\r\n hienThiHopNhatTA?: boolean;\r\n hienThiSearchTA?: boolean;\r\n hienThiSearchTV?: boolean;\r\n isSearch?: boolean;\r\n isSearchMenuleftVBHN?: boolean;\r\n moderationStatus?: number;\r\n isSelectedInSearch?: string | undefined;\r\n version?: string | undefined;\r\n author?: IAuthor;\r\n editor?: IEditor;\r\n created?: Date;\r\n modified?: Date;\r\n listFileAttachAdd?: string[] | undefined;\r\n listFileAttach?: string[] | undefined;\r\n listFileRemove?: string[] | undefined;\r\n}\r\n\r\nexport class CoQuanBanHanhInfoListApiResponse implements ICoQuanBanHanhInfoListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: CoQuanBanHanhInfo[] | undefined;\r\n\r\n constructor(data?: ICoQuanBanHanhInfoListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new CoQuanBanHanhInfo(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(CoQuanBanHanhInfo.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CoQuanBanHanhInfoListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CoQuanBanHanhInfoListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): CoQuanBanHanhInfoListApiResponse {\r\n const json = this.toJSON();\r\n let result = new CoQuanBanHanhInfoListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICoQuanBanHanhInfoListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ICoQuanBanHanhInfo[] | undefined;\r\n}\r\n\r\nexport class CoQuanBienTapInfo implements ICoQuanBienTapInfo {\r\n id?: number;\r\n treeGroupId?: string | undefined;\r\n donViCap?: number;\r\n stt?: number;\r\n title?: string | undefined;\r\n titleEng?: string | undefined;\r\n donviVietTat?: string | undefined;\r\n donViUrl?: string | undefined;\r\n donViIsUsedCA?: boolean;\r\n dmIsDisplay?: boolean;\r\n donViIsTW?: boolean;\r\n donViDomain?: string | undefined;\r\n donViChinhThuc?: boolean;\r\n donviPrefix?: string | undefined;\r\n parentID?: Parentid;\r\n version?: string | undefined;\r\n author?: Author;\r\n editor?: Editor;\r\n created?: Date;\r\n modified?: Date;\r\n listFileAttachAdd?: string[] | undefined;\r\n listFileAttach?: string[] | undefined;\r\n listFileRemove?: string[] | undefined;\r\n\r\n constructor(data?: ICoQuanBienTapInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.parentID = data.parentID && !(data.parentID).toJSON ? new Parentid(data.parentID) : this.parentID;\r\n this.author = data.author && !(data.author).toJSON ? new Author(data.author) : this.author;\r\n this.editor = data.editor && !(data.editor).toJSON ? new Editor(data.editor) : this.editor;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.treeGroupId = _data[\"treeGroupId\"];\r\n this.donViCap = _data[\"donViCap\"];\r\n this.stt = _data[\"stt\"];\r\n this.title = _data[\"title\"];\r\n this.titleEng = _data[\"titleEng\"];\r\n this.donviVietTat = _data[\"donviVietTat\"];\r\n this.donViUrl = _data[\"donViUrl\"];\r\n this.donViIsUsedCA = _data[\"donViIsUsedCA\"];\r\n this.dmIsDisplay = _data[\"dmIsDisplay\"];\r\n this.donViIsTW = _data[\"donViIsTW\"];\r\n this.donViDomain = _data[\"donViDomain\"];\r\n this.donViChinhThuc = _data[\"donViChinhThuc\"];\r\n this.donviPrefix = _data[\"donviPrefix\"];\r\n this.parentID = _data[\"parentID\"] ? Parentid.fromJS(_data[\"parentID\"]) : undefined;\r\n this.version = _data[\"version\"];\r\n this.author = _data[\"author\"] ? Author.fromJS(_data[\"author\"]) : undefined;\r\n this.editor = _data[\"editor\"] ? Editor.fromJS(_data[\"editor\"]) : undefined;\r\n this.created = _data[\"created\"] ? new Date(_data[\"created\"].toString()) : undefined;\r\n this.modified = _data[\"modified\"] ? new Date(_data[\"modified\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"listFileAttachAdd\"])) {\r\n this.listFileAttachAdd = [] as any;\r\n for (let item of _data[\"listFileAttachAdd\"])\r\n this.listFileAttachAdd!.push(item);\r\n }\r\n if (Array.isArray(_data[\"listFileAttach\"])) {\r\n this.listFileAttach = [] as any;\r\n for (let item of _data[\"listFileAttach\"])\r\n this.listFileAttach!.push(item);\r\n }\r\n if (Array.isArray(_data[\"listFileRemove\"])) {\r\n this.listFileRemove = [] as any;\r\n for (let item of _data[\"listFileRemove\"])\r\n this.listFileRemove!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CoQuanBienTapInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CoQuanBienTapInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"treeGroupId\"] = this.treeGroupId;\r\n data[\"donViCap\"] = this.donViCap;\r\n data[\"stt\"] = this.stt;\r\n data[\"title\"] = this.title;\r\n data[\"titleEng\"] = this.titleEng;\r\n data[\"donviVietTat\"] = this.donviVietTat;\r\n data[\"donViUrl\"] = this.donViUrl;\r\n data[\"donViIsUsedCA\"] = this.donViIsUsedCA;\r\n data[\"dmIsDisplay\"] = this.dmIsDisplay;\r\n data[\"donViIsTW\"] = this.donViIsTW;\r\n data[\"donViDomain\"] = this.donViDomain;\r\n data[\"donViChinhThuc\"] = this.donViChinhThuc;\r\n data[\"donviPrefix\"] = this.donviPrefix;\r\n data[\"parentID\"] = this.parentID ? this.parentID.toJSON() : undefined;\r\n data[\"version\"] = this.version;\r\n data[\"author\"] = this.author ? this.author.toJSON() : undefined;\r\n data[\"editor\"] = this.editor ? this.editor.toJSON() : undefined;\r\n data[\"created\"] = this.created ? this.created.toISOString() : undefined;\r\n data[\"modified\"] = this.modified ? this.modified.toISOString() : undefined;\r\n if (Array.isArray(this.listFileAttachAdd)) {\r\n data[\"listFileAttachAdd\"] = [];\r\n for (let item of this.listFileAttachAdd)\r\n data[\"listFileAttachAdd\"].push(item);\r\n }\r\n if (Array.isArray(this.listFileAttach)) {\r\n data[\"listFileAttach\"] = [];\r\n for (let item of this.listFileAttach)\r\n data[\"listFileAttach\"].push(item);\r\n }\r\n if (Array.isArray(this.listFileRemove)) {\r\n data[\"listFileRemove\"] = [];\r\n for (let item of this.listFileRemove)\r\n data[\"listFileRemove\"].push(item);\r\n }\r\n return data;\r\n }\r\n\r\n clone(): CoQuanBienTapInfo {\r\n const json = this.toJSON();\r\n let result = new CoQuanBienTapInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICoQuanBienTapInfo {\r\n id?: number;\r\n treeGroupId?: string | undefined;\r\n donViCap?: number;\r\n stt?: number;\r\n title?: string | undefined;\r\n titleEng?: string | undefined;\r\n donviVietTat?: string | undefined;\r\n donViUrl?: string | undefined;\r\n donViIsUsedCA?: boolean;\r\n dmIsDisplay?: boolean;\r\n donViIsTW?: boolean;\r\n donViDomain?: string | undefined;\r\n donViChinhThuc?: boolean;\r\n donviPrefix?: string | undefined;\r\n parentID?: IParentid;\r\n version?: string | undefined;\r\n author?: IAuthor;\r\n editor?: IEditor;\r\n created?: Date;\r\n modified?: Date;\r\n listFileAttachAdd?: string[] | undefined;\r\n listFileAttach?: string[] | undefined;\r\n listFileRemove?: string[] | undefined;\r\n}\r\n\r\nexport class CoQuanBienTapInfoListApiResponse implements ICoQuanBienTapInfoListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: CoQuanBienTapInfo[] | undefined;\r\n\r\n constructor(data?: ICoQuanBienTapInfoListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new CoQuanBienTapInfo(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(CoQuanBienTapInfo.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CoQuanBienTapInfoListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CoQuanBienTapInfoListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): CoQuanBienTapInfoListApiResponse {\r\n const json = this.toJSON();\r\n let result = new CoQuanBienTapInfoListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICoQuanBienTapInfoListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ICoQuanBienTapInfo[] | undefined;\r\n}\r\n\r\nexport class CultureInfo implements ICultureInfo {\r\n parent?: CultureInfo;\r\n readonly lcid?: number;\r\n readonly keyboardLayoutId?: number;\r\n readonly name?: string | undefined;\r\n readonly ietfLanguageTag?: string | undefined;\r\n readonly displayName?: string | undefined;\r\n readonly nativeName?: string | undefined;\r\n readonly englishName?: string | undefined;\r\n readonly twoLetterISOLanguageName?: string | undefined;\r\n readonly threeLetterISOLanguageName?: string | undefined;\r\n readonly threeLetterWindowsLanguageName?: string | undefined;\r\n compareInfo?: CompareInfo;\r\n textInfo?: TextInfo;\r\n readonly isNeutralCulture?: boolean;\r\n cultureTypes?: CultureTypes;\r\n numberFormat?: NumberFormatInfo;\r\n dateTimeFormat?: DateTimeFormatInfo;\r\n calendar?: Calendar;\r\n readonly optionalCalendars?: Calendar[] | undefined;\r\n readonly useUserOverride?: boolean;\r\n readonly isReadOnly?: boolean;\r\n\r\n constructor(data?: ICultureInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.parent = data.parent && !(data.parent).toJSON ? new CultureInfo(data.parent) : this.parent;\r\n this.compareInfo = data.compareInfo && !(data.compareInfo).toJSON ? new CompareInfo(data.compareInfo) : this.compareInfo;\r\n this.textInfo = data.textInfo && !(data.textInfo).toJSON ? new TextInfo(data.textInfo) : this.textInfo;\r\n this.numberFormat = data.numberFormat && !(data.numberFormat).toJSON ? new NumberFormatInfo(data.numberFormat) : this.numberFormat;\r\n this.dateTimeFormat = data.dateTimeFormat && !(data.dateTimeFormat).toJSON ? new DateTimeFormatInfo(data.dateTimeFormat) : this.dateTimeFormat;\r\n this.calendar = data.calendar && !(data.calendar).toJSON ? new Calendar(data.calendar) : this.calendar;\r\n if (data.optionalCalendars) {\r\n this.optionalCalendars = [];\r\n for (let i = 0; i < data.optionalCalendars.length; i++) {\r\n let item = data.optionalCalendars[i];\r\n this.optionalCalendars[i] = item && !(item).toJSON ? new Calendar(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.parent = _data[\"parent\"] ? CultureInfo.fromJS(_data[\"parent\"]) : undefined;\r\n (this).lcid = _data[\"lcid\"];\r\n (this).keyboardLayoutId = _data[\"keyboardLayoutId\"];\r\n (this).name = _data[\"name\"];\r\n (this).ietfLanguageTag = _data[\"ietfLanguageTag\"];\r\n (this).displayName = _data[\"displayName\"];\r\n (this).nativeName = _data[\"nativeName\"];\r\n (this).englishName = _data[\"englishName\"];\r\n (this).twoLetterISOLanguageName = _data[\"twoLetterISOLanguageName\"];\r\n (this).threeLetterISOLanguageName = _data[\"threeLetterISOLanguageName\"];\r\n (this).threeLetterWindowsLanguageName = _data[\"threeLetterWindowsLanguageName\"];\r\n this.compareInfo = _data[\"compareInfo\"] ? CompareInfo.fromJS(_data[\"compareInfo\"]) : undefined;\r\n this.textInfo = _data[\"textInfo\"] ? TextInfo.fromJS(_data[\"textInfo\"]) : undefined;\r\n (this).isNeutralCulture = _data[\"isNeutralCulture\"];\r\n this.cultureTypes = _data[\"cultureTypes\"];\r\n this.numberFormat = _data[\"numberFormat\"] ? NumberFormatInfo.fromJS(_data[\"numberFormat\"]) : undefined;\r\n this.dateTimeFormat = _data[\"dateTimeFormat\"] ? DateTimeFormatInfo.fromJS(_data[\"dateTimeFormat\"]) : undefined;\r\n this.calendar = _data[\"calendar\"] ? Calendar.fromJS(_data[\"calendar\"]) : undefined;\r\n if (Array.isArray(_data[\"optionalCalendars\"])) {\r\n (this).optionalCalendars = [] as any;\r\n for (let item of _data[\"optionalCalendars\"])\r\n (this).optionalCalendars!.push(Calendar.fromJS(item));\r\n }\r\n (this).useUserOverride = _data[\"useUserOverride\"];\r\n (this).isReadOnly = _data[\"isReadOnly\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CultureInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CultureInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"parent\"] = this.parent ? this.parent.toJSON() : undefined;\r\n data[\"lcid\"] = this.lcid;\r\n data[\"keyboardLayoutId\"] = this.keyboardLayoutId;\r\n data[\"name\"] = this.name;\r\n data[\"ietfLanguageTag\"] = this.ietfLanguageTag;\r\n data[\"displayName\"] = this.displayName;\r\n data[\"nativeName\"] = this.nativeName;\r\n data[\"englishName\"] = this.englishName;\r\n data[\"twoLetterISOLanguageName\"] = this.twoLetterISOLanguageName;\r\n data[\"threeLetterISOLanguageName\"] = this.threeLetterISOLanguageName;\r\n data[\"threeLetterWindowsLanguageName\"] = this.threeLetterWindowsLanguageName;\r\n data[\"compareInfo\"] = this.compareInfo ? this.compareInfo.toJSON() : undefined;\r\n data[\"textInfo\"] = this.textInfo ? this.textInfo.toJSON() : undefined;\r\n data[\"isNeutralCulture\"] = this.isNeutralCulture;\r\n data[\"cultureTypes\"] = this.cultureTypes;\r\n data[\"numberFormat\"] = this.numberFormat ? this.numberFormat.toJSON() : undefined;\r\n data[\"dateTimeFormat\"] = this.dateTimeFormat ? this.dateTimeFormat.toJSON() : undefined;\r\n data[\"calendar\"] = this.calendar ? this.calendar.toJSON() : undefined;\r\n if (Array.isArray(this.optionalCalendars)) {\r\n data[\"optionalCalendars\"] = [];\r\n for (let item of this.optionalCalendars)\r\n data[\"optionalCalendars\"].push(item.toJSON());\r\n }\r\n data[\"useUserOverride\"] = this.useUserOverride;\r\n data[\"isReadOnly\"] = this.isReadOnly;\r\n return data;\r\n }\r\n\r\n clone(): CultureInfo {\r\n const json = this.toJSON();\r\n let result = new CultureInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICultureInfo {\r\n parent?: ICultureInfo;\r\n lcid?: number;\r\n keyboardLayoutId?: number;\r\n name?: string | undefined;\r\n ietfLanguageTag?: string | undefined;\r\n displayName?: string | undefined;\r\n nativeName?: string | undefined;\r\n englishName?: string | undefined;\r\n twoLetterISOLanguageName?: string | undefined;\r\n threeLetterISOLanguageName?: string | undefined;\r\n threeLetterWindowsLanguageName?: string | undefined;\r\n compareInfo?: ICompareInfo;\r\n textInfo?: ITextInfo;\r\n isNeutralCulture?: boolean;\r\n cultureTypes?: CultureTypes;\r\n numberFormat?: INumberFormatInfo;\r\n dateTimeFormat?: IDateTimeFormatInfo;\r\n calendar?: ICalendar;\r\n optionalCalendars?: ICalendar[] | undefined;\r\n useUserOverride?: boolean;\r\n isReadOnly?: boolean;\r\n}\r\n\r\nexport enum CultureTypes {\r\n _1 = 1,\r\n _2 = 2,\r\n _4 = 4,\r\n _7 = 7,\r\n _8 = 8,\r\n _16 = 16,\r\n _32 = 32,\r\n _64 = 64,\r\n}\r\n\r\nexport class CustomAttributeData implements ICustomAttributeData {\r\n attributeType?: Type;\r\n constructor_?: ConstructorInfo;\r\n readonly constructorArguments?: CustomAttributeTypedArgument[] | undefined;\r\n readonly namedArguments?: CustomAttributeNamedArgument[] | undefined;\r\n\r\n constructor(data?: ICustomAttributeData) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.attributeType = data.attributeType && !(data.attributeType).toJSON ? new Type(data.attributeType) : this.attributeType;\r\n this.constructor_ = data.constructor_ && !(data.constructor_).toJSON ? new ConstructorInfo(data.constructor_) : this.constructor_;\r\n if (data.constructorArguments) {\r\n this.constructorArguments = [];\r\n for (let i = 0; i < data.constructorArguments.length; i++) {\r\n let item = data.constructorArguments[i];\r\n this.constructorArguments[i] = item && !(item).toJSON ? new CustomAttributeTypedArgument(item) : item;\r\n }\r\n }\r\n if (data.namedArguments) {\r\n this.namedArguments = [];\r\n for (let i = 0; i < data.namedArguments.length; i++) {\r\n let item = data.namedArguments[i];\r\n this.namedArguments[i] = item && !(item).toJSON ? new CustomAttributeNamedArgument(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.attributeType = _data[\"attributeType\"] ? Type.fromJS(_data[\"attributeType\"]) : undefined;\r\n this.constructor_ = _data[\"constructor\"] ? ConstructorInfo.fromJS(_data[\"constructor\"]) : undefined;\r\n if (Array.isArray(_data[\"constructorArguments\"])) {\r\n (this).constructorArguments = [] as any;\r\n for (let item of _data[\"constructorArguments\"])\r\n (this).constructorArguments!.push(CustomAttributeTypedArgument.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"namedArguments\"])) {\r\n (this).namedArguments = [] as any;\r\n for (let item of _data[\"namedArguments\"])\r\n (this).namedArguments!.push(CustomAttributeNamedArgument.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CustomAttributeData {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CustomAttributeData();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"attributeType\"] = this.attributeType ? this.attributeType.toJSON() : undefined;\r\n data[\"constructor\"] = this.constructor_ ? this.constructor_.toJSON() : undefined;\r\n if (Array.isArray(this.constructorArguments)) {\r\n data[\"constructorArguments\"] = [];\r\n for (let item of this.constructorArguments)\r\n data[\"constructorArguments\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.namedArguments)) {\r\n data[\"namedArguments\"] = [];\r\n for (let item of this.namedArguments)\r\n data[\"namedArguments\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): CustomAttributeData {\r\n const json = this.toJSON();\r\n let result = new CustomAttributeData();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICustomAttributeData {\r\n attributeType?: IType;\r\n constructor_?: IConstructorInfo;\r\n constructorArguments?: ICustomAttributeTypedArgument[] | undefined;\r\n namedArguments?: ICustomAttributeNamedArgument[] | undefined;\r\n}\r\n\r\nexport class CustomAttributeNamedArgument implements ICustomAttributeNamedArgument {\r\n memberInfo?: MemberInfo;\r\n typedValue?: CustomAttributeTypedArgument;\r\n readonly memberName?: string | undefined;\r\n readonly isField?: boolean;\r\n\r\n constructor(data?: ICustomAttributeNamedArgument) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.memberInfo = data.memberInfo && !(data.memberInfo).toJSON ? new MemberInfo(data.memberInfo) : this.memberInfo;\r\n this.typedValue = data.typedValue && !(data.typedValue).toJSON ? new CustomAttributeTypedArgument(data.typedValue) : this.typedValue;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberInfo = _data[\"memberInfo\"] ? MemberInfo.fromJS(_data[\"memberInfo\"]) : undefined;\r\n this.typedValue = _data[\"typedValue\"] ? CustomAttributeTypedArgument.fromJS(_data[\"typedValue\"]) : undefined;\r\n (this).memberName = _data[\"memberName\"];\r\n (this).isField = _data[\"isField\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CustomAttributeNamedArgument {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CustomAttributeNamedArgument();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberInfo\"] = this.memberInfo ? this.memberInfo.toJSON() : undefined;\r\n data[\"typedValue\"] = this.typedValue ? this.typedValue.toJSON() : undefined;\r\n data[\"memberName\"] = this.memberName;\r\n data[\"isField\"] = this.isField;\r\n return data;\r\n }\r\n\r\n clone(): CustomAttributeNamedArgument {\r\n const json = this.toJSON();\r\n let result = new CustomAttributeNamedArgument();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICustomAttributeNamedArgument {\r\n memberInfo?: IMemberInfo;\r\n typedValue?: ICustomAttributeTypedArgument;\r\n memberName?: string | undefined;\r\n isField?: boolean;\r\n}\r\n\r\nexport class CustomAttributeTypedArgument implements ICustomAttributeTypedArgument {\r\n argumentType?: Type;\r\n readonly value?: any | undefined;\r\n\r\n constructor(data?: ICustomAttributeTypedArgument) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.argumentType = data.argumentType && !(data.argumentType).toJSON ? new Type(data.argumentType) : this.argumentType;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.argumentType = _data[\"argumentType\"] ? Type.fromJS(_data[\"argumentType\"]) : undefined;\r\n (this).value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CustomAttributeTypedArgument {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CustomAttributeTypedArgument();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"argumentType\"] = this.argumentType ? this.argumentType.toJSON() : undefined;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n\r\n clone(): CustomAttributeTypedArgument {\r\n const json = this.toJSON();\r\n let result = new CustomAttributeTypedArgument();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ICustomAttributeTypedArgument {\r\n argumentType?: IType;\r\n value?: any | undefined;\r\n}\r\n\r\nexport class DangkychiaseEntity implements IDangkychiaseEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n dieukhoan?: number;\r\n donvicongtac?: string | undefined;\r\n email?: string | undefined;\r\n hoten?: string | undefined;\r\n id?: number;\r\n motadulieu?: string | undefined;\r\n ngaydangky?: Date | undefined;\r\n sodt?: string | undefined;\r\n status?: number | undefined;\r\n tendulieu?: string | undefined;\r\n\r\n constructor(data?: IDangkychiaseEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.dieukhoan = _data[\"dieukhoan\"];\r\n this.donvicongtac = _data[\"donvicongtac\"];\r\n this.email = _data[\"email\"];\r\n this.hoten = _data[\"hoten\"];\r\n this.id = _data[\"id\"];\r\n this.motadulieu = _data[\"motadulieu\"];\r\n this.ngaydangky = _data[\"ngaydangky\"] ? new Date(_data[\"ngaydangky\"].toString()) : undefined;\r\n this.sodt = _data[\"sodt\"];\r\n this.status = _data[\"status\"];\r\n this.tendulieu = _data[\"tendulieu\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DangkychiaseEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DangkychiaseEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"dieukhoan\"] = this.dieukhoan;\r\n data[\"donvicongtac\"] = this.donvicongtac;\r\n data[\"email\"] = this.email;\r\n data[\"hoten\"] = this.hoten;\r\n data[\"id\"] = this.id;\r\n data[\"motadulieu\"] = this.motadulieu;\r\n data[\"ngaydangky\"] = this.ngaydangky ? this.ngaydangky.toISOString() : undefined;\r\n data[\"sodt\"] = this.sodt;\r\n data[\"status\"] = this.status;\r\n data[\"tendulieu\"] = this.tendulieu;\r\n return data;\r\n }\r\n\r\n clone(): DangkychiaseEntity {\r\n const json = this.toJSON();\r\n let result = new DangkychiaseEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDangkychiaseEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n dieukhoan?: number;\r\n donvicongtac?: string | undefined;\r\n email?: string | undefined;\r\n hoten?: string | undefined;\r\n id?: number;\r\n motadulieu?: string | undefined;\r\n ngaydangky?: Date | undefined;\r\n sodt?: string | undefined;\r\n status?: number | undefined;\r\n tendulieu?: string | undefined;\r\n}\r\n\r\nexport class DangkychiaseEntityApiResponse implements IDangkychiaseEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DangkychiaseEntity;\r\n\r\n constructor(data?: IDangkychiaseEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DangkychiaseEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DangkychiaseEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DangkychiaseEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DangkychiaseEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): DangkychiaseEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DangkychiaseEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDangkychiaseEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDangkychiaseEntity;\r\n}\r\n\r\nexport class DataColumn implements IDataColumn {\r\n site?: ISite;\r\n container?: IContainer;\r\n readonly designMode?: boolean;\r\n allowDBNull?: boolean;\r\n autoIncrement?: boolean;\r\n autoIncrementSeed?: number;\r\n autoIncrementStep?: number;\r\n caption?: string | undefined;\r\n columnName?: string | undefined;\r\n prefix?: string | undefined;\r\n dataType?: Type;\r\n dateTimeMode?: DataSetDateTime;\r\n defaultValue?: any | undefined;\r\n expression?: string | undefined;\r\n readonly extendedProperties?: { [key: string]: any; } | undefined;\r\n maxLength?: number;\r\n namespace?: string | undefined;\r\n readonly ordinal?: number;\r\n readOnly?: boolean;\r\n table?: DataTable;\r\n unique?: boolean;\r\n columnMapping?: MappingType;\r\n\r\n constructor(data?: IDataColumn) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.site = data.site && !(data.site).toJSON ? new ISite(data.site) : this.site;\r\n this.container = data.container && !(data.container).toJSON ? new IContainer(data.container) : this.container;\r\n this.dataType = data.dataType && !(data.dataType).toJSON ? new Type(data.dataType) : this.dataType;\r\n this.table = data.table && !(data.table).toJSON ? new DataTable(data.table) : this.table;\r\n }\r\n if (!data) {\r\n this.allowDBNull = true;\r\n this.autoIncrement = false;\r\n this.autoIncrementSeed = 0;\r\n this.autoIncrementStep = 1;\r\n this.columnName = \"\";\r\n this.prefix = \"\";\r\n this.expression = \"\";\r\n this.maxLength = -1;\r\n this.readOnly = false;\r\n this.unique = false;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.site = _data[\"site\"] ? ISite.fromJS(_data[\"site\"]) : undefined;\r\n this.container = _data[\"container\"] ? IContainer.fromJS(_data[\"container\"]) : undefined;\r\n (this).designMode = _data[\"designMode\"];\r\n this.allowDBNull = _data[\"allowDBNull\"] !== undefined ? _data[\"allowDBNull\"] : true;\r\n this.autoIncrement = _data[\"autoIncrement\"] !== undefined ? _data[\"autoIncrement\"] : false;\r\n this.autoIncrementSeed = _data[\"autoIncrementSeed\"] !== undefined ? _data[\"autoIncrementSeed\"] : 0;\r\n this.autoIncrementStep = _data[\"autoIncrementStep\"] !== undefined ? _data[\"autoIncrementStep\"] : 1;\r\n this.caption = _data[\"caption\"];\r\n this.columnName = _data[\"columnName\"] !== undefined ? _data[\"columnName\"] : \"\";\r\n this.prefix = _data[\"prefix\"] !== undefined ? _data[\"prefix\"] : \"\";\r\n this.dataType = _data[\"dataType\"] ? Type.fromJS(_data[\"dataType\"]) : undefined;\r\n this.dateTimeMode = _data[\"dateTimeMode\"];\r\n this.defaultValue = _data[\"defaultValue\"];\r\n this.expression = _data[\"expression\"] !== undefined ? _data[\"expression\"] : \"\";\r\n if (_data[\"extendedProperties\"]) {\r\n (this).extendedProperties = {} as any;\r\n for (let key in _data[\"extendedProperties\"]) {\r\n if (_data[\"extendedProperties\"].hasOwnProperty(key))\r\n ((this).extendedProperties)![key] = _data[\"extendedProperties\"][key];\r\n }\r\n }\r\n this.maxLength = _data[\"maxLength\"] !== undefined ? _data[\"maxLength\"] : -1;\r\n this.namespace = _data[\"namespace\"];\r\n (this).ordinal = _data[\"ordinal\"];\r\n this.readOnly = _data[\"readOnly\"] !== undefined ? _data[\"readOnly\"] : false;\r\n this.table = _data[\"table\"] ? DataTable.fromJS(_data[\"table\"]) : undefined;\r\n this.unique = _data[\"unique\"] !== undefined ? _data[\"unique\"] : false;\r\n this.columnMapping = _data[\"columnMapping\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DataColumn {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DataColumn();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"site\"] = this.site ? this.site.toJSON() : undefined;\r\n data[\"container\"] = this.container ? this.container.toJSON() : undefined;\r\n data[\"designMode\"] = this.designMode;\r\n data[\"allowDBNull\"] = this.allowDBNull;\r\n data[\"autoIncrement\"] = this.autoIncrement;\r\n data[\"autoIncrementSeed\"] = this.autoIncrementSeed;\r\n data[\"autoIncrementStep\"] = this.autoIncrementStep;\r\n data[\"caption\"] = this.caption;\r\n data[\"columnName\"] = this.columnName;\r\n data[\"prefix\"] = this.prefix;\r\n data[\"dataType\"] = this.dataType ? this.dataType.toJSON() : undefined;\r\n data[\"dateTimeMode\"] = this.dateTimeMode;\r\n data[\"defaultValue\"] = this.defaultValue;\r\n data[\"expression\"] = this.expression;\r\n if (this.extendedProperties) {\r\n data[\"extendedProperties\"] = {};\r\n for (let key in this.extendedProperties) {\r\n if (this.extendedProperties.hasOwnProperty(key))\r\n (data[\"extendedProperties\"])[key] = (this.extendedProperties)[key];\r\n }\r\n }\r\n data[\"maxLength\"] = this.maxLength;\r\n data[\"namespace\"] = this.namespace;\r\n data[\"ordinal\"] = this.ordinal;\r\n data[\"readOnly\"] = this.readOnly;\r\n data[\"table\"] = this.table ? this.table.toJSON() : undefined;\r\n data[\"unique\"] = this.unique;\r\n data[\"columnMapping\"] = this.columnMapping;\r\n return data;\r\n }\r\n\r\n clone(): DataColumn {\r\n const json = this.toJSON();\r\n let result = new DataColumn();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDataColumn {\r\n site?: IISite;\r\n container?: IIContainer;\r\n designMode?: boolean;\r\n allowDBNull?: boolean;\r\n autoIncrement?: boolean;\r\n autoIncrementSeed?: number;\r\n autoIncrementStep?: number;\r\n caption?: string | undefined;\r\n columnName?: string | undefined;\r\n prefix?: string | undefined;\r\n dataType?: IType;\r\n dateTimeMode?: DataSetDateTime;\r\n defaultValue?: any | undefined;\r\n expression?: string | undefined;\r\n extendedProperties?: { [key: string]: any; } | undefined;\r\n maxLength?: number;\r\n namespace?: string | undefined;\r\n ordinal?: number;\r\n readOnly?: boolean;\r\n table?: IDataTable;\r\n unique?: boolean;\r\n columnMapping?: MappingType;\r\n}\r\n\r\nexport enum DataRowVersion {\r\n _256 = 256,\r\n _512 = 512,\r\n _1024 = 1024,\r\n _1536 = 1536,\r\n}\r\n\r\nexport class DataSet implements IDataSet {\r\n container?: IContainer;\r\n readonly designMode?: boolean;\r\n remotingFormat?: SerializationFormat;\r\n schemaSerializationMode?: SchemaSerializationMode;\r\n caseSensitive?: boolean;\r\n readonly defaultViewManager?: any[] | undefined;\r\n enforceConstraints?: boolean;\r\n dataSetName?: string | undefined;\r\n namespace?: string | undefined;\r\n prefix?: string | undefined;\r\n readonly extendedProperties?: { [key: string]: any; } | undefined;\r\n readonly hasErrors?: boolean;\r\n readonly isInitialized?: boolean;\r\n locale?: CultureInfo;\r\n site?: ISite;\r\n readonly relations?: any[] | undefined;\r\n readonly tables?: any[] | undefined;\r\n\r\n constructor(data?: IDataSet) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.container = data.container && !(data.container).toJSON ? new IContainer(data.container) : this.container;\r\n this.locale = data.locale && !(data.locale).toJSON ? new CultureInfo(data.locale) : this.locale;\r\n this.site = data.site && !(data.site).toJSON ? new ISite(data.site) : this.site;\r\n }\r\n if (!data) {\r\n this.caseSensitive = false;\r\n this.enforceConstraints = true;\r\n this.dataSetName = \"\";\r\n this.namespace = \"\";\r\n this.prefix = \"\";\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.container = _data[\"container\"] ? IContainer.fromJS(_data[\"container\"]) : undefined;\r\n (this).designMode = _data[\"designMode\"];\r\n this.remotingFormat = _data[\"remotingFormat\"];\r\n this.schemaSerializationMode = _data[\"schemaSerializationMode\"];\r\n this.caseSensitive = _data[\"caseSensitive\"] !== undefined ? _data[\"caseSensitive\"] : false;\r\n if (Array.isArray(_data[\"defaultViewManager\"])) {\r\n (this).defaultViewManager = [] as any;\r\n for (let item of _data[\"defaultViewManager\"])\r\n (this).defaultViewManager!.push(item);\r\n }\r\n this.enforceConstraints = _data[\"enforceConstraints\"] !== undefined ? _data[\"enforceConstraints\"] : true;\r\n this.dataSetName = _data[\"dataSetName\"] !== undefined ? _data[\"dataSetName\"] : \"\";\r\n this.namespace = _data[\"namespace\"] !== undefined ? _data[\"namespace\"] : \"\";\r\n this.prefix = _data[\"prefix\"] !== undefined ? _data[\"prefix\"] : \"\";\r\n if (_data[\"extendedProperties\"]) {\r\n (this).extendedProperties = {} as any;\r\n for (let key in _data[\"extendedProperties\"]) {\r\n if (_data[\"extendedProperties\"].hasOwnProperty(key))\r\n ((this).extendedProperties)![key] = _data[\"extendedProperties\"][key];\r\n }\r\n }\r\n (this).hasErrors = _data[\"hasErrors\"];\r\n (this).isInitialized = _data[\"isInitialized\"];\r\n this.locale = _data[\"locale\"] ? CultureInfo.fromJS(_data[\"locale\"]) : undefined;\r\n this.site = _data[\"site\"] ? ISite.fromJS(_data[\"site\"]) : undefined;\r\n if (Array.isArray(_data[\"relations\"])) {\r\n (this).relations = [] as any;\r\n for (let item of _data[\"relations\"])\r\n (this).relations!.push(item);\r\n }\r\n if (Array.isArray(_data[\"tables\"])) {\r\n (this).tables = [] as any;\r\n for (let item of _data[\"tables\"])\r\n (this).tables!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DataSet {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DataSet();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"container\"] = this.container ? this.container.toJSON() : undefined;\r\n data[\"designMode\"] = this.designMode;\r\n data[\"remotingFormat\"] = this.remotingFormat;\r\n data[\"schemaSerializationMode\"] = this.schemaSerializationMode;\r\n data[\"caseSensitive\"] = this.caseSensitive;\r\n if (Array.isArray(this.defaultViewManager)) {\r\n data[\"defaultViewManager\"] = [];\r\n for (let item of this.defaultViewManager)\r\n data[\"defaultViewManager\"].push(item);\r\n }\r\n data[\"enforceConstraints\"] = this.enforceConstraints;\r\n data[\"dataSetName\"] = this.dataSetName;\r\n data[\"namespace\"] = this.namespace;\r\n data[\"prefix\"] = this.prefix;\r\n if (this.extendedProperties) {\r\n data[\"extendedProperties\"] = {};\r\n for (let key in this.extendedProperties) {\r\n if (this.extendedProperties.hasOwnProperty(key))\r\n (data[\"extendedProperties\"])[key] = (this.extendedProperties)[key];\r\n }\r\n }\r\n data[\"hasErrors\"] = this.hasErrors;\r\n data[\"isInitialized\"] = this.isInitialized;\r\n data[\"locale\"] = this.locale ? this.locale.toJSON() : undefined;\r\n data[\"site\"] = this.site ? this.site.toJSON() : undefined;\r\n if (Array.isArray(this.relations)) {\r\n data[\"relations\"] = [];\r\n for (let item of this.relations)\r\n data[\"relations\"].push(item);\r\n }\r\n if (Array.isArray(this.tables)) {\r\n data[\"tables\"] = [];\r\n for (let item of this.tables)\r\n data[\"tables\"].push(item);\r\n }\r\n return data;\r\n }\r\n\r\n clone(): DataSet {\r\n const json = this.toJSON();\r\n let result = new DataSet();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDataSet {\r\n container?: IIContainer;\r\n designMode?: boolean;\r\n remotingFormat?: SerializationFormat;\r\n schemaSerializationMode?: SchemaSerializationMode;\r\n caseSensitive?: boolean;\r\n defaultViewManager?: any[] | undefined;\r\n enforceConstraints?: boolean;\r\n dataSetName?: string | undefined;\r\n namespace?: string | undefined;\r\n prefix?: string | undefined;\r\n extendedProperties?: { [key: string]: any; } | undefined;\r\n hasErrors?: boolean;\r\n isInitialized?: boolean;\r\n locale?: ICultureInfo;\r\n site?: IISite;\r\n relations?: any[] | undefined;\r\n tables?: any[] | undefined;\r\n}\r\n\r\nexport enum DataSetDateTime {\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n}\r\n\r\nexport class DataTable implements IDataTable {\r\n container?: IContainer;\r\n readonly designMode?: boolean;\r\n caseSensitive?: boolean;\r\n readonly isInitialized?: boolean;\r\n remotingFormat?: SerializationFormat;\r\n readonly childRelations?: any[] | undefined;\r\n readonly columns?: any[] | undefined;\r\n readonly constraints?: any[] | undefined;\r\n dataSet?: DataSet;\r\n readonly defaultView?: any[] | undefined;\r\n displayExpression?: string | undefined;\r\n readonly extendedProperties?: { [key: string]: any; } | undefined;\r\n readonly hasErrors?: boolean;\r\n locale?: CultureInfo;\r\n minimumCapacity?: number;\r\n readonly parentRelations?: any[] | undefined;\r\n primaryKey?: DataColumn[] | undefined;\r\n readonly rows?: any[] | undefined;\r\n tableName?: string | undefined;\r\n namespace?: string | undefined;\r\n prefix?: string | undefined;\r\n site?: ISite;\r\n\r\n constructor(data?: IDataTable) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.container = data.container && !(data.container).toJSON ? new IContainer(data.container) : this.container;\r\n this.dataSet = data.dataSet && !(data.dataSet).toJSON ? new DataSet(data.dataSet) : this.dataSet;\r\n this.locale = data.locale && !(data.locale).toJSON ? new CultureInfo(data.locale) : this.locale;\r\n if (data.primaryKey) {\r\n this.primaryKey = [];\r\n for (let i = 0; i < data.primaryKey.length; i++) {\r\n let item = data.primaryKey[i];\r\n this.primaryKey[i] = item && !(item).toJSON ? new DataColumn(item) : item;\r\n }\r\n }\r\n this.site = data.site && !(data.site).toJSON ? new ISite(data.site) : this.site;\r\n }\r\n if (!data) {\r\n this.displayExpression = \"\";\r\n this.minimumCapacity = 50;\r\n this.tableName = \"\";\r\n this.prefix = \"\";\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.container = _data[\"container\"] ? IContainer.fromJS(_data[\"container\"]) : undefined;\r\n (this).designMode = _data[\"designMode\"];\r\n this.caseSensitive = _data[\"caseSensitive\"];\r\n (this).isInitialized = _data[\"isInitialized\"];\r\n this.remotingFormat = _data[\"remotingFormat\"];\r\n if (Array.isArray(_data[\"childRelations\"])) {\r\n (this).childRelations = [] as any;\r\n for (let item of _data[\"childRelations\"])\r\n (this).childRelations!.push(item);\r\n }\r\n if (Array.isArray(_data[\"columns\"])) {\r\n (this).columns = [] as any;\r\n for (let item of _data[\"columns\"])\r\n (this).columns!.push(item);\r\n }\r\n if (Array.isArray(_data[\"constraints\"])) {\r\n (this).constraints = [] as any;\r\n for (let item of _data[\"constraints\"])\r\n (this).constraints!.push(item);\r\n }\r\n this.dataSet = _data[\"dataSet\"] ? DataSet.fromJS(_data[\"dataSet\"]) : undefined;\r\n if (Array.isArray(_data[\"defaultView\"])) {\r\n (this).defaultView = [] as any;\r\n for (let item of _data[\"defaultView\"])\r\n (this).defaultView!.push(item);\r\n }\r\n this.displayExpression = _data[\"displayExpression\"] !== undefined ? _data[\"displayExpression\"] : \"\";\r\n if (_data[\"extendedProperties\"]) {\r\n (this).extendedProperties = {} as any;\r\n for (let key in _data[\"extendedProperties\"]) {\r\n if (_data[\"extendedProperties\"].hasOwnProperty(key))\r\n ((this).extendedProperties)![key] = _data[\"extendedProperties\"][key];\r\n }\r\n }\r\n (this).hasErrors = _data[\"hasErrors\"];\r\n this.locale = _data[\"locale\"] ? CultureInfo.fromJS(_data[\"locale\"]) : undefined;\r\n this.minimumCapacity = _data[\"minimumCapacity\"] !== undefined ? _data[\"minimumCapacity\"] : 50;\r\n if (Array.isArray(_data[\"parentRelations\"])) {\r\n (this).parentRelations = [] as any;\r\n for (let item of _data[\"parentRelations\"])\r\n (this).parentRelations!.push(item);\r\n }\r\n if (Array.isArray(_data[\"primaryKey\"])) {\r\n this.primaryKey = [] as any;\r\n for (let item of _data[\"primaryKey\"])\r\n this.primaryKey!.push(DataColumn.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"rows\"])) {\r\n (this).rows = [] as any;\r\n for (let item of _data[\"rows\"])\r\n (this).rows!.push(item);\r\n }\r\n this.tableName = _data[\"tableName\"] !== undefined ? _data[\"tableName\"] : \"\";\r\n this.namespace = _data[\"namespace\"];\r\n this.prefix = _data[\"prefix\"] !== undefined ? _data[\"prefix\"] : \"\";\r\n this.site = _data[\"site\"] ? ISite.fromJS(_data[\"site\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DataTable {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DataTable();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"container\"] = this.container ? this.container.toJSON() : undefined;\r\n data[\"designMode\"] = this.designMode;\r\n data[\"caseSensitive\"] = this.caseSensitive;\r\n data[\"isInitialized\"] = this.isInitialized;\r\n data[\"remotingFormat\"] = this.remotingFormat;\r\n if (Array.isArray(this.childRelations)) {\r\n data[\"childRelations\"] = [];\r\n for (let item of this.childRelations)\r\n data[\"childRelations\"].push(item);\r\n }\r\n if (Array.isArray(this.columns)) {\r\n data[\"columns\"] = [];\r\n for (let item of this.columns)\r\n data[\"columns\"].push(item);\r\n }\r\n if (Array.isArray(this.constraints)) {\r\n data[\"constraints\"] = [];\r\n for (let item of this.constraints)\r\n data[\"constraints\"].push(item);\r\n }\r\n data[\"dataSet\"] = this.dataSet ? this.dataSet.toJSON() : undefined;\r\n if (Array.isArray(this.defaultView)) {\r\n data[\"defaultView\"] = [];\r\n for (let item of this.defaultView)\r\n data[\"defaultView\"].push(item);\r\n }\r\n data[\"displayExpression\"] = this.displayExpression;\r\n if (this.extendedProperties) {\r\n data[\"extendedProperties\"] = {};\r\n for (let key in this.extendedProperties) {\r\n if (this.extendedProperties.hasOwnProperty(key))\r\n (data[\"extendedProperties\"])[key] = (this.extendedProperties)[key];\r\n }\r\n }\r\n data[\"hasErrors\"] = this.hasErrors;\r\n data[\"locale\"] = this.locale ? this.locale.toJSON() : undefined;\r\n data[\"minimumCapacity\"] = this.minimumCapacity;\r\n if (Array.isArray(this.parentRelations)) {\r\n data[\"parentRelations\"] = [];\r\n for (let item of this.parentRelations)\r\n data[\"parentRelations\"].push(item);\r\n }\r\n if (Array.isArray(this.primaryKey)) {\r\n data[\"primaryKey\"] = [];\r\n for (let item of this.primaryKey)\r\n data[\"primaryKey\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.rows)) {\r\n data[\"rows\"] = [];\r\n for (let item of this.rows)\r\n data[\"rows\"].push(item);\r\n }\r\n data[\"tableName\"] = this.tableName;\r\n data[\"namespace\"] = this.namespace;\r\n data[\"prefix\"] = this.prefix;\r\n data[\"site\"] = this.site ? this.site.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): DataTable {\r\n const json = this.toJSON();\r\n let result = new DataTable();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDataTable {\r\n container?: IIContainer;\r\n designMode?: boolean;\r\n caseSensitive?: boolean;\r\n isInitialized?: boolean;\r\n remotingFormat?: SerializationFormat;\r\n childRelations?: any[] | undefined;\r\n columns?: any[] | undefined;\r\n constraints?: any[] | undefined;\r\n dataSet?: IDataSet;\r\n defaultView?: any[] | undefined;\r\n displayExpression?: string | undefined;\r\n extendedProperties?: { [key: string]: any; } | undefined;\r\n hasErrors?: boolean;\r\n locale?: ICultureInfo;\r\n minimumCapacity?: number;\r\n parentRelations?: any[] | undefined;\r\n primaryKey?: IDataColumn[] | undefined;\r\n rows?: any[] | undefined;\r\n tableName?: string | undefined;\r\n namespace?: string | undefined;\r\n prefix?: string | undefined;\r\n site?: IISite;\r\n}\r\n\r\nexport class DateTimeFormatInfo implements IDateTimeFormatInfo {\r\n amDesignator?: string | undefined;\r\n calendar?: Calendar;\r\n dateSeparator?: string | undefined;\r\n firstDayOfWeek?: DayOfWeek;\r\n calendarWeekRule?: CalendarWeekRule;\r\n fullDateTimePattern?: string | undefined;\r\n longDatePattern?: string | undefined;\r\n longTimePattern?: string | undefined;\r\n monthDayPattern?: string | undefined;\r\n pmDesignator?: string | undefined;\r\n readonly rfC1123Pattern?: string | undefined;\r\n shortDatePattern?: string | undefined;\r\n shortTimePattern?: string | undefined;\r\n readonly sortableDateTimePattern?: string | undefined;\r\n timeSeparator?: string | undefined;\r\n readonly universalSortableDateTimePattern?: string | undefined;\r\n yearMonthPattern?: string | undefined;\r\n abbreviatedDayNames?: string[] | undefined;\r\n shortestDayNames?: string[] | undefined;\r\n dayNames?: string[] | undefined;\r\n abbreviatedMonthNames?: string[] | undefined;\r\n monthNames?: string[] | undefined;\r\n readonly isReadOnly?: boolean;\r\n readonly nativeCalendarName?: string | undefined;\r\n abbreviatedMonthGenitiveNames?: string[] | undefined;\r\n monthGenitiveNames?: string[] | undefined;\r\n\r\n constructor(data?: IDateTimeFormatInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.calendar = data.calendar && !(data.calendar).toJSON ? new Calendar(data.calendar) : this.calendar;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.amDesignator = _data[\"amDesignator\"];\r\n this.calendar = _data[\"calendar\"] ? Calendar.fromJS(_data[\"calendar\"]) : undefined;\r\n this.dateSeparator = _data[\"dateSeparator\"];\r\n this.firstDayOfWeek = _data[\"firstDayOfWeek\"];\r\n this.calendarWeekRule = _data[\"calendarWeekRule\"];\r\n this.fullDateTimePattern = _data[\"fullDateTimePattern\"];\r\n this.longDatePattern = _data[\"longDatePattern\"];\r\n this.longTimePattern = _data[\"longTimePattern\"];\r\n this.monthDayPattern = _data[\"monthDayPattern\"];\r\n this.pmDesignator = _data[\"pmDesignator\"];\r\n (this).rfC1123Pattern = _data[\"rfC1123Pattern\"];\r\n this.shortDatePattern = _data[\"shortDatePattern\"];\r\n this.shortTimePattern = _data[\"shortTimePattern\"];\r\n (this).sortableDateTimePattern = _data[\"sortableDateTimePattern\"];\r\n this.timeSeparator = _data[\"timeSeparator\"];\r\n (this).universalSortableDateTimePattern = _data[\"universalSortableDateTimePattern\"];\r\n this.yearMonthPattern = _data[\"yearMonthPattern\"];\r\n if (Array.isArray(_data[\"abbreviatedDayNames\"])) {\r\n this.abbreviatedDayNames = [] as any;\r\n for (let item of _data[\"abbreviatedDayNames\"])\r\n this.abbreviatedDayNames!.push(item);\r\n }\r\n if (Array.isArray(_data[\"shortestDayNames\"])) {\r\n this.shortestDayNames = [] as any;\r\n for (let item of _data[\"shortestDayNames\"])\r\n this.shortestDayNames!.push(item);\r\n }\r\n if (Array.isArray(_data[\"dayNames\"])) {\r\n this.dayNames = [] as any;\r\n for (let item of _data[\"dayNames\"])\r\n this.dayNames!.push(item);\r\n }\r\n if (Array.isArray(_data[\"abbreviatedMonthNames\"])) {\r\n this.abbreviatedMonthNames = [] as any;\r\n for (let item of _data[\"abbreviatedMonthNames\"])\r\n this.abbreviatedMonthNames!.push(item);\r\n }\r\n if (Array.isArray(_data[\"monthNames\"])) {\r\n this.monthNames = [] as any;\r\n for (let item of _data[\"monthNames\"])\r\n this.monthNames!.push(item);\r\n }\r\n (this).isReadOnly = _data[\"isReadOnly\"];\r\n (this).nativeCalendarName = _data[\"nativeCalendarName\"];\r\n if (Array.isArray(_data[\"abbreviatedMonthGenitiveNames\"])) {\r\n this.abbreviatedMonthGenitiveNames = [] as any;\r\n for (let item of _data[\"abbreviatedMonthGenitiveNames\"])\r\n this.abbreviatedMonthGenitiveNames!.push(item);\r\n }\r\n if (Array.isArray(_data[\"monthGenitiveNames\"])) {\r\n this.monthGenitiveNames = [] as any;\r\n for (let item of _data[\"monthGenitiveNames\"])\r\n this.monthGenitiveNames!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DateTimeFormatInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DateTimeFormatInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"amDesignator\"] = this.amDesignator;\r\n data[\"calendar\"] = this.calendar ? this.calendar.toJSON() : undefined;\r\n data[\"dateSeparator\"] = this.dateSeparator;\r\n data[\"firstDayOfWeek\"] = this.firstDayOfWeek;\r\n data[\"calendarWeekRule\"] = this.calendarWeekRule;\r\n data[\"fullDateTimePattern\"] = this.fullDateTimePattern;\r\n data[\"longDatePattern\"] = this.longDatePattern;\r\n data[\"longTimePattern\"] = this.longTimePattern;\r\n data[\"monthDayPattern\"] = this.monthDayPattern;\r\n data[\"pmDesignator\"] = this.pmDesignator;\r\n data[\"rfC1123Pattern\"] = this.rfC1123Pattern;\r\n data[\"shortDatePattern\"] = this.shortDatePattern;\r\n data[\"shortTimePattern\"] = this.shortTimePattern;\r\n data[\"sortableDateTimePattern\"] = this.sortableDateTimePattern;\r\n data[\"timeSeparator\"] = this.timeSeparator;\r\n data[\"universalSortableDateTimePattern\"] = this.universalSortableDateTimePattern;\r\n data[\"yearMonthPattern\"] = this.yearMonthPattern;\r\n if (Array.isArray(this.abbreviatedDayNames)) {\r\n data[\"abbreviatedDayNames\"] = [];\r\n for (let item of this.abbreviatedDayNames)\r\n data[\"abbreviatedDayNames\"].push(item);\r\n }\r\n if (Array.isArray(this.shortestDayNames)) {\r\n data[\"shortestDayNames\"] = [];\r\n for (let item of this.shortestDayNames)\r\n data[\"shortestDayNames\"].push(item);\r\n }\r\n if (Array.isArray(this.dayNames)) {\r\n data[\"dayNames\"] = [];\r\n for (let item of this.dayNames)\r\n data[\"dayNames\"].push(item);\r\n }\r\n if (Array.isArray(this.abbreviatedMonthNames)) {\r\n data[\"abbreviatedMonthNames\"] = [];\r\n for (let item of this.abbreviatedMonthNames)\r\n data[\"abbreviatedMonthNames\"].push(item);\r\n }\r\n if (Array.isArray(this.monthNames)) {\r\n data[\"monthNames\"] = [];\r\n for (let item of this.monthNames)\r\n data[\"monthNames\"].push(item);\r\n }\r\n data[\"isReadOnly\"] = this.isReadOnly;\r\n data[\"nativeCalendarName\"] = this.nativeCalendarName;\r\n if (Array.isArray(this.abbreviatedMonthGenitiveNames)) {\r\n data[\"abbreviatedMonthGenitiveNames\"] = [];\r\n for (let item of this.abbreviatedMonthGenitiveNames)\r\n data[\"abbreviatedMonthGenitiveNames\"].push(item);\r\n }\r\n if (Array.isArray(this.monthGenitiveNames)) {\r\n data[\"monthGenitiveNames\"] = [];\r\n for (let item of this.monthGenitiveNames)\r\n data[\"monthGenitiveNames\"].push(item);\r\n }\r\n return data;\r\n }\r\n\r\n clone(): DateTimeFormatInfo {\r\n const json = this.toJSON();\r\n let result = new DateTimeFormatInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDateTimeFormatInfo {\r\n amDesignator?: string | undefined;\r\n calendar?: ICalendar;\r\n dateSeparator?: string | undefined;\r\n firstDayOfWeek?: DayOfWeek;\r\n calendarWeekRule?: CalendarWeekRule;\r\n fullDateTimePattern?: string | undefined;\r\n longDatePattern?: string | undefined;\r\n longTimePattern?: string | undefined;\r\n monthDayPattern?: string | undefined;\r\n pmDesignator?: string | undefined;\r\n rfC1123Pattern?: string | undefined;\r\n shortDatePattern?: string | undefined;\r\n shortTimePattern?: string | undefined;\r\n sortableDateTimePattern?: string | undefined;\r\n timeSeparator?: string | undefined;\r\n universalSortableDateTimePattern?: string | undefined;\r\n yearMonthPattern?: string | undefined;\r\n abbreviatedDayNames?: string[] | undefined;\r\n shortestDayNames?: string[] | undefined;\r\n dayNames?: string[] | undefined;\r\n abbreviatedMonthNames?: string[] | undefined;\r\n monthNames?: string[] | undefined;\r\n isReadOnly?: boolean;\r\n nativeCalendarName?: string | undefined;\r\n abbreviatedMonthGenitiveNames?: string[] | undefined;\r\n monthGenitiveNames?: string[] | undefined;\r\n}\r\n\r\nexport enum DayOfWeek {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n _6 = 6,\r\n}\r\n\r\nexport class DbParameter implements IDbParameter {\r\n dbType?: DbType;\r\n direction?: ParameterDirection;\r\n isNullable?: boolean;\r\n parameterName?: string | undefined;\r\n precision?: number;\r\n scale?: number;\r\n size?: number;\r\n sourceColumn?: string | undefined;\r\n sourceColumnNullMapping?: boolean;\r\n sourceVersion?: DataRowVersion;\r\n value?: any | undefined;\r\n\r\n constructor(data?: IDbParameter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n if (!data) {\r\n this.parameterName = \"\";\r\n this.sourceColumn = \"\";\r\n this.sourceColumnNullMapping = false;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.dbType = _data[\"dbType\"];\r\n this.direction = _data[\"direction\"];\r\n this.isNullable = _data[\"isNullable\"];\r\n this.parameterName = _data[\"parameterName\"] !== undefined ? _data[\"parameterName\"] : \"\";\r\n this.precision = _data[\"precision\"];\r\n this.scale = _data[\"scale\"];\r\n this.size = _data[\"size\"];\r\n this.sourceColumn = _data[\"sourceColumn\"] !== undefined ? _data[\"sourceColumn\"] : \"\";\r\n this.sourceColumnNullMapping = _data[\"sourceColumnNullMapping\"] !== undefined ? _data[\"sourceColumnNullMapping\"] : false;\r\n this.sourceVersion = _data[\"sourceVersion\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DbParameter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DbParameter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"dbType\"] = this.dbType;\r\n data[\"direction\"] = this.direction;\r\n data[\"isNullable\"] = this.isNullable;\r\n data[\"parameterName\"] = this.parameterName;\r\n data[\"precision\"] = this.precision;\r\n data[\"scale\"] = this.scale;\r\n data[\"size\"] = this.size;\r\n data[\"sourceColumn\"] = this.sourceColumn;\r\n data[\"sourceColumnNullMapping\"] = this.sourceColumnNullMapping;\r\n data[\"sourceVersion\"] = this.sourceVersion;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n\r\n clone(): DbParameter {\r\n const json = this.toJSON();\r\n let result = new DbParameter();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDbParameter {\r\n dbType?: DbType;\r\n direction?: ParameterDirection;\r\n isNullable?: boolean;\r\n parameterName?: string | undefined;\r\n precision?: number;\r\n scale?: number;\r\n size?: number;\r\n sourceColumn?: string | undefined;\r\n sourceColumnNullMapping?: boolean;\r\n sourceVersion?: DataRowVersion;\r\n value?: any | undefined;\r\n}\r\n\r\nexport class DbProviderFactory implements IDbProviderFactory {\r\n readonly canCreateBatch?: boolean;\r\n readonly canCreateDataSourceEnumerator?: boolean;\r\n readonly canCreateDataAdapter?: boolean;\r\n readonly canCreateCommandBuilder?: boolean;\r\n\r\n constructor(data?: IDbProviderFactory) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).canCreateBatch = _data[\"canCreateBatch\"];\r\n (this).canCreateDataSourceEnumerator = _data[\"canCreateDataSourceEnumerator\"];\r\n (this).canCreateDataAdapter = _data[\"canCreateDataAdapter\"];\r\n (this).canCreateCommandBuilder = _data[\"canCreateCommandBuilder\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DbProviderFactory {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DbProviderFactory();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"canCreateBatch\"] = this.canCreateBatch;\r\n data[\"canCreateDataSourceEnumerator\"] = this.canCreateDataSourceEnumerator;\r\n data[\"canCreateDataAdapter\"] = this.canCreateDataAdapter;\r\n data[\"canCreateCommandBuilder\"] = this.canCreateCommandBuilder;\r\n return data;\r\n }\r\n\r\n clone(): DbProviderFactory {\r\n const json = this.toJSON();\r\n let result = new DbProviderFactory();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDbProviderFactory {\r\n canCreateBatch?: boolean;\r\n canCreateDataSourceEnumerator?: boolean;\r\n canCreateDataAdapter?: boolean;\r\n canCreateCommandBuilder?: boolean;\r\n}\r\n\r\nexport enum DbType {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n _6 = 6,\r\n _7 = 7,\r\n _8 = 8,\r\n _9 = 9,\r\n _10 = 10,\r\n _11 = 11,\r\n _12 = 12,\r\n _13 = 13,\r\n _14 = 14,\r\n _15 = 15,\r\n _16 = 16,\r\n _17 = 17,\r\n _18 = 18,\r\n _19 = 19,\r\n _20 = 20,\r\n _21 = 21,\r\n _22 = 22,\r\n _23 = 23,\r\n _25 = 25,\r\n _26 = 26,\r\n _27 = 27,\r\n}\r\n\r\nexport enum DigitShapes {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n}\r\n\r\nexport class Dmcapcoquan implements IDmcapcoquan {\r\n lookupId?: number;\r\n lookupValue?: string | undefined;\r\n\r\n constructor(data?: IDmcapcoquan) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.lookupId = _data[\"lookupId\"];\r\n this.lookupValue = _data[\"lookupValue\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Dmcapcoquan {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Dmcapcoquan();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"lookupId\"] = this.lookupId;\r\n data[\"lookupValue\"] = this.lookupValue;\r\n return data;\r\n }\r\n\r\n clone(): Dmcapcoquan {\r\n const json = this.toJSON();\r\n let result = new Dmcapcoquan();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmcapcoquan {\r\n lookupId?: number;\r\n lookupValue?: string | undefined;\r\n}\r\n\r\nexport class DmChucVuDetailModel implements IDmChucVuDetailModel {\r\n id?: number;\r\n ten?: string | undefined;\r\n trangthai?: number;\r\n\r\n constructor(data?: IDmChucVuDetailModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.ten = _data[\"ten\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmChucVuDetailModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmChucVuDetailModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"ten\"] = this.ten;\r\n data[\"trangthai\"] = this.trangthai;\r\n return data;\r\n }\r\n\r\n clone(): DmChucVuDetailModel {\r\n const json = this.toJSON();\r\n let result = new DmChucVuDetailModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmChucVuDetailModel {\r\n id?: number;\r\n ten?: string | undefined;\r\n trangthai?: number;\r\n}\r\n\r\nexport class DmChucVuDetailModelIEnumerableApiResponse implements IDmChucVuDetailModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmChucVuDetailModel[] | undefined;\r\n\r\n constructor(data?: IDmChucVuDetailModelIEnumerableApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new DmChucVuDetailModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(DmChucVuDetailModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmChucVuDetailModelIEnumerableApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmChucVuDetailModelIEnumerableApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): DmChucVuDetailModelIEnumerableApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmChucVuDetailModelIEnumerableApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmChucVuDetailModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmChucVuDetailModel[] | undefined;\r\n}\r\n\r\nexport class DmchucvuEntity implements IDmchucvuEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n ten?: string | undefined;\r\n trangthai?: number;\r\n readonly tochucChucvus?: TochucChucvuEntity[] | undefined;\r\n\r\n constructor(data?: IDmchucvuEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n if (data.tochucChucvus) {\r\n this.tochucChucvus = [];\r\n for (let i = 0; i < data.tochucChucvus.length; i++) {\r\n let item = data.tochucChucvus[i];\r\n this.tochucChucvus[i] = item && !(item).toJSON ? new TochucChucvuEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.id = _data[\"id\"];\r\n this.ten = _data[\"ten\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n if (Array.isArray(_data[\"tochucChucvus\"])) {\r\n (this).tochucChucvus = [] as any;\r\n for (let item of _data[\"tochucChucvus\"])\r\n (this).tochucChucvus!.push(TochucChucvuEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmchucvuEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmchucvuEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"id\"] = this.id;\r\n data[\"ten\"] = this.ten;\r\n data[\"trangthai\"] = this.trangthai;\r\n if (Array.isArray(this.tochucChucvus)) {\r\n data[\"tochucChucvus\"] = [];\r\n for (let item of this.tochucChucvus)\r\n data[\"tochucChucvus\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): DmchucvuEntity {\r\n const json = this.toJSON();\r\n let result = new DmchucvuEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmchucvuEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n ten?: string | undefined;\r\n trangthai?: number;\r\n tochucChucvus?: ITochucChucvuEntity[] | undefined;\r\n}\r\n\r\nexport class DmchucvuEntityApiResponse implements IDmchucvuEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmchucvuEntity;\r\n\r\n constructor(data?: IDmchucvuEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmchucvuEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmchucvuEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmchucvuEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmchucvuEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): DmchucvuEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmchucvuEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmchucvuEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmchucvuEntity;\r\n}\r\n\r\nexport class DmChucVuModel implements IDmChucVuModel {\r\n id?: number;\r\n ten?: string | undefined;\r\n cap?: number | undefined;\r\n idToChuc?: number | undefined;\r\n toChucHienThi?: string | undefined;\r\n trangThai?: number | undefined;\r\n readonly trangThaiHienThi?: string | undefined;\r\n\r\n constructor(data?: IDmChucVuModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.ten = _data[\"ten\"];\r\n this.cap = _data[\"cap\"];\r\n this.idToChuc = _data[\"idToChuc\"];\r\n this.toChucHienThi = _data[\"toChucHienThi\"];\r\n this.trangThai = _data[\"trangThai\"];\r\n (this).trangThaiHienThi = _data[\"trangThaiHienThi\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmChucVuModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmChucVuModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"ten\"] = this.ten;\r\n data[\"cap\"] = this.cap;\r\n data[\"idToChuc\"] = this.idToChuc;\r\n data[\"toChucHienThi\"] = this.toChucHienThi;\r\n data[\"trangThai\"] = this.trangThai;\r\n data[\"trangThaiHienThi\"] = this.trangThaiHienThi;\r\n return data;\r\n }\r\n\r\n clone(): DmChucVuModel {\r\n const json = this.toJSON();\r\n let result = new DmChucVuModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmChucVuModel {\r\n id?: number;\r\n ten?: string | undefined;\r\n cap?: number | undefined;\r\n idToChuc?: number | undefined;\r\n toChucHienThi?: string | undefined;\r\n trangThai?: number | undefined;\r\n trangThaiHienThi?: string | undefined;\r\n}\r\n\r\nexport class DmChucVuModelApiResponse implements IDmChucVuModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmChucVuModel;\r\n\r\n constructor(data?: IDmChucVuModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmChucVuModel(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmChucVuModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmChucVuModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmChucVuModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): DmChucVuModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmChucVuModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmChucVuModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmChucVuModel;\r\n}\r\n\r\nexport class DmChucVuModelIEnumerablePageModelView implements IDmChucVuModelIEnumerablePageModelView {\r\n data?: DmChucVuModel[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IDmChucVuModelIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new DmChucVuModel(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(DmChucVuModel.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmChucVuModelIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmChucVuModelIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): DmChucVuModelIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new DmChucVuModelIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmChucVuModelIEnumerablePageModelView {\r\n data?: IDmChucVuModel[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class DmChucVuModelIEnumerablePageModelViewApiResponse implements IDmChucVuModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmChucVuModelIEnumerablePageModelView;\r\n\r\n constructor(data?: IDmChucVuModelIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmChucVuModelIEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmChucVuModelIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmChucVuModelIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmChucVuModelIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): DmChucVuModelIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmChucVuModelIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmChucVuModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmChucVuModelIEnumerablePageModelView;\r\n}\r\n\r\nexport class DmphongbanEntity implements IDmphongbanEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n ten?: string | undefined;\r\n trangthai?: number;\r\n unitcode?: string | undefined;\r\n sysunit?: SysunitEntity;\r\n\r\n constructor(data?: IDmphongbanEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n this.sysunit = data.sysunit && !(data.sysunit).toJSON ? new SysunitEntity(data.sysunit) : this.sysunit;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.id = _data[\"id\"];\r\n this.ten = _data[\"ten\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.unitcode = _data[\"unitcode\"];\r\n this.sysunit = _data[\"sysunit\"] ? SysunitEntity.fromJS(_data[\"sysunit\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmphongbanEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmphongbanEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"id\"] = this.id;\r\n data[\"ten\"] = this.ten;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"unitcode\"] = this.unitcode;\r\n data[\"sysunit\"] = this.sysunit ? this.sysunit.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): DmphongbanEntity {\r\n const json = this.toJSON();\r\n let result = new DmphongbanEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmphongbanEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n ten?: string | undefined;\r\n trangthai?: number;\r\n unitcode?: string | undefined;\r\n sysunit?: ISysunitEntity;\r\n}\r\n\r\nexport class DmphongbanEntityApiResponse implements IDmphongbanEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmphongbanEntity;\r\n\r\n constructor(data?: IDmphongbanEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmphongbanEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmphongbanEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmphongbanEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmphongbanEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): DmphongbanEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmphongbanEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmphongbanEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmphongbanEntity;\r\n}\r\n\r\nexport class DmPhongBanModel implements IDmPhongBanModel {\r\n id?: number;\r\n ten?: string | undefined;\r\n unitCode?: string | undefined;\r\n unitName?: string | undefined;\r\n trangThai?: number | undefined;\r\n readonly trangThaiHienThi?: string | undefined;\r\n\r\n constructor(data?: IDmPhongBanModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.ten = _data[\"ten\"];\r\n this.unitCode = _data[\"unitCode\"];\r\n this.unitName = _data[\"unitName\"];\r\n this.trangThai = _data[\"trangThai\"];\r\n (this).trangThaiHienThi = _data[\"trangThaiHienThi\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmPhongBanModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmPhongBanModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"ten\"] = this.ten;\r\n data[\"unitCode\"] = this.unitCode;\r\n data[\"unitName\"] = this.unitName;\r\n data[\"trangThai\"] = this.trangThai;\r\n data[\"trangThaiHienThi\"] = this.trangThaiHienThi;\r\n return data;\r\n }\r\n\r\n clone(): DmPhongBanModel {\r\n const json = this.toJSON();\r\n let result = new DmPhongBanModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmPhongBanModel {\r\n id?: number;\r\n ten?: string | undefined;\r\n unitCode?: string | undefined;\r\n unitName?: string | undefined;\r\n trangThai?: number | undefined;\r\n trangThaiHienThi?: string | undefined;\r\n}\r\n\r\nexport class DmPhongBanModelApiResponse implements IDmPhongBanModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmPhongBanModel;\r\n\r\n constructor(data?: IDmPhongBanModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmPhongBanModel(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmPhongBanModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmPhongBanModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmPhongBanModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): DmPhongBanModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmPhongBanModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmPhongBanModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmPhongBanModel;\r\n}\r\n\r\nexport class DmPhongBanModelIEnumerablePageModelView implements IDmPhongBanModelIEnumerablePageModelView {\r\n data?: DmPhongBanModel[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IDmPhongBanModelIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new DmPhongBanModel(item) : item;\r\n }\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(DmPhongBanModel.fromJS(item));\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmPhongBanModelIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmPhongBanModelIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): DmPhongBanModelIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new DmPhongBanModelIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmPhongBanModelIEnumerablePageModelView {\r\n data?: IDmPhongBanModel[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class DmPhongBanModelIEnumerablePageModelViewApiResponse implements IDmPhongBanModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmPhongBanModelIEnumerablePageModelView;\r\n\r\n constructor(data?: IDmPhongBanModelIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmPhongBanModelIEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmPhongBanModelIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmPhongBanModelIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmPhongBanModelIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): DmPhongBanModelIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmPhongBanModelIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmPhongBanModelIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmPhongBanModelIEnumerablePageModelView;\r\n}\r\n\r\nexport class DmToChucChucVuModel implements IDmToChucChucVuModel {\r\n idToChuc?: number;\r\n idChucVu?: number;\r\n cap?: number;\r\n\r\n constructor(data?: IDmToChucChucVuModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.idToChuc = _data[\"idToChuc\"];\r\n this.idChucVu = _data[\"idChucVu\"];\r\n this.cap = _data[\"cap\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmToChucChucVuModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmToChucChucVuModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"idToChuc\"] = this.idToChuc;\r\n data[\"idChucVu\"] = this.idChucVu;\r\n data[\"cap\"] = this.cap;\r\n return data;\r\n }\r\n\r\n clone(): DmToChucChucVuModel {\r\n const json = this.toJSON();\r\n let result = new DmToChucChucVuModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmToChucChucVuModel {\r\n idToChuc?: number;\r\n idChucVu?: number;\r\n cap?: number;\r\n}\r\n\r\nexport class DmtochucEntity implements IDmtochucEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n ten?: string | undefined;\r\n trangthai?: number;\r\n readonly sysunits?: SysunitEntity[] | undefined;\r\n readonly tochucChucvus?: TochucChucvuEntity[] | undefined;\r\n\r\n constructor(data?: IDmtochucEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n if (data.sysunits) {\r\n this.sysunits = [];\r\n for (let i = 0; i < data.sysunits.length; i++) {\r\n let item = data.sysunits[i];\r\n this.sysunits[i] = item && !(item).toJSON ? new SysunitEntity(item) : item;\r\n }\r\n }\r\n if (data.tochucChucvus) {\r\n this.tochucChucvus = [];\r\n for (let i = 0; i < data.tochucChucvus.length; i++) {\r\n let item = data.tochucChucvus[i];\r\n this.tochucChucvus[i] = item && !(item).toJSON ? new TochucChucvuEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.id = _data[\"id\"];\r\n this.ten = _data[\"ten\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n if (Array.isArray(_data[\"sysunits\"])) {\r\n (this).sysunits = [] as any;\r\n for (let item of _data[\"sysunits\"])\r\n (this).sysunits!.push(SysunitEntity.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"tochucChucvus\"])) {\r\n (this).tochucChucvus = [] as any;\r\n for (let item of _data[\"tochucChucvus\"])\r\n (this).tochucChucvus!.push(TochucChucvuEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmtochucEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmtochucEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"id\"] = this.id;\r\n data[\"ten\"] = this.ten;\r\n data[\"trangthai\"] = this.trangthai;\r\n if (Array.isArray(this.sysunits)) {\r\n data[\"sysunits\"] = [];\r\n for (let item of this.sysunits)\r\n data[\"sysunits\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.tochucChucvus)) {\r\n data[\"tochucChucvus\"] = [];\r\n for (let item of this.tochucChucvus)\r\n data[\"tochucChucvus\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): DmtochucEntity {\r\n const json = this.toJSON();\r\n let result = new DmtochucEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmtochucEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n ten?: string | undefined;\r\n trangthai?: number;\r\n sysunits?: ISysunitEntity[] | undefined;\r\n tochucChucvus?: ITochucChucvuEntity[] | undefined;\r\n}\r\n\r\nexport class DmtochucEntityApiResponse implements IDmtochucEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmtochucEntity;\r\n\r\n constructor(data?: IDmtochucEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmtochucEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmtochucEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmtochucEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmtochucEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): DmtochucEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmtochucEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmtochucEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmtochucEntity;\r\n}\r\n\r\nexport class DmToChucInsertUpdateModel implements IDmToChucInsertUpdateModel {\r\n dmToChuc?: DmToChucModel;\r\n listToChucChucVu?: DmToChucChucVuModel[] | undefined;\r\n\r\n constructor(data?: IDmToChucInsertUpdateModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.dmToChuc = data.dmToChuc && !(data.dmToChuc).toJSON ? new DmToChucModel(data.dmToChuc) : this.dmToChuc;\r\n if (data.listToChucChucVu) {\r\n this.listToChucChucVu = [];\r\n for (let i = 0; i < data.listToChucChucVu.length; i++) {\r\n let item = data.listToChucChucVu[i];\r\n this.listToChucChucVu[i] = item && !(item).toJSON ? new DmToChucChucVuModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.dmToChuc = _data[\"dmToChuc\"] ? DmToChucModel.fromJS(_data[\"dmToChuc\"]) : undefined;\r\n if (Array.isArray(_data[\"listToChucChucVu\"])) {\r\n this.listToChucChucVu = [] as any;\r\n for (let item of _data[\"listToChucChucVu\"])\r\n this.listToChucChucVu!.push(DmToChucChucVuModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmToChucInsertUpdateModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmToChucInsertUpdateModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"dmToChuc\"] = this.dmToChuc ? this.dmToChuc.toJSON() : undefined;\r\n if (Array.isArray(this.listToChucChucVu)) {\r\n data[\"listToChucChucVu\"] = [];\r\n for (let item of this.listToChucChucVu)\r\n data[\"listToChucChucVu\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): DmToChucInsertUpdateModel {\r\n const json = this.toJSON();\r\n let result = new DmToChucInsertUpdateModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmToChucInsertUpdateModel {\r\n dmToChuc?: IDmToChucModel;\r\n listToChucChucVu?: IDmToChucChucVuModel[] | undefined;\r\n}\r\n\r\nexport class DmToChucInsertUpdateModelApiResponse implements IDmToChucInsertUpdateModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmToChucInsertUpdateModel;\r\n\r\n constructor(data?: IDmToChucInsertUpdateModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new DmToChucInsertUpdateModel(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? DmToChucInsertUpdateModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmToChucInsertUpdateModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmToChucInsertUpdateModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): DmToChucInsertUpdateModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmToChucInsertUpdateModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmToChucInsertUpdateModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmToChucInsertUpdateModel;\r\n}\r\n\r\nexport class DmToChucModel implements IDmToChucModel {\r\n id?: number;\r\n ten?: string | undefined;\r\n trangThai?: number | undefined;\r\n\r\n constructor(data?: IDmToChucModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.ten = _data[\"ten\"];\r\n this.trangThai = _data[\"trangThai\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmToChucModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmToChucModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"ten\"] = this.ten;\r\n data[\"trangThai\"] = this.trangThai;\r\n return data;\r\n }\r\n\r\n clone(): DmToChucModel {\r\n const json = this.toJSON();\r\n let result = new DmToChucModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmToChucModel {\r\n id?: number;\r\n ten?: string | undefined;\r\n trangThai?: number | undefined;\r\n}\r\n\r\nexport class DmToChucModelIEnumerableApiResponse implements IDmToChucModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: DmToChucModel[] | undefined;\r\n\r\n constructor(data?: IDmToChucModelIEnumerableApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new DmToChucModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(DmToChucModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DmToChucModelIEnumerableApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DmToChucModelIEnumerableApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): DmToChucModelIEnumerableApiResponse {\r\n const json = this.toJSON();\r\n let result = new DmToChucModelIEnumerableApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDmToChucModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IDmToChucModel[] | undefined;\r\n}\r\n\r\nexport class Donviquanly implements IDonviquanly {\r\n lookupId?: number;\r\n lookupValue?: string | undefined;\r\n\r\n constructor(data?: IDonviquanly) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.lookupId = _data[\"lookupId\"];\r\n this.lookupValue = _data[\"lookupValue\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Donviquanly {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Donviquanly();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"lookupId\"] = this.lookupId;\r\n data[\"lookupValue\"] = this.lookupValue;\r\n return data;\r\n }\r\n\r\n clone(): Donviquanly {\r\n const json = this.toJSON();\r\n let result = new Donviquanly();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IDonviquanly {\r\n lookupId?: number;\r\n lookupValue?: string | undefined;\r\n}\r\n\r\nexport class Editor implements IEditor {\r\n lookupId?: number;\r\n lookupValue?: string | undefined;\r\n\r\n constructor(data?: IEditor) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.lookupId = _data[\"lookupId\"];\r\n this.lookupValue = _data[\"lookupValue\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Editor {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Editor();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"lookupId\"] = this.lookupId;\r\n data[\"lookupValue\"] = this.lookupValue;\r\n return data;\r\n }\r\n\r\n clone(): Editor {\r\n const json = this.toJSON();\r\n let result = new Editor();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IEditor {\r\n lookupId?: number;\r\n lookupValue?: string | undefined;\r\n}\r\n\r\nexport enum EventAttributes {\r\n _0 = 0,\r\n _512 = 512,\r\n _1024 = 1024,\r\n}\r\n\r\nexport class EventInfo implements IEventInfo {\r\n readonly name?: string | undefined;\r\n declaringType?: Type;\r\n reflectedType?: Type;\r\n module?: Module;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n memberType?: MemberTypes;\r\n attributes?: EventAttributes;\r\n readonly isSpecialName?: boolean;\r\n addMethod?: MethodInfo;\r\n removeMethod?: MethodInfo;\r\n raiseMethod?: MethodInfo;\r\n readonly isMulticast?: boolean;\r\n eventHandlerType?: Type;\r\n\r\n constructor(data?: IEventInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType;\r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType;\r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module;\r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.addMethod = data.addMethod && !(data.addMethod).toJSON ? new MethodInfo(data.addMethod) : this.addMethod;\r\n this.removeMethod = data.removeMethod && !(data.removeMethod).toJSON ? new MethodInfo(data.removeMethod) : this.removeMethod;\r\n this.raiseMethod = data.raiseMethod && !(data.raiseMethod).toJSON ? new MethodInfo(data.raiseMethod) : this.raiseMethod;\r\n this.eventHandlerType = data.eventHandlerType && !(data.eventHandlerType).toJSON ? new Type(data.eventHandlerType) : this.eventHandlerType;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n this.memberType = _data[\"memberType\"];\r\n this.attributes = _data[\"attributes\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n this.addMethod = _data[\"addMethod\"] ? MethodInfo.fromJS(_data[\"addMethod\"]) : undefined;\r\n this.removeMethod = _data[\"removeMethod\"] ? MethodInfo.fromJS(_data[\"removeMethod\"]) : undefined;\r\n this.raiseMethod = _data[\"raiseMethod\"] ? MethodInfo.fromJS(_data[\"raiseMethod\"]) : undefined;\r\n (this).isMulticast = _data[\"isMulticast\"];\r\n this.eventHandlerType = _data[\"eventHandlerType\"] ? Type.fromJS(_data[\"eventHandlerType\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): EventInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EventInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"memberType\"] = this.memberType;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"addMethod\"] = this.addMethod ? this.addMethod.toJSON() : undefined;\r\n data[\"removeMethod\"] = this.removeMethod ? this.removeMethod.toJSON() : undefined;\r\n data[\"raiseMethod\"] = this.raiseMethod ? this.raiseMethod.toJSON() : undefined;\r\n data[\"isMulticast\"] = this.isMulticast;\r\n data[\"eventHandlerType\"] = this.eventHandlerType ? this.eventHandlerType.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): EventInfo {\r\n const json = this.toJSON();\r\n let result = new EventInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IEventInfo {\r\n name?: string | undefined;\r\n declaringType?: IType;\r\n reflectedType?: IType;\r\n module?: IModule;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n memberType?: MemberTypes;\r\n attributes?: EventAttributes;\r\n isSpecialName?: boolean;\r\n addMethod?: IMethodInfo;\r\n removeMethod?: IMethodInfo;\r\n raiseMethod?: IMethodInfo;\r\n isMulticast?: boolean;\r\n eventHandlerType?: IType;\r\n}\r\n\r\nexport enum ExOp {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n _6 = 6,\r\n _7 = 7,\r\n _8 = 8,\r\n _9 = 9,\r\n _10 = 10,\r\n _11 = 11,\r\n _12 = 12,\r\n _13 = 13,\r\n _14 = 14,\r\n _15 = 15,\r\n _16 = 16,\r\n}\r\n\r\nexport enum ExpressionElementType {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n}\r\n\r\nexport enum FieldAttributes {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n _6 = 6,\r\n _7 = 7,\r\n _16 = 16,\r\n _32 = 32,\r\n _64 = 64,\r\n _128 = 128,\r\n _256 = 256,\r\n _512 = 512,\r\n _1024 = 1024,\r\n _4096 = 4096,\r\n _8192 = 8192,\r\n _32768 = 32768,\r\n _38144 = 38144,\r\n}\r\n\r\nexport class FieldInfo implements IFieldInfo {\r\n readonly name?: string | undefined;\r\n declaringType?: Type;\r\n reflectedType?: Type;\r\n module?: Module;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n memberType?: MemberTypes;\r\n attributes?: FieldAttributes;\r\n fieldType?: Type;\r\n readonly isInitOnly?: boolean;\r\n readonly isLiteral?: boolean;\r\n readonly isNotSerialized?: boolean;\r\n readonly isPinvokeImpl?: boolean;\r\n readonly isSpecialName?: boolean;\r\n readonly isStatic?: boolean;\r\n readonly isAssembly?: boolean;\r\n readonly isFamily?: boolean;\r\n readonly isFamilyAndAssembly?: boolean;\r\n readonly isFamilyOrAssembly?: boolean;\r\n readonly isPrivate?: boolean;\r\n readonly isPublic?: boolean;\r\n readonly isSecurityCritical?: boolean;\r\n readonly isSecuritySafeCritical?: boolean;\r\n readonly isSecurityTransparent?: boolean;\r\n fieldHandle?: RuntimeFieldHandle;\r\n\r\n constructor(data?: IFieldInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType;\r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType;\r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module;\r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.fieldType = data.fieldType && !(data.fieldType).toJSON ? new Type(data.fieldType) : this.fieldType;\r\n this.fieldHandle = data.fieldHandle && !(data.fieldHandle).toJSON ? new RuntimeFieldHandle(data.fieldHandle) : this.fieldHandle;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n this.memberType = _data[\"memberType\"];\r\n this.attributes = _data[\"attributes\"];\r\n this.fieldType = _data[\"fieldType\"] ? Type.fromJS(_data[\"fieldType\"]) : undefined;\r\n (this).isInitOnly = _data[\"isInitOnly\"];\r\n (this).isLiteral = _data[\"isLiteral\"];\r\n (this).isNotSerialized = _data[\"isNotSerialized\"];\r\n (this).isPinvokeImpl = _data[\"isPinvokeImpl\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n (this).isStatic = _data[\"isStatic\"];\r\n (this).isAssembly = _data[\"isAssembly\"];\r\n (this).isFamily = _data[\"isFamily\"];\r\n (this).isFamilyAndAssembly = _data[\"isFamilyAndAssembly\"];\r\n (this).isFamilyOrAssembly = _data[\"isFamilyOrAssembly\"];\r\n (this).isPrivate = _data[\"isPrivate\"];\r\n (this).isPublic = _data[\"isPublic\"];\r\n (this).isSecurityCritical = _data[\"isSecurityCritical\"];\r\n (this).isSecuritySafeCritical = _data[\"isSecuritySafeCritical\"];\r\n (this).isSecurityTransparent = _data[\"isSecurityTransparent\"];\r\n this.fieldHandle = _data[\"fieldHandle\"] ? RuntimeFieldHandle.fromJS(_data[\"fieldHandle\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): FieldInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FieldInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"memberType\"] = this.memberType;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"fieldType\"] = this.fieldType ? this.fieldType.toJSON() : undefined;\r\n data[\"isInitOnly\"] = this.isInitOnly;\r\n data[\"isLiteral\"] = this.isLiteral;\r\n data[\"isNotSerialized\"] = this.isNotSerialized;\r\n data[\"isPinvokeImpl\"] = this.isPinvokeImpl;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"isStatic\"] = this.isStatic;\r\n data[\"isAssembly\"] = this.isAssembly;\r\n data[\"isFamily\"] = this.isFamily;\r\n data[\"isFamilyAndAssembly\"] = this.isFamilyAndAssembly;\r\n data[\"isFamilyOrAssembly\"] = this.isFamilyOrAssembly;\r\n data[\"isPrivate\"] = this.isPrivate;\r\n data[\"isPublic\"] = this.isPublic;\r\n data[\"isSecurityCritical\"] = this.isSecurityCritical;\r\n data[\"isSecuritySafeCritical\"] = this.isSecuritySafeCritical;\r\n data[\"isSecurityTransparent\"] = this.isSecurityTransparent;\r\n data[\"fieldHandle\"] = this.fieldHandle ? this.fieldHandle.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): FieldInfo {\r\n const json = this.toJSON();\r\n let result = new FieldInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFieldInfo {\r\n name?: string | undefined;\r\n declaringType?: IType;\r\n reflectedType?: IType;\r\n module?: IModule;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n memberType?: MemberTypes;\r\n attributes?: FieldAttributes;\r\n fieldType?: IType;\r\n isInitOnly?: boolean;\r\n isLiteral?: boolean;\r\n isNotSerialized?: boolean;\r\n isPinvokeImpl?: boolean;\r\n isSpecialName?: boolean;\r\n isStatic?: boolean;\r\n isAssembly?: boolean;\r\n isFamily?: boolean;\r\n isFamilyAndAssembly?: boolean;\r\n isFamilyOrAssembly?: boolean;\r\n isPrivate?: boolean;\r\n isPublic?: boolean;\r\n isSecurityCritical?: boolean;\r\n isSecuritySafeCritical?: boolean;\r\n isSecurityTransparent?: boolean;\r\n fieldHandle?: IRuntimeFieldHandle;\r\n}\r\n\r\nexport class FileAttach implements IFileAttach {\r\n result?: FileItem;\r\n\r\n constructor(data?: IFileAttach) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.result = data.result && !(data.result).toJSON ? new FileItem(data.result) : this.result;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.result = _data[\"result\"] ? FileItem.fromJS(_data[\"result\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileAttach {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileAttach();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): FileAttach {\r\n const json = this.toJSON();\r\n let result = new FileAttach();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFileAttach {\r\n result?: IFileItem;\r\n}\r\n\r\nexport class FileAttachListApiResponse implements IFileAttachListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: FileAttach[] | undefined;\r\n\r\n constructor(data?: IFileAttachListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new FileAttach(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(FileAttach.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileAttachListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileAttachListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): FileAttachListApiResponse {\r\n const json = this.toJSON();\r\n let result = new FileAttachListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFileAttachListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IFileAttach[] | undefined;\r\n}\r\n\r\nexport class FileBase64 implements IFileBase64 {\r\n fileName?: string | undefined;\r\n fileData?: string | undefined;\r\n\r\n constructor(data?: IFileBase64) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fileName = _data[\"fileName\"];\r\n this.fileData = _data[\"fileData\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileBase64 {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileBase64();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fileName\"] = this.fileName;\r\n data[\"fileData\"] = this.fileData;\r\n return data;\r\n }\r\n\r\n clone(): FileBase64 {\r\n const json = this.toJSON();\r\n let result = new FileBase64();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFileBase64 {\r\n fileName?: string | undefined;\r\n fileData?: string | undefined;\r\n}\r\n\r\nexport class FileBase64DataMultiModel implements IFileBase64DataMultiModel {\r\n folder?: string | undefined;\r\n files?: FileBase64[] | undefined;\r\n\r\n constructor(data?: IFileBase64DataMultiModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.files) {\r\n this.files = [];\r\n for (let i = 0; i < data.files.length; i++) {\r\n let item = data.files[i];\r\n this.files[i] = item && !(item).toJSON ? new FileBase64(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.folder = _data[\"folder\"];\r\n if (Array.isArray(_data[\"files\"])) {\r\n this.files = [] as any;\r\n for (let item of _data[\"files\"])\r\n this.files!.push(FileBase64.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileBase64DataMultiModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileBase64DataMultiModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"folder\"] = this.folder;\r\n if (Array.isArray(this.files)) {\r\n data[\"files\"] = [];\r\n for (let item of this.files)\r\n data[\"files\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): FileBase64DataMultiModel {\r\n const json = this.toJSON();\r\n let result = new FileBase64DataMultiModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFileBase64DataMultiModel {\r\n folder?: string | undefined;\r\n files?: IFileBase64[] | undefined;\r\n}\r\n\r\nexport class FileBase64MultiRequestModel implements IFileBase64MultiRequestModel {\r\n lstFile?: FileBase64DataMultiModel[] | undefined;\r\n\r\n constructor(data?: IFileBase64MultiRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstFile) {\r\n this.lstFile = [];\r\n for (let i = 0; i < data.lstFile.length; i++) {\r\n let item = data.lstFile[i];\r\n this.lstFile[i] = item && !(item).toJSON ? new FileBase64DataMultiModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"lstFile\"])) {\r\n this.lstFile = [] as any;\r\n for (let item of _data[\"lstFile\"])\r\n this.lstFile!.push(FileBase64DataMultiModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileBase64MultiRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileBase64MultiRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.lstFile)) {\r\n data[\"lstFile\"] = [];\r\n for (let item of this.lstFile)\r\n data[\"lstFile\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): FileBase64MultiRequestModel {\r\n const json = this.toJSON();\r\n let result = new FileBase64MultiRequestModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFileBase64MultiRequestModel {\r\n lstFile?: IFileBase64DataMultiModel[] | undefined;\r\n}\r\n\r\nexport class FileBase64RequestModel implements IFileBase64RequestModel {\r\n folder?: string | undefined;\r\n files?: FileBase64[] | undefined;\r\n\r\n constructor(data?: IFileBase64RequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.files) {\r\n this.files = [];\r\n for (let i = 0; i < data.files.length; i++) {\r\n let item = data.files[i];\r\n this.files[i] = item && !(item).toJSON ? new FileBase64(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.folder = _data[\"folder\"];\r\n if (Array.isArray(_data[\"files\"])) {\r\n this.files = [] as any;\r\n for (let item of _data[\"files\"])\r\n this.files!.push(FileBase64.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileBase64RequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileBase64RequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"folder\"] = this.folder;\r\n if (Array.isArray(this.files)) {\r\n data[\"files\"] = [];\r\n for (let item of this.files)\r\n data[\"files\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): FileBase64RequestModel {\r\n const json = this.toJSON();\r\n let result = new FileBase64RequestModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFileBase64RequestModel {\r\n folder?: string | undefined;\r\n files?: IFileBase64[] | undefined;\r\n}\r\n\r\nexport class FileItem implements IFileItem {\r\n name?: string | undefined;\r\n url?: string | undefined;\r\n dataFile?: string | undefined;\r\n\r\n constructor(data?: IFileItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.url = _data[\"url\"];\r\n this.dataFile = _data[\"dataFile\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"url\"] = this.url;\r\n data[\"dataFile\"] = this.dataFile;\r\n return data;\r\n }\r\n\r\n clone(): FileItem {\r\n const json = this.toJSON();\r\n let result = new FileItem();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IFileItem {\r\n name?: string | undefined;\r\n url?: string | undefined;\r\n dataFile?: string | undefined;\r\n}\r\n\r\nexport enum GenericParameterAttributes {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _8 = 8,\r\n _16 = 16,\r\n _28 = 28,\r\n}\r\n\r\nexport class GetDataAppViewModel implements IGetDataAppViewModel {\r\n listApp?: GroupAppViewModel[] | undefined;\r\n\r\n constructor(data?: IGetDataAppViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.listApp) {\r\n this.listApp = [];\r\n for (let i = 0; i < data.listApp.length; i++) {\r\n let item = data.listApp[i];\r\n this.listApp[i] = item && !(item).toJSON ? new GroupAppViewModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"listApp\"])) {\r\n this.listApp = [] as any;\r\n for (let item of _data[\"listApp\"])\r\n this.listApp!.push(GroupAppViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): GetDataAppViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GetDataAppViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.listApp)) {\r\n data[\"listApp\"] = [];\r\n for (let item of this.listApp)\r\n data[\"listApp\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): GetDataAppViewModel {\r\n const json = this.toJSON();\r\n let result = new GetDataAppViewModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IGetDataAppViewModel {\r\n listApp?: IGroupAppViewModel[] | undefined;\r\n}\r\n\r\nexport class GetDataAppViewModelApiResponse implements IGetDataAppViewModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: GetDataAppViewModel;\r\n\r\n constructor(data?: IGetDataAppViewModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new GetDataAppViewModel(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? GetDataAppViewModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): GetDataAppViewModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GetDataAppViewModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): GetDataAppViewModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new GetDataAppViewModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IGetDataAppViewModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IGetDataAppViewModel;\r\n}\r\n\r\nexport class GroupAppViewModel implements IGroupAppViewModel {\r\n appId?: number;\r\n appName?: string | undefined;\r\n\r\n constructor(data?: IGroupAppViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.appId = _data[\"appId\"];\r\n this.appName = _data[\"appName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): GroupAppViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GroupAppViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"appId\"] = this.appId;\r\n data[\"appName\"] = this.appName;\r\n return data;\r\n }\r\n\r\n clone(): GroupAppViewModel {\r\n const json = this.toJSON();\r\n let result = new GroupAppViewModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IGroupAppViewModel {\r\n appId?: number;\r\n appName?: string | undefined;\r\n}\r\n\r\nexport class GroupForUserModel implements IGroupForUserModel {\r\n id?: number;\r\n name?: string | undefined;\r\n appid?: number;\r\n\r\n constructor(data?: IGroupForUserModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.appid = _data[\"appid\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): GroupForUserModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GroupForUserModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"appid\"] = this.appid;\r\n return data;\r\n }\r\n\r\n clone(): GroupForUserModel {\r\n const json = this.toJSON();\r\n let result = new GroupForUserModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IGroupForUserModel {\r\n id?: number;\r\n name?: string | undefined;\r\n appid?: number;\r\n}\r\n\r\nexport class GroupInfoViewModel implements IGroupInfoViewModel {\r\n id?: number;\r\n ten?: string | undefined;\r\n mota?: string | undefined;\r\n level?: number;\r\n\r\n constructor(data?: IGroupInfoViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.ten = _data[\"ten\"];\r\n this.mota = _data[\"mota\"];\r\n this.level = _data[\"level\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): GroupInfoViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GroupInfoViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"ten\"] = this.ten;\r\n data[\"mota\"] = this.mota;\r\n data[\"level\"] = this.level;\r\n return data;\r\n }\r\n\r\n clone(): GroupInfoViewModel {\r\n const json = this.toJSON();\r\n let result = new GroupInfoViewModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IGroupInfoViewModel {\r\n id?: number;\r\n ten?: string | undefined;\r\n mota?: string | undefined;\r\n level?: number;\r\n}\r\n\r\nexport class GroupInfoViewModelListApiResponse implements IGroupInfoViewModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: GroupInfoViewModel[] | undefined;\r\n\r\n constructor(data?: IGroupInfoViewModelListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new GroupInfoViewModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(GroupInfoViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): GroupInfoViewModelListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GroupInfoViewModelListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): GroupInfoViewModelListApiResponse {\r\n const json = this.toJSON();\r\n let result = new GroupInfoViewModelListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IGroupInfoViewModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IGroupInfoViewModel[] | undefined;\r\n}\r\n\r\nexport class HomeShareEntity implements IHomeShareEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n kyhieu?: string | undefined;\r\n malinhvuc?: string | undefined;\r\n solieu?: number | undefined;\r\n tenlinhvuc?: string | undefined;\r\n\r\n constructor(data?: IHomeShareEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.id = _data[\"id\"];\r\n this.kyhieu = _data[\"kyhieu\"];\r\n this.malinhvuc = _data[\"malinhvuc\"];\r\n this.solieu = _data[\"solieu\"];\r\n this.tenlinhvuc = _data[\"tenlinhvuc\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HomeShareEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HomeShareEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"id\"] = this.id;\r\n data[\"kyhieu\"] = this.kyhieu;\r\n data[\"malinhvuc\"] = this.malinhvuc;\r\n data[\"solieu\"] = this.solieu;\r\n data[\"tenlinhvuc\"] = this.tenlinhvuc;\r\n return data;\r\n }\r\n\r\n clone(): HomeShareEntity {\r\n const json = this.toJSON();\r\n let result = new HomeShareEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IHomeShareEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n id?: number;\r\n kyhieu?: string | undefined;\r\n malinhvuc?: string | undefined;\r\n solieu?: number | undefined;\r\n tenlinhvuc?: string | undefined;\r\n}\r\n\r\nexport class HomeShareEntityApiResponse implements IHomeShareEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: HomeShareEntity;\r\n\r\n constructor(data?: IHomeShareEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new HomeShareEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? HomeShareEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): HomeShareEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HomeShareEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): HomeShareEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new HomeShareEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IHomeShareEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IHomeShareEntity;\r\n}\r\n\r\nexport class IAuditor implements IIAuditor {\r\n readonly hasDataToXmlSerialize?: boolean;\r\n\r\n constructor(data?: IIAuditor) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).hasDataToXmlSerialize = _data[\"hasDataToXmlSerialize\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): IAuditor {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IAuditor();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"hasDataToXmlSerialize\"] = this.hasDataToXmlSerialize;\r\n return data;\r\n }\r\n\r\n clone(): IAuditor {\r\n const json = this.toJSON();\r\n let result = new IAuditor();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIAuditor {\r\n hasDataToXmlSerialize?: boolean;\r\n}\r\n\r\nexport class IAuthorizer implements IIAuthorizer {\r\n\r\n constructor(data?: IIAuthorizer) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): IAuthorizer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IAuthorizer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data;\r\n }\r\n\r\n clone(): IAuthorizer {\r\n const json = this.toJSON();\r\n let result = new IAuthorizer();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIAuthorizer {\r\n}\r\n\r\nexport class IComponent implements IIComponent {\r\n site?: ISite;\r\n\r\n constructor(data?: IIComponent) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.site = data.site && !(data.site).toJSON ? new ISite(data.site) : this.site;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.site = _data[\"site\"] ? ISite.fromJS(_data[\"site\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): IComponent {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IComponent();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"site\"] = this.site ? this.site.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): IComponent {\r\n const json = this.toJSON();\r\n let result = new IComponent();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIComponent {\r\n site?: IISite;\r\n}\r\n\r\nexport class IConcurrencyPredicateFactory implements IIConcurrencyPredicateFactory {\r\n\r\n constructor(data?: IIConcurrencyPredicateFactory) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): IConcurrencyPredicateFactory {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IConcurrencyPredicateFactory();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data;\r\n }\r\n\r\n clone(): IConcurrencyPredicateFactory {\r\n const json = this.toJSON();\r\n let result = new IConcurrencyPredicateFactory();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIConcurrencyPredicateFactory {\r\n}\r\n\r\nexport class IContainer implements IIContainer {\r\n readonly components?: any[] | undefined;\r\n\r\n constructor(data?: IIContainer) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"components\"])) {\r\n (this).components = [] as any;\r\n for (let item of _data[\"components\"])\r\n (this).components!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): IContainer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IContainer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.components)) {\r\n data[\"components\"] = [];\r\n for (let item of this.components)\r\n data[\"components\"].push(item);\r\n }\r\n return data;\r\n }\r\n\r\n clone(): IContainer {\r\n const json = this.toJSON();\r\n let result = new IContainer();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIContainer {\r\n components?: any[] | undefined;\r\n}\r\n\r\nexport class ICustomAttributeProvider implements IICustomAttributeProvider {\r\n\r\n constructor(data?: IICustomAttributeProvider) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): ICustomAttributeProvider {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ICustomAttributeProvider();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data;\r\n }\r\n\r\n clone(): ICustomAttributeProvider {\r\n const json = this.toJSON();\r\n let result = new ICustomAttributeProvider();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IICustomAttributeProvider {\r\n}\r\n\r\nexport class IDbSpecificCreator implements IIDbSpecificCreator {\r\n perCallCatalogNameOverwrites?: { [key: string]: string; } | undefined;\r\n perCallSchemaNameOverwrites?: { [key: string]: string; } | undefined;\r\n readonly creatingSubQuery?: boolean;\r\n factoryToUse?: DbProviderFactory;\r\n\r\n constructor(data?: IIDbSpecificCreator) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.factoryToUse = data.factoryToUse && !(data.factoryToUse).toJSON ? new DbProviderFactory(data.factoryToUse) : this.factoryToUse;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (_data[\"perCallCatalogNameOverwrites\"]) {\r\n this.perCallCatalogNameOverwrites = {} as any;\r\n for (let key in _data[\"perCallCatalogNameOverwrites\"]) {\r\n if (_data[\"perCallCatalogNameOverwrites\"].hasOwnProperty(key))\r\n (this.perCallCatalogNameOverwrites)![key] = _data[\"perCallCatalogNameOverwrites\"][key];\r\n }\r\n }\r\n if (_data[\"perCallSchemaNameOverwrites\"]) {\r\n this.perCallSchemaNameOverwrites = {} as any;\r\n for (let key in _data[\"perCallSchemaNameOverwrites\"]) {\r\n if (_data[\"perCallSchemaNameOverwrites\"].hasOwnProperty(key))\r\n (this.perCallSchemaNameOverwrites)![key] = _data[\"perCallSchemaNameOverwrites\"][key];\r\n }\r\n }\r\n (this).creatingSubQuery = _data[\"creatingSubQuery\"];\r\n this.factoryToUse = _data[\"factoryToUse\"] ? DbProviderFactory.fromJS(_data[\"factoryToUse\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): IDbSpecificCreator {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IDbSpecificCreator();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (this.perCallCatalogNameOverwrites) {\r\n data[\"perCallCatalogNameOverwrites\"] = {};\r\n for (let key in this.perCallCatalogNameOverwrites) {\r\n if (this.perCallCatalogNameOverwrites.hasOwnProperty(key))\r\n (data[\"perCallCatalogNameOverwrites\"])[key] = (this.perCallCatalogNameOverwrites)[key];\r\n }\r\n }\r\n if (this.perCallSchemaNameOverwrites) {\r\n data[\"perCallSchemaNameOverwrites\"] = {};\r\n for (let key in this.perCallSchemaNameOverwrites) {\r\n if (this.perCallSchemaNameOverwrites.hasOwnProperty(key))\r\n (data[\"perCallSchemaNameOverwrites\"])[key] = (this.perCallSchemaNameOverwrites)[key];\r\n }\r\n }\r\n data[\"creatingSubQuery\"] = this.creatingSubQuery;\r\n data[\"factoryToUse\"] = this.factoryToUse ? this.factoryToUse.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): IDbSpecificCreator {\r\n const json = this.toJSON();\r\n let result = new IDbSpecificCreator();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIDbSpecificCreator {\r\n perCallCatalogNameOverwrites?: { [key: string]: string; } | undefined;\r\n perCallSchemaNameOverwrites?: { [key: string]: string; } | undefined;\r\n creatingSubQuery?: boolean;\r\n factoryToUse?: IDbProviderFactory;\r\n}\r\n\r\nexport class IEntityFieldCore implements IIEntityFieldCore {\r\n alias?: string | undefined;\r\n currentValue?: any | undefined;\r\n readonly dbValue?: any | undefined;\r\n isChanged?: boolean;\r\n isNull?: boolean;\r\n objectAlias?: string | undefined;\r\n aggregateFunctionToApply?: AggregateFunction;\r\n expressionToApply?: IExpression;\r\n overClauseToApply?: WindowSpecification;\r\n readonly actAsDerivedTableField?: boolean;\r\n linkedSuperTypeField?: IEntityFieldCore;\r\n readonly name?: string | undefined;\r\n dataType?: Type;\r\n readonly isPrimaryKey?: boolean;\r\n readonly isNullable?: boolean;\r\n readonly fieldIndex?: number;\r\n readonly containingObjectName?: string | undefined;\r\n readonly isForeignKey?: boolean;\r\n readonly isReadOnly?: boolean;\r\n readonly maxLength?: number;\r\n readonly scale?: number;\r\n readonly precision?: number;\r\n readonly actualContainingObjectName?: string | undefined;\r\n readonly isInMultiTargetEntity?: boolean;\r\n readonly isOfEnumDataType?: boolean;\r\n realDataType?: Type;\r\n\r\n constructor(data?: IIEntityFieldCore) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.expressionToApply = data.expressionToApply && !(data.expressionToApply).toJSON ? new IExpression(data.expressionToApply) : this.expressionToApply;\r\n this.overClauseToApply = data.overClauseToApply && !(data.overClauseToApply).toJSON ? new WindowSpecification(data.overClauseToApply) : this.overClauseToApply;\r\n this.linkedSuperTypeField = data.linkedSuperTypeField && !(data.linkedSuperTypeField).toJSON ? new IEntityFieldCore(data.linkedSuperTypeField) : this.linkedSuperTypeField;\r\n this.dataType = data.dataType && !(data.dataType).toJSON ? new Type(data.dataType) : this.dataType;\r\n this.realDataType = data.realDataType && !(data.realDataType).toJSON ? new Type(data.realDataType) : this.realDataType;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.alias = _data[\"alias\"];\r\n this.currentValue = _data[\"currentValue\"];\r\n (this).dbValue = _data[\"dbValue\"];\r\n this.isChanged = _data[\"isChanged\"];\r\n this.isNull = _data[\"isNull\"];\r\n this.objectAlias = _data[\"objectAlias\"];\r\n this.aggregateFunctionToApply = _data[\"aggregateFunctionToApply\"];\r\n this.expressionToApply = _data[\"expressionToApply\"] ? IExpression.fromJS(_data[\"expressionToApply\"]) : undefined;\r\n this.overClauseToApply = _data[\"overClauseToApply\"] ? WindowSpecification.fromJS(_data[\"overClauseToApply\"]) : undefined;\r\n (this).actAsDerivedTableField = _data[\"actAsDerivedTableField\"];\r\n this.linkedSuperTypeField = _data[\"linkedSuperTypeField\"] ? IEntityFieldCore.fromJS(_data[\"linkedSuperTypeField\"]) : undefined;\r\n (this).name = _data[\"name\"];\r\n this.dataType = _data[\"dataType\"] ? Type.fromJS(_data[\"dataType\"]) : undefined;\r\n (this).isPrimaryKey = _data[\"isPrimaryKey\"];\r\n (this).isNullable = _data[\"isNullable\"];\r\n (this).fieldIndex = _data[\"fieldIndex\"];\r\n (this).containingObjectName = _data[\"containingObjectName\"];\r\n (this).isForeignKey = _data[\"isForeignKey\"];\r\n (this).isReadOnly = _data[\"isReadOnly\"];\r\n (this).maxLength = _data[\"maxLength\"];\r\n (this).scale = _data[\"scale\"];\r\n (this).precision = _data[\"precision\"];\r\n (this).actualContainingObjectName = _data[\"actualContainingObjectName\"];\r\n (this).isInMultiTargetEntity = _data[\"isInMultiTargetEntity\"];\r\n (this).isOfEnumDataType = _data[\"isOfEnumDataType\"];\r\n this.realDataType = _data[\"realDataType\"] ? Type.fromJS(_data[\"realDataType\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): IEntityFieldCore {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IEntityFieldCore();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"alias\"] = this.alias;\r\n data[\"currentValue\"] = this.currentValue;\r\n data[\"dbValue\"] = this.dbValue;\r\n data[\"isChanged\"] = this.isChanged;\r\n data[\"isNull\"] = this.isNull;\r\n data[\"objectAlias\"] = this.objectAlias;\r\n data[\"aggregateFunctionToApply\"] = this.aggregateFunctionToApply;\r\n data[\"expressionToApply\"] = this.expressionToApply ? this.expressionToApply.toJSON() : undefined;\r\n data[\"overClauseToApply\"] = this.overClauseToApply ? this.overClauseToApply.toJSON() : undefined;\r\n data[\"actAsDerivedTableField\"] = this.actAsDerivedTableField;\r\n data[\"linkedSuperTypeField\"] = this.linkedSuperTypeField ? this.linkedSuperTypeField.toJSON() : undefined;\r\n data[\"name\"] = this.name;\r\n data[\"dataType\"] = this.dataType ? this.dataType.toJSON() : undefined;\r\n data[\"isPrimaryKey\"] = this.isPrimaryKey;\r\n data[\"isNullable\"] = this.isNullable;\r\n data[\"fieldIndex\"] = this.fieldIndex;\r\n data[\"containingObjectName\"] = this.containingObjectName;\r\n data[\"isForeignKey\"] = this.isForeignKey;\r\n data[\"isReadOnly\"] = this.isReadOnly;\r\n data[\"maxLength\"] = this.maxLength;\r\n data[\"scale\"] = this.scale;\r\n data[\"precision\"] = this.precision;\r\n data[\"actualContainingObjectName\"] = this.actualContainingObjectName;\r\n data[\"isInMultiTargetEntity\"] = this.isInMultiTargetEntity;\r\n data[\"isOfEnumDataType\"] = this.isOfEnumDataType;\r\n data[\"realDataType\"] = this.realDataType ? this.realDataType.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): IEntityFieldCore {\r\n const json = this.toJSON();\r\n let result = new IEntityFieldCore();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIEntityFieldCore {\r\n alias?: string | undefined;\r\n currentValue?: any | undefined;\r\n dbValue?: any | undefined;\r\n isChanged?: boolean;\r\n isNull?: boolean;\r\n objectAlias?: string | undefined;\r\n aggregateFunctionToApply?: AggregateFunction;\r\n expressionToApply?: IIExpression;\r\n overClauseToApply?: IWindowSpecification;\r\n actAsDerivedTableField?: boolean;\r\n linkedSuperTypeField?: IIEntityFieldCore;\r\n name?: string | undefined;\r\n dataType?: IType;\r\n isPrimaryKey?: boolean;\r\n isNullable?: boolean;\r\n fieldIndex?: number;\r\n containingObjectName?: string | undefined;\r\n isForeignKey?: boolean;\r\n isReadOnly?: boolean;\r\n maxLength?: number;\r\n scale?: number;\r\n precision?: number;\r\n actualContainingObjectName?: string | undefined;\r\n isInMultiTargetEntity?: boolean;\r\n isOfEnumDataType?: boolean;\r\n realDataType?: IType;\r\n}\r\n\r\nexport class IExpression implements IIExpression {\r\n readonly parameters?: DbParameter[] | undefined;\r\n databaseSpecificCreator?: IDbSpecificCreator;\r\n leftOperand?: IExpressionElement;\r\n rightOperand?: IExpressionElement;\r\n operator?: ExOp;\r\n\r\n constructor(data?: IIExpression) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.parameters) {\r\n this.parameters = [];\r\n for (let i = 0; i < data.parameters.length; i++) {\r\n let item = data.parameters[i];\r\n this.parameters[i] = item && !(item).toJSON ? new DbParameter(item) : item;\r\n }\r\n }\r\n this.databaseSpecificCreator = data.databaseSpecificCreator && !(data.databaseSpecificCreator).toJSON ? new IDbSpecificCreator(data.databaseSpecificCreator) : this.databaseSpecificCreator;\r\n this.leftOperand = data.leftOperand && !(data.leftOperand).toJSON ? new IExpressionElement(data.leftOperand) : this.leftOperand;\r\n this.rightOperand = data.rightOperand && !(data.rightOperand).toJSON ? new IExpressionElement(data.rightOperand) : this.rightOperand;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"parameters\"])) {\r\n (this).parameters = [] as any;\r\n for (let item of _data[\"parameters\"])\r\n (this).parameters!.push(DbParameter.fromJS(item));\r\n }\r\n this.databaseSpecificCreator = _data[\"databaseSpecificCreator\"] ? IDbSpecificCreator.fromJS(_data[\"databaseSpecificCreator\"]) : undefined;\r\n this.leftOperand = _data[\"leftOperand\"] ? IExpressionElement.fromJS(_data[\"leftOperand\"]) : undefined;\r\n this.rightOperand = _data[\"rightOperand\"] ? IExpressionElement.fromJS(_data[\"rightOperand\"]) : undefined;\r\n this.operator = _data[\"operator\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): IExpression {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IExpression();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.parameters)) {\r\n data[\"parameters\"] = [];\r\n for (let item of this.parameters)\r\n data[\"parameters\"].push(item.toJSON());\r\n }\r\n data[\"databaseSpecificCreator\"] = this.databaseSpecificCreator ? this.databaseSpecificCreator.toJSON() : undefined;\r\n data[\"leftOperand\"] = this.leftOperand ? this.leftOperand.toJSON() : undefined;\r\n data[\"rightOperand\"] = this.rightOperand ? this.rightOperand.toJSON() : undefined;\r\n data[\"operator\"] = this.operator;\r\n return data;\r\n }\r\n\r\n clone(): IExpression {\r\n const json = this.toJSON();\r\n let result = new IExpression();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIExpression {\r\n parameters?: IDbParameter[] | undefined;\r\n databaseSpecificCreator?: IIDbSpecificCreator;\r\n leftOperand?: IIExpressionElement;\r\n rightOperand?: IIExpressionElement;\r\n operator?: ExOp;\r\n}\r\n\r\nexport class IExpressionElement implements IIExpressionElement {\r\n type?: ExpressionElementType;\r\n contents?: any | undefined;\r\n\r\n constructor(data?: IIExpressionElement) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.type = _data[\"type\"];\r\n this.contents = _data[\"contents\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): IExpressionElement {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IExpressionElement();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"type\"] = this.type;\r\n data[\"contents\"] = this.contents;\r\n return data;\r\n }\r\n\r\n clone(): IExpressionElement {\r\n const json = this.toJSON();\r\n let result = new IExpressionElement();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIExpressionElement {\r\n type?: ExpressionElementType;\r\n contents?: any | undefined;\r\n}\r\n\r\nexport class InsertUpdateModel implements IInsertUpdateModel {\r\n userData?: SysuserEntity;\r\n listGroupId?: number[] | undefined;\r\n\r\n constructor(data?: IInsertUpdateModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.userData = data.userData && !(data.userData).toJSON ? new SysuserEntity(data.userData) : this.userData;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userData = _data[\"userData\"] ? SysuserEntity.fromJS(_data[\"userData\"]) : undefined;\r\n if (Array.isArray(_data[\"listGroupId\"])) {\r\n this.listGroupId = [] as any;\r\n for (let item of _data[\"listGroupId\"])\r\n this.listGroupId!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): InsertUpdateModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InsertUpdateModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userData\"] = this.userData ? this.userData.toJSON() : undefined;\r\n if (Array.isArray(this.listGroupId)) {\r\n data[\"listGroupId\"] = [];\r\n for (let item of this.listGroupId)\r\n data[\"listGroupId\"].push(item);\r\n }\r\n return data;\r\n }\r\n\r\n clone(): InsertUpdateModel {\r\n const json = this.toJSON();\r\n let result = new InsertUpdateModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IInsertUpdateModel {\r\n userData?: ISysuserEntity;\r\n listGroupId?: number[] | undefined;\r\n}\r\n\r\nexport class Int32ApiResponse implements IInt32ApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: number;\r\n\r\n constructor(data?: IInt32ApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Int32ApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Int32ApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data;\r\n return data;\r\n }\r\n\r\n clone(): Int32ApiResponse {\r\n const json = this.toJSON();\r\n let result = new Int32ApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IInt32ApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: number;\r\n}\r\n\r\nexport class Int64ApiResponse implements IInt64ApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: number;\r\n\r\n constructor(data?: IInt64ApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Int64ApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Int64ApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data;\r\n return data;\r\n }\r\n\r\n clone(): Int64ApiResponse {\r\n const json = this.toJSON();\r\n let result = new Int64ApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IInt64ApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: number;\r\n}\r\n\r\nexport class IntPtr implements IIntPtr {\r\n\r\n constructor(data?: IIntPtr) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): IntPtr {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IntPtr();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data;\r\n }\r\n\r\n clone(): IntPtr {\r\n const json = this.toJSON();\r\n let result = new IntPtr();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIntPtr {\r\n}\r\n\r\nexport class ISite implements IISite {\r\n component?: IComponent;\r\n container?: IContainer;\r\n readonly designMode?: boolean;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IISite) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.component = data.component && !(data.component).toJSON ? new IComponent(data.component) : this.component;\r\n this.container = data.container && !(data.container).toJSON ? new IContainer(data.container) : this.container;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.component = _data[\"component\"] ? IComponent.fromJS(_data[\"component\"]) : undefined;\r\n this.container = _data[\"container\"] ? IContainer.fromJS(_data[\"container\"]) : undefined;\r\n (this).designMode = _data[\"designMode\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ISite {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ISite();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"component\"] = this.component ? this.component.toJSON() : undefined;\r\n data[\"container\"] = this.container ? this.container.toJSON() : undefined;\r\n data[\"designMode\"] = this.designMode;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n\r\n clone(): ISite {\r\n const json = this.toJSON();\r\n let result = new ISite();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IISite {\r\n component?: IIComponent;\r\n container?: IIContainer;\r\n designMode?: boolean;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class ItemAddNew implements IItemAddNew {\r\n listMenu?: MenuModel[] | undefined;\r\n listUnit?: UnitModel[] | undefined;\r\n listApp?: AppModel[] | undefined;\r\n\r\n constructor(data?: IItemAddNew) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.listMenu) {\r\n this.listMenu = [];\r\n for (let i = 0; i < data.listMenu.length; i++) {\r\n let item = data.listMenu[i];\r\n this.listMenu[i] = item && !(item).toJSON ? new MenuModel(item) : item;\r\n }\r\n }\r\n if (data.listUnit) {\r\n this.listUnit = [];\r\n for (let i = 0; i < data.listUnit.length; i++) {\r\n let item = data.listUnit[i];\r\n this.listUnit[i] = item && !(item).toJSON ? new UnitModel(item) : item;\r\n }\r\n }\r\n if (data.listApp) {\r\n this.listApp = [];\r\n for (let i = 0; i < data.listApp.length; i++) {\r\n let item = data.listApp[i];\r\n this.listApp[i] = item && !(item).toJSON ? new AppModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"listMenu\"])) {\r\n this.listMenu = [] as any;\r\n for (let item of _data[\"listMenu\"])\r\n this.listMenu!.push(MenuModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"listUnit\"])) {\r\n this.listUnit = [] as any;\r\n for (let item of _data[\"listUnit\"])\r\n this.listUnit!.push(UnitModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"listApp\"])) {\r\n this.listApp = [] as any;\r\n for (let item of _data[\"listApp\"])\r\n this.listApp!.push(AppModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemAddNew {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemAddNew();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.listMenu)) {\r\n data[\"listMenu\"] = [];\r\n for (let item of this.listMenu)\r\n data[\"listMenu\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.listUnit)) {\r\n data[\"listUnit\"] = [];\r\n for (let item of this.listUnit)\r\n data[\"listUnit\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.listApp)) {\r\n data[\"listApp\"] = [];\r\n for (let item of this.listApp)\r\n data[\"listApp\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ItemAddNew {\r\n const json = this.toJSON();\r\n let result = new ItemAddNew();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemAddNew {\r\n listMenu?: IMenuModel[] | undefined;\r\n listUnit?: IUnitModel[] | undefined;\r\n listApp?: IAppModel[] | undefined;\r\n}\r\n\r\nexport class ItemAddNewApiResponse implements IItemAddNewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ItemAddNew;\r\n\r\n constructor(data?: IItemAddNewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ItemAddNew(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ItemAddNew.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemAddNewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemAddNewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ItemAddNewApiResponse {\r\n const json = this.toJSON();\r\n let result = new ItemAddNewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IItemAddNewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IItemAddNew;\r\n}\r\n\r\nexport class IValidator implements IIValidator {\r\n\r\n constructor(data?: IIValidator) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): IValidator {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IValidator();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data;\r\n }\r\n\r\n clone(): IValidator {\r\n const json = this.toJSON();\r\n let result = new IValidator();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIValidator {\r\n}\r\n\r\nexport enum LayoutKind {\r\n _0 = 0,\r\n _2 = 2,\r\n _3 = 3,\r\n}\r\n\r\nexport class LichSuDongBoModel implements ILichSuDongBoModel {\r\n id?: number;\r\n dagId?: string | undefined;\r\n isPaused?: boolean;\r\n trangThai?: string | undefined;\r\n appID?: string | undefined;\r\n\r\n constructor(data?: ILichSuDongBoModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.dagId = _data[\"dagId\"];\r\n this.isPaused = _data[\"isPaused\"];\r\n this.trangThai = _data[\"trangThai\"];\r\n this.appID = _data[\"appID\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LichSuDongBoModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LichSuDongBoModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"dagId\"] = this.dagId;\r\n data[\"isPaused\"] = this.isPaused;\r\n data[\"trangThai\"] = this.trangThai;\r\n data[\"appID\"] = this.appID;\r\n return data;\r\n }\r\n\r\n clone(): LichSuDongBoModel {\r\n const json = this.toJSON();\r\n let result = new LichSuDongBoModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILichSuDongBoModel {\r\n id?: number;\r\n dagId?: string | undefined;\r\n isPaused?: boolean;\r\n trangThai?: string | undefined;\r\n appID?: string | undefined;\r\n}\r\n\r\nexport class LinhVucInfo implements ILinhVucInfo {\r\n id?: number;\r\n title?: string | undefined;\r\n titleLinhVuc?: string | undefined;\r\n dmDescription?: string | undefined;\r\n dmVietTat?: string | undefined;\r\n orderColumn?: number;\r\n titleEng?: string | undefined;\r\n dmIsDisplay?: boolean;\r\n vbpqDonVi?: Vbpqdonvi[] | undefined;\r\n multipleDonVi?: string | undefined;\r\n vbpqNganh?: Vbpqnganh;\r\n version?: string | undefined;\r\n author?: Author;\r\n editor?: Editor;\r\n created?: Date;\r\n modified?: Date;\r\n listFileAttachAdd?: string[] | undefined;\r\n listFileAttach?: string[] | undefined;\r\n listFileRemove?: string[] | undefined;\r\n\r\n constructor(data?: ILinhVucInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.vbpqDonVi) {\r\n this.vbpqDonVi = [];\r\n for (let i = 0; i < data.vbpqDonVi.length; i++) {\r\n let item = data.vbpqDonVi[i];\r\n this.vbpqDonVi[i] = item && !(item).toJSON ? new Vbpqdonvi(item) : item;\r\n }\r\n }\r\n this.vbpqNganh = data.vbpqNganh && !(data.vbpqNganh).toJSON ? new Vbpqnganh(data.vbpqNganh) : this.vbpqNganh;\r\n this.author = data.author && !(data.author).toJSON ? new Author(data.author) : this.author;\r\n this.editor = data.editor && !(data.editor).toJSON ? new Editor(data.editor) : this.editor;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.title = _data[\"title\"];\r\n this.titleLinhVuc = _data[\"titleLinhVuc\"];\r\n this.dmDescription = _data[\"dmDescription\"];\r\n this.dmVietTat = _data[\"dmVietTat\"];\r\n this.orderColumn = _data[\"orderColumn\"];\r\n this.titleEng = _data[\"titleEng\"];\r\n this.dmIsDisplay = _data[\"dmIsDisplay\"];\r\n if (Array.isArray(_data[\"vbpqDonVi\"])) {\r\n this.vbpqDonVi = [] as any;\r\n for (let item of _data[\"vbpqDonVi\"])\r\n this.vbpqDonVi!.push(Vbpqdonvi.fromJS(item));\r\n }\r\n this.multipleDonVi = _data[\"multipleDonVi\"];\r\n this.vbpqNganh = _data[\"vbpqNganh\"] ? Vbpqnganh.fromJS(_data[\"vbpqNganh\"]) : undefined;\r\n this.version = _data[\"version\"];\r\n this.author = _data[\"author\"] ? Author.fromJS(_data[\"author\"]) : undefined;\r\n this.editor = _data[\"editor\"] ? Editor.fromJS(_data[\"editor\"]) : undefined;\r\n this.created = _data[\"created\"] ? new Date(_data[\"created\"].toString()) : undefined;\r\n this.modified = _data[\"modified\"] ? new Date(_data[\"modified\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"listFileAttachAdd\"])) {\r\n this.listFileAttachAdd = [] as any;\r\n for (let item of _data[\"listFileAttachAdd\"])\r\n this.listFileAttachAdd!.push(item);\r\n }\r\n if (Array.isArray(_data[\"listFileAttach\"])) {\r\n this.listFileAttach = [] as any;\r\n for (let item of _data[\"listFileAttach\"])\r\n this.listFileAttach!.push(item);\r\n }\r\n if (Array.isArray(_data[\"listFileRemove\"])) {\r\n this.listFileRemove = [] as any;\r\n for (let item of _data[\"listFileRemove\"])\r\n this.listFileRemove!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LinhVucInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LinhVucInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"title\"] = this.title;\r\n data[\"titleLinhVuc\"] = this.titleLinhVuc;\r\n data[\"dmDescription\"] = this.dmDescription;\r\n data[\"dmVietTat\"] = this.dmVietTat;\r\n data[\"orderColumn\"] = this.orderColumn;\r\n data[\"titleEng\"] = this.titleEng;\r\n data[\"dmIsDisplay\"] = this.dmIsDisplay;\r\n if (Array.isArray(this.vbpqDonVi)) {\r\n data[\"vbpqDonVi\"] = [];\r\n for (let item of this.vbpqDonVi)\r\n data[\"vbpqDonVi\"].push(item.toJSON());\r\n }\r\n data[\"multipleDonVi\"] = this.multipleDonVi;\r\n data[\"vbpqNganh\"] = this.vbpqNganh ? this.vbpqNganh.toJSON() : undefined;\r\n data[\"version\"] = this.version;\r\n data[\"author\"] = this.author ? this.author.toJSON() : undefined;\r\n data[\"editor\"] = this.editor ? this.editor.toJSON() : undefined;\r\n data[\"created\"] = this.created ? this.created.toISOString() : undefined;\r\n data[\"modified\"] = this.modified ? this.modified.toISOString() : undefined;\r\n if (Array.isArray(this.listFileAttachAdd)) {\r\n data[\"listFileAttachAdd\"] = [];\r\n for (let item of this.listFileAttachAdd)\r\n data[\"listFileAttachAdd\"].push(item);\r\n }\r\n if (Array.isArray(this.listFileAttach)) {\r\n data[\"listFileAttach\"] = [];\r\n for (let item of this.listFileAttach)\r\n data[\"listFileAttach\"].push(item);\r\n }\r\n if (Array.isArray(this.listFileRemove)) {\r\n data[\"listFileRemove\"] = [];\r\n for (let item of this.listFileRemove)\r\n data[\"listFileRemove\"].push(item);\r\n }\r\n return data;\r\n }\r\n\r\n clone(): LinhVucInfo {\r\n const json = this.toJSON();\r\n let result = new LinhVucInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILinhVucInfo {\r\n id?: number;\r\n title?: string | undefined;\r\n titleLinhVuc?: string | undefined;\r\n dmDescription?: string | undefined;\r\n dmVietTat?: string | undefined;\r\n orderColumn?: number;\r\n titleEng?: string | undefined;\r\n dmIsDisplay?: boolean;\r\n vbpqDonVi?: IVbpqdonvi[] | undefined;\r\n multipleDonVi?: string | undefined;\r\n vbpqNganh?: IVbpqnganh;\r\n version?: string | undefined;\r\n author?: IAuthor;\r\n editor?: IEditor;\r\n created?: Date;\r\n modified?: Date;\r\n listFileAttachAdd?: string[] | undefined;\r\n listFileAttach?: string[] | undefined;\r\n listFileRemove?: string[] | undefined;\r\n}\r\n\r\nexport class LinhVucInfoListApiResponse implements ILinhVucInfoListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: LinhVucInfo[] | undefined;\r\n\r\n constructor(data?: ILinhVucInfoListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new LinhVucInfo(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(LinhVucInfo.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LinhVucInfoListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LinhVucInfoListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): LinhVucInfoListApiResponse {\r\n const json = this.toJSON();\r\n let result = new LinhVucInfoListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILinhVucInfoListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ILinhVucInfo[] | undefined;\r\n}\r\n\r\nexport class ListFileModel implements IListFileModel {\r\n id?: number;\r\n filePath?: string | undefined;\r\n fileName?: string | undefined;\r\n\r\n constructor(data?: IListFileModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.filePath = _data[\"filePath\"];\r\n this.fileName = _data[\"fileName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ListFileModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ListFileModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"filePath\"] = this.filePath;\r\n data[\"fileName\"] = this.fileName;\r\n return data;\r\n }\r\n\r\n clone(): ListFileModel {\r\n const json = this.toJSON();\r\n let result = new ListFileModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IListFileModel {\r\n id?: number;\r\n filePath?: string | undefined;\r\n fileName?: string | undefined;\r\n}\r\n\r\nexport class ListFileModelListApiResponse implements IListFileModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ListFileModel[] | undefined;\r\n\r\n constructor(data?: IListFileModelListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ListFileModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ListFileModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ListFileModelListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ListFileModelListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ListFileModelListApiResponse {\r\n const json = this.toJSON();\r\n let result = new ListFileModelListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IListFileModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IListFileModel[] | undefined;\r\n}\r\n\r\nexport class ListMenuModel implements IListMenuModel {\r\n id?: string | undefined;\r\n iconClass?: string | undefined;\r\n parent?: string | undefined;\r\n text?: string | undefined;\r\n value?: string | undefined;\r\n cssClass?: string | undefined;\r\n state?: string | undefined;\r\n\r\n constructor(data?: IListMenuModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.iconClass = _data[\"iconClass\"];\r\n this.parent = _data[\"parent\"];\r\n this.text = _data[\"text\"];\r\n this.value = _data[\"value\"];\r\n this.cssClass = _data[\"cssClass\"];\r\n this.state = _data[\"state\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ListMenuModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ListMenuModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"iconClass\"] = this.iconClass;\r\n data[\"parent\"] = this.parent;\r\n data[\"text\"] = this.text;\r\n data[\"value\"] = this.value;\r\n data[\"cssClass\"] = this.cssClass;\r\n data[\"state\"] = this.state;\r\n return data;\r\n }\r\n\r\n clone(): ListMenuModel {\r\n const json = this.toJSON();\r\n let result = new ListMenuModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IListMenuModel {\r\n id?: string | undefined;\r\n iconClass?: string | undefined;\r\n parent?: string | undefined;\r\n text?: string | undefined;\r\n value?: string | undefined;\r\n cssClass?: string | undefined;\r\n state?: string | undefined;\r\n}\r\n\r\nexport class ListMenuModelListApiResponse implements IListMenuModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ListMenuModel[] | undefined;\r\n\r\n constructor(data?: IListMenuModelListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ListMenuModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ListMenuModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ListMenuModelListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ListMenuModelListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ListMenuModelListApiResponse {\r\n const json = this.toJSON();\r\n let result = new ListMenuModelListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IListMenuModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IListMenuModel[] | undefined;\r\n}\r\n\r\nexport class LoaiVanBanInfo implements ILoaiVanBanInfo {\r\n id?: number;\r\n title?: string | undefined;\r\n dmDescription?: string | undefined;\r\n dmVietTat?: string | undefined;\r\n orderColumn?: number;\r\n titleEng?: string | undefined;\r\n dmIsDisplay?: boolean;\r\n vbpqDonVi?: Vbpqdonvi[] | undefined;\r\n multipleDonVi?: string | undefined;\r\n hienThiHopNhat?: boolean;\r\n hienThiHopNhatTA?: boolean;\r\n hienThiSearchTV?: boolean;\r\n hienThiSearchTA?: boolean;\r\n isSearch?: boolean;\r\n isSearchMenuleftVBHN?: boolean;\r\n moderationStatus?: number;\r\n version?: string | undefined;\r\n author?: Author;\r\n editor?: Editor;\r\n created?: Date;\r\n modified?: Date;\r\n listFileAttachAdd?: string[] | undefined;\r\n listFileAttach?: string[] | undefined;\r\n listFileRemove?: string[] | undefined;\r\n\r\n constructor(data?: ILoaiVanBanInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.vbpqDonVi) {\r\n this.vbpqDonVi = [];\r\n for (let i = 0; i < data.vbpqDonVi.length; i++) {\r\n let item = data.vbpqDonVi[i];\r\n this.vbpqDonVi[i] = item && !(item).toJSON ? new Vbpqdonvi(item) : item;\r\n }\r\n }\r\n this.author = data.author && !(data.author).toJSON ? new Author(data.author) : this.author;\r\n this.editor = data.editor && !(data.editor).toJSON ? new Editor(data.editor) : this.editor;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.title = _data[\"title\"];\r\n this.dmDescription = _data[\"dmDescription\"];\r\n this.dmVietTat = _data[\"dmVietTat\"];\r\n this.orderColumn = _data[\"orderColumn\"];\r\n this.titleEng = _data[\"titleEng\"];\r\n this.dmIsDisplay = _data[\"dmIsDisplay\"];\r\n if (Array.isArray(_data[\"vbpqDonVi\"])) {\r\n this.vbpqDonVi = [] as any;\r\n for (let item of _data[\"vbpqDonVi\"])\r\n this.vbpqDonVi!.push(Vbpqdonvi.fromJS(item));\r\n }\r\n this.multipleDonVi = _data[\"multipleDonVi\"];\r\n this.hienThiHopNhat = _data[\"hienThiHopNhat\"];\r\n this.hienThiHopNhatTA = _data[\"hienThiHopNhatTA\"];\r\n this.hienThiSearchTV = _data[\"hienThiSearchTV\"];\r\n this.hienThiSearchTA = _data[\"hienThiSearchTA\"];\r\n this.isSearch = _data[\"isSearch\"];\r\n this.isSearchMenuleftVBHN = _data[\"isSearchMenuleftVBHN\"];\r\n this.moderationStatus = _data[\"moderationStatus\"];\r\n this.version = _data[\"version\"];\r\n this.author = _data[\"author\"] ? Author.fromJS(_data[\"author\"]) : undefined;\r\n this.editor = _data[\"editor\"] ? Editor.fromJS(_data[\"editor\"]) : undefined;\r\n this.created = _data[\"created\"] ? new Date(_data[\"created\"].toString()) : undefined;\r\n this.modified = _data[\"modified\"] ? new Date(_data[\"modified\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"listFileAttachAdd\"])) {\r\n this.listFileAttachAdd = [] as any;\r\n for (let item of _data[\"listFileAttachAdd\"])\r\n this.listFileAttachAdd!.push(item);\r\n }\r\n if (Array.isArray(_data[\"listFileAttach\"])) {\r\n this.listFileAttach = [] as any;\r\n for (let item of _data[\"listFileAttach\"])\r\n this.listFileAttach!.push(item);\r\n }\r\n if (Array.isArray(_data[\"listFileRemove\"])) {\r\n this.listFileRemove = [] as any;\r\n for (let item of _data[\"listFileRemove\"])\r\n this.listFileRemove!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoaiVanBanInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoaiVanBanInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"title\"] = this.title;\r\n data[\"dmDescription\"] = this.dmDescription;\r\n data[\"dmVietTat\"] = this.dmVietTat;\r\n data[\"orderColumn\"] = this.orderColumn;\r\n data[\"titleEng\"] = this.titleEng;\r\n data[\"dmIsDisplay\"] = this.dmIsDisplay;\r\n if (Array.isArray(this.vbpqDonVi)) {\r\n data[\"vbpqDonVi\"] = [];\r\n for (let item of this.vbpqDonVi)\r\n data[\"vbpqDonVi\"].push(item.toJSON());\r\n }\r\n data[\"multipleDonVi\"] = this.multipleDonVi;\r\n data[\"hienThiHopNhat\"] = this.hienThiHopNhat;\r\n data[\"hienThiHopNhatTA\"] = this.hienThiHopNhatTA;\r\n data[\"hienThiSearchTV\"] = this.hienThiSearchTV;\r\n data[\"hienThiSearchTA\"] = this.hienThiSearchTA;\r\n data[\"isSearch\"] = this.isSearch;\r\n data[\"isSearchMenuleftVBHN\"] = this.isSearchMenuleftVBHN;\r\n data[\"moderationStatus\"] = this.moderationStatus;\r\n data[\"version\"] = this.version;\r\n data[\"author\"] = this.author ? this.author.toJSON() : undefined;\r\n data[\"editor\"] = this.editor ? this.editor.toJSON() : undefined;\r\n data[\"created\"] = this.created ? this.created.toISOString() : undefined;\r\n data[\"modified\"] = this.modified ? this.modified.toISOString() : undefined;\r\n if (Array.isArray(this.listFileAttachAdd)) {\r\n data[\"listFileAttachAdd\"] = [];\r\n for (let item of this.listFileAttachAdd)\r\n data[\"listFileAttachAdd\"].push(item);\r\n }\r\n if (Array.isArray(this.listFileAttach)) {\r\n data[\"listFileAttach\"] = [];\r\n for (let item of this.listFileAttach)\r\n data[\"listFileAttach\"].push(item);\r\n }\r\n if (Array.isArray(this.listFileRemove)) {\r\n data[\"listFileRemove\"] = [];\r\n for (let item of this.listFileRemove)\r\n data[\"listFileRemove\"].push(item);\r\n }\r\n return data;\r\n }\r\n\r\n clone(): LoaiVanBanInfo {\r\n const json = this.toJSON();\r\n let result = new LoaiVanBanInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILoaiVanBanInfo {\r\n id?: number;\r\n title?: string | undefined;\r\n dmDescription?: string | undefined;\r\n dmVietTat?: string | undefined;\r\n orderColumn?: number;\r\n titleEng?: string | undefined;\r\n dmIsDisplay?: boolean;\r\n vbpqDonVi?: IVbpqdonvi[] | undefined;\r\n multipleDonVi?: string | undefined;\r\n hienThiHopNhat?: boolean;\r\n hienThiHopNhatTA?: boolean;\r\n hienThiSearchTV?: boolean;\r\n hienThiSearchTA?: boolean;\r\n isSearch?: boolean;\r\n isSearchMenuleftVBHN?: boolean;\r\n moderationStatus?: number;\r\n version?: string | undefined;\r\n author?: IAuthor;\r\n editor?: IEditor;\r\n created?: Date;\r\n modified?: Date;\r\n listFileAttachAdd?: string[] | undefined;\r\n listFileAttach?: string[] | undefined;\r\n listFileRemove?: string[] | undefined;\r\n}\r\n\r\nexport class LoaiVanBanInfoListApiResponse implements ILoaiVanBanInfoListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: LoaiVanBanInfo[] | undefined;\r\n\r\n constructor(data?: ILoaiVanBanInfoListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new LoaiVanBanInfo(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(LoaiVanBanInfo.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoaiVanBanInfoListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoaiVanBanInfoListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): LoaiVanBanInfoListApiResponse {\r\n const json = this.toJSON();\r\n let result = new LoaiVanBanInfoListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILoaiVanBanInfoListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ILoaiVanBanInfo[] | undefined;\r\n}\r\n\r\nexport class LogdagEntity implements ILogdagEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n appid?: string | undefined;\r\n banghihientai?: number | undefined;\r\n dagid?: string | undefined;\r\n id?: number;\r\n inserted?: number | undefined;\r\n ngaychay?: Date | undefined;\r\n ngayketthuc?: Date | undefined;\r\n nguon?: string | undefined;\r\n pagenumber?: number | undefined;\r\n pagesize?: number | undefined;\r\n tinhtrang?: string | undefined;\r\n tongbanghinguon?: number | undefined;\r\n trung?: number | undefined;\r\n updated?: number | undefined;\r\n\r\n constructor(data?: ILogdagEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.appid = _data[\"appid\"];\r\n this.banghihientai = _data[\"banghihientai\"];\r\n this.dagid = _data[\"dagid\"];\r\n this.id = _data[\"id\"];\r\n this.inserted = _data[\"inserted\"];\r\n this.ngaychay = _data[\"ngaychay\"] ? new Date(_data[\"ngaychay\"].toString()) : undefined;\r\n this.ngayketthuc = _data[\"ngayketthuc\"] ? new Date(_data[\"ngayketthuc\"].toString()) : undefined;\r\n this.nguon = _data[\"nguon\"];\r\n this.pagenumber = _data[\"pagenumber\"];\r\n this.pagesize = _data[\"pagesize\"];\r\n this.tinhtrang = _data[\"tinhtrang\"];\r\n this.tongbanghinguon = _data[\"tongbanghinguon\"];\r\n this.trung = _data[\"trung\"];\r\n this.updated = _data[\"updated\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LogdagEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LogdagEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"appid\"] = this.appid;\r\n data[\"banghihientai\"] = this.banghihientai;\r\n data[\"dagid\"] = this.dagid;\r\n data[\"id\"] = this.id;\r\n data[\"inserted\"] = this.inserted;\r\n data[\"ngaychay\"] = this.ngaychay ? this.ngaychay.toISOString() : undefined;\r\n data[\"ngayketthuc\"] = this.ngayketthuc ? this.ngayketthuc.toISOString() : undefined;\r\n data[\"nguon\"] = this.nguon;\r\n data[\"pagenumber\"] = this.pagenumber;\r\n data[\"pagesize\"] = this.pagesize;\r\n data[\"tinhtrang\"] = this.tinhtrang;\r\n data[\"tongbanghinguon\"] = this.tongbanghinguon;\r\n data[\"trung\"] = this.trung;\r\n data[\"updated\"] = this.updated;\r\n return data;\r\n }\r\n\r\n clone(): LogdagEntity {\r\n const json = this.toJSON();\r\n let result = new LogdagEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILogdagEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n appid?: string | undefined;\r\n banghihientai?: number | undefined;\r\n dagid?: string | undefined;\r\n id?: number;\r\n inserted?: number | undefined;\r\n ngaychay?: Date | undefined;\r\n ngayketthuc?: Date | undefined;\r\n nguon?: string | undefined;\r\n pagenumber?: number | undefined;\r\n pagesize?: number | undefined;\r\n tinhtrang?: string | undefined;\r\n tongbanghinguon?: number | undefined;\r\n trung?: number | undefined;\r\n updated?: number | undefined;\r\n}\r\n\r\nexport class LogdagEntityApiResponse implements ILogdagEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: LogdagEntity;\r\n\r\n constructor(data?: ILogdagEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new LogdagEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? LogdagEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): LogdagEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LogdagEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): LogdagEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new LogdagEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILogdagEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ILogdagEntity;\r\n}\r\n\r\nexport class Ltsvanban implements ILtsvanban {\r\n isCanhBao?: boolean;\r\n logVersion?: string | undefined;\r\n exits?: boolean;\r\n ltsVanBanGoc?: string | undefined;\r\n id?: number;\r\n title?: string | undefined;\r\n vbpqLyDoHetHieuLuc1Phan?: string | undefined;\r\n vbpqNgayHetHieuLuc1PhanText?: string | undefined;\r\n title1?: string | undefined;\r\n vbpqDiaDanh?: string | undefined;\r\n vbpqctListUrl?: string | undefined;\r\n vbpqctItemID?: string | undefined;\r\n vbpqNgayapdung?: string | undefined;\r\n vbpqNgayBanHanh?: Date;\r\n vbpqNgaycohieuluc?: Date;\r\n vbpqNgaydangcongbao?: string | undefined;\r\n vbpqNgayHetHieuLuc?: string | undefined;\r\n vbpqNgayHetHieuLuc1phan?: string | undefined;\r\n vbpqNguontrich?: string | undefined;\r\n vbpqPhanHetHieuLuc?: string | undefined;\r\n vbpqSokyhieu?: string | undefined;\r\n vbpqToanVan?: string | undefined;\r\n vbpqTrichYeu?: string | undefined;\r\n vbpqTypeOfVanBan?: number;\r\n readCount?: number;\r\n vbpqLaVanBanDuoc?: string | undefined;\r\n isMultiDonVi?: string | undefined;\r\n vbpqDanhMuc?: string | undefined;\r\n vbpqPhamvidieuchinh?: string | undefined;\r\n vbpqChedinh?: string | undefined;\r\n vbpqTinhTrangHieuLuc?: Vbpqtinhtranghieuluc;\r\n vbpqLidohetHieuLuc?: string | undefined;\r\n vbpqPhanHetHieuLuc1Phan?: string | undefined;\r\n vbpqVanbanduochuongdan?: string | undefined;\r\n vbpqVanBanDuocQuyDinhChiTiet?: string | undefined;\r\n vbpqVanBanQuyDinhChiTiet?: string | undefined;\r\n vbpqVanBanBiHetHieuLuc?: string | undefined;\r\n vbpqVanBanLamHetHieuLuc?: string | undefined;\r\n vbpqVanBanBiHetHieuLuc1Phan?: string | undefined;\r\n vbpqVanBanLamHetHieuLuc1Phan?: string | undefined;\r\n vbpqVanBanCanCu?: string | undefined;\r\n vbpqVanbandanchieu?: string | undefined;\r\n vbpqVanBanbithaythe?: string | undefined;\r\n vbpqVanbanBiBaibo?: string | undefined;\r\n vbpqVanbanbiHuyBo?: string | undefined;\r\n vbpqVanbanbiDinhchi?: string | undefined;\r\n vbpqVanbanbiThaythe1phan?: string | undefined;\r\n vbpqVanbanbibaibo1phan?: string | undefined;\r\n vbpqVanbanbihuybo1phan?: string | undefined;\r\n vbpqVanbanbidinhchi1phan?: string | undefined;\r\n vbpqVanbanduocsuadoibosung?: string | undefined;\r\n vbpqVanbanbidinhchinh?: string | undefined;\r\n vbpqVanBanTiengAnh?: Vbpqvanbantienganh;\r\n vbHopNhatCoQuanHopNhatVBTV?: string | undefined;\r\n vbHopNhatVanBanNguonTV?: string | undefined;\r\n vbHopNhatVanBanDichTV?: string | undefined;\r\n caInfor?: string | undefined;\r\n vbpqLoaivanban?: Vbpqloaivanban;\r\n vbpqLoaivanbanTitle?: string | undefined;\r\n vbpqvFooter?: boolean;\r\n vbpqvHeader?: boolean;\r\n oldID?: number;\r\n isDieuUoc?: boolean;\r\n vbpqLinhVuc?: Vbpqlinhvuc[] | undefined;\r\n vbpqCoquanbanhanh?: string | undefined;\r\n vbpqCoQuanChuTri?: string | undefined;\r\n vbpqCoQuanLienQuan?: string | undefined;\r\n vbpqChucDanh?: string | undefined;\r\n vbpqNguoiKy?: string | undefined;\r\n vbpqDonVi?: string[] | undefined;\r\n vbpqVanBanChuaXacDinh?: string | undefined;\r\n vbpqVanBanChuaXacDinh1Phan?: string | undefined;\r\n vbpqVanBanLienQuanKhac?: string | undefined;\r\n moderationStatus?: number;\r\n vbpqNganh?: string | undefined;\r\n vbpqChuDe?: string | undefined;\r\n vbpqDuThao?: string | undefined;\r\n loaiVanBanLuocDo?: string | undefined;\r\n loaiVanBanLuocDoTA?: string | undefined;\r\n isVanBanGoc?: boolean;\r\n favorites?: boolean;\r\n isVBPQ?: boolean;\r\n thuocChuongTrinhCuaQuocHoi?: string | undefined;\r\n chuongTrinhTinh?: string | undefined;\r\n duThaoTinh?: string | undefined;\r\n thuocChuongTrinhCuaChinhPhu?: string | undefined;\r\n thuocChuongTrinhCuaBo?: string | undefined;\r\n multipleDonVi?: string | undefined;\r\n ltsFileAttachClone?: string | undefined;\r\n vbpqVanBanHuongDan?: string | undefined;\r\n vbpqVanBanThayThe?: string | undefined;\r\n vbpqVanBanBaiBo?: string | undefined;\r\n vbpqVanBanHuyBo?: string | undefined;\r\n vbpqVanBanDinhChi?: string | undefined;\r\n vbpqVanBanThayThe1Phan?: string | undefined;\r\n vbpqVanBanBaiBo1Phan?: string | undefined;\r\n vbpqVanBanHuyBo1Phan?: string | undefined;\r\n vbpqVanBanDinhChi1Phan?: string | undefined;\r\n vbpqVanBanSuaDoiBoSung?: string | undefined;\r\n vbpqVanbanduocsuadoi?: string | undefined;\r\n vbpqVanBanSuaDoi?: string | undefined;\r\n isToanVan?: boolean;\r\n isKiemTra?: boolean;\r\n htH_GhiChu?: string | undefined;\r\n htH_GhiChuThoiDiemCoHieuLuc?: string | undefined;\r\n htH_GhiChuNgayHetHieuLuc?: string | undefined;\r\n htH_NoiDungKienNghi?: string | undefined;\r\n htH_ThoiHanXuLy?: string | undefined;\r\n htH_KienNghi?: string | undefined;\r\n txtAttachments?: string | undefined;\r\n vbpqDaKiemTraTaoLap?: boolean;\r\n hasVanBanLienQuan?: boolean;\r\n isVanBanLienQuan?: number;\r\n txtLienKetTTHC?: string | undefined;\r\n vbpQ_CauHoiLienKet?: string | undefined;\r\n heThongChiaSe?: string | undefined;\r\n vbpqVanBanHetHieuLuc?: string | undefined;\r\n vbpqVanBanHetHieuLuc1Phan?: string | undefined;\r\n version?: string | undefined;\r\n author?: string | undefined;\r\n editor?: string | undefined;\r\n created?: Date;\r\n modified?: Date;\r\n listFileAttachAdd?: string[] | undefined;\r\n listFileAttach?: string[] | undefined;\r\n listFileRemove?: string[] | undefined;\r\n\r\n constructor(data?: ILtsvanban) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.vbpqTinhTrangHieuLuc = data.vbpqTinhTrangHieuLuc && !(data.vbpqTinhTrangHieuLuc).toJSON ? new Vbpqtinhtranghieuluc(data.vbpqTinhTrangHieuLuc) : this.vbpqTinhTrangHieuLuc;\r\n this.vbpqVanBanTiengAnh = data.vbpqVanBanTiengAnh && !(data.vbpqVanBanTiengAnh).toJSON ? new Vbpqvanbantienganh(data.vbpqVanBanTiengAnh) : this.vbpqVanBanTiengAnh;\r\n this.vbpqLoaivanban = data.vbpqLoaivanban && !(data.vbpqLoaivanban).toJSON ? new Vbpqloaivanban(data.vbpqLoaivanban) : this.vbpqLoaivanban;\r\n if (data.vbpqLinhVuc) {\r\n this.vbpqLinhVuc = [];\r\n for (let i = 0; i < data.vbpqLinhVuc.length; i++) {\r\n let item = data.vbpqLinhVuc[i];\r\n this.vbpqLinhVuc[i] = item && !(item).toJSON ? new Vbpqlinhvuc(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.isCanhBao = _data[\"isCanhBao\"];\r\n this.logVersion = _data[\"logVersion\"];\r\n this.exits = _data[\"exits\"];\r\n this.ltsVanBanGoc = _data[\"ltsVanBanGoc\"];\r\n this.id = _data[\"id\"];\r\n this.title = _data[\"title\"];\r\n this.vbpqLyDoHetHieuLuc1Phan = _data[\"vbpqLyDoHetHieuLuc1Phan\"];\r\n this.vbpqNgayHetHieuLuc1PhanText = _data[\"vbpqNgayHetHieuLuc1PhanText\"];\r\n this.title1 = _data[\"title1\"];\r\n this.vbpqDiaDanh = _data[\"vbpqDiaDanh\"];\r\n this.vbpqctListUrl = _data[\"vbpqctListUrl\"];\r\n this.vbpqctItemID = _data[\"vbpqctItemID\"];\r\n this.vbpqNgayapdung = _data[\"vbpqNgayapdung\"];\r\n this.vbpqNgayBanHanh = _data[\"vbpqNgayBanHanh\"] ? new Date(_data[\"vbpqNgayBanHanh\"].toString()) : undefined;\r\n this.vbpqNgaycohieuluc = _data[\"vbpqNgaycohieuluc\"] ? new Date(_data[\"vbpqNgaycohieuluc\"].toString()) : undefined;\r\n this.vbpqNgaydangcongbao = _data[\"vbpqNgaydangcongbao\"];\r\n this.vbpqNgayHetHieuLuc = _data[\"vbpqNgayHetHieuLuc\"];\r\n this.vbpqNgayHetHieuLuc1phan = _data[\"vbpqNgayHetHieuLuc1phan\"];\r\n this.vbpqNguontrich = _data[\"vbpqNguontrich\"];\r\n this.vbpqPhanHetHieuLuc = _data[\"vbpqPhanHetHieuLuc\"];\r\n this.vbpqSokyhieu = _data[\"vbpqSokyhieu\"];\r\n this.vbpqToanVan = _data[\"vbpqToanVan\"];\r\n this.vbpqTrichYeu = _data[\"vbpqTrichYeu\"];\r\n this.vbpqTypeOfVanBan = _data[\"vbpqTypeOfVanBan\"];\r\n this.readCount = _data[\"readCount\"];\r\n this.vbpqLaVanBanDuoc = _data[\"vbpqLaVanBanDuoc\"];\r\n this.isMultiDonVi = _data[\"isMultiDonVi\"];\r\n this.vbpqDanhMuc = _data[\"vbpqDanhMuc\"];\r\n this.vbpqPhamvidieuchinh = _data[\"vbpqPhamvidieuchinh\"];\r\n this.vbpqChedinh = _data[\"vbpqChedinh\"];\r\n this.vbpqTinhTrangHieuLuc = _data[\"vbpqTinhTrangHieuLuc\"] ? Vbpqtinhtranghieuluc.fromJS(_data[\"vbpqTinhTrangHieuLuc\"]) : undefined;\r\n this.vbpqLidohetHieuLuc = _data[\"vbpqLidohetHieuLuc\"];\r\n this.vbpqPhanHetHieuLuc1Phan = _data[\"vbpqPhanHetHieuLuc1Phan\"];\r\n this.vbpqVanbanduochuongdan = _data[\"vbpqVanbanduochuongdan\"];\r\n this.vbpqVanBanDuocQuyDinhChiTiet = _data[\"vbpqVanBanDuocQuyDinhChiTiet\"];\r\n this.vbpqVanBanQuyDinhChiTiet = _data[\"vbpqVanBanQuyDinhChiTiet\"];\r\n this.vbpqVanBanBiHetHieuLuc = _data[\"vbpqVanBanBiHetHieuLuc\"];\r\n this.vbpqVanBanLamHetHieuLuc = _data[\"vbpqVanBanLamHetHieuLuc\"];\r\n this.vbpqVanBanBiHetHieuLuc1Phan = _data[\"vbpqVanBanBiHetHieuLuc1Phan\"];\r\n this.vbpqVanBanLamHetHieuLuc1Phan = _data[\"vbpqVanBanLamHetHieuLuc1Phan\"];\r\n this.vbpqVanBanCanCu = _data[\"vbpqVanBanCanCu\"];\r\n this.vbpqVanbandanchieu = _data[\"vbpqVanbandanchieu\"];\r\n this.vbpqVanBanbithaythe = _data[\"vbpqVanBanbithaythe\"];\r\n this.vbpqVanbanBiBaibo = _data[\"vbpqVanbanBiBaibo\"];\r\n this.vbpqVanbanbiHuyBo = _data[\"vbpqVanbanbiHuyBo\"];\r\n this.vbpqVanbanbiDinhchi = _data[\"vbpqVanbanbiDinhchi\"];\r\n this.vbpqVanbanbiThaythe1phan = _data[\"vbpqVanbanbiThaythe1phan\"];\r\n this.vbpqVanbanbibaibo1phan = _data[\"vbpqVanbanbibaibo1phan\"];\r\n this.vbpqVanbanbihuybo1phan = _data[\"vbpqVanbanbihuybo1phan\"];\r\n this.vbpqVanbanbidinhchi1phan = _data[\"vbpqVanbanbidinhchi1phan\"];\r\n this.vbpqVanbanduocsuadoibosung = _data[\"vbpqVanbanduocsuadoibosung\"];\r\n this.vbpqVanbanbidinhchinh = _data[\"vbpqVanbanbidinhchinh\"];\r\n this.vbpqVanBanTiengAnh = _data[\"vbpqVanBanTiengAnh\"] ? Vbpqvanbantienganh.fromJS(_data[\"vbpqVanBanTiengAnh\"]) : undefined;\r\n this.vbHopNhatCoQuanHopNhatVBTV = _data[\"vbHopNhatCoQuanHopNhatVBTV\"];\r\n this.vbHopNhatVanBanNguonTV = _data[\"vbHopNhatVanBanNguonTV\"];\r\n this.vbHopNhatVanBanDichTV = _data[\"vbHopNhatVanBanDichTV\"];\r\n this.caInfor = _data[\"caInfor\"];\r\n this.vbpqLoaivanban = _data[\"vbpqLoaivanban\"] ? Vbpqloaivanban.fromJS(_data[\"vbpqLoaivanban\"]) : undefined;\r\n this.vbpqLoaivanbanTitle = _data[\"vbpqLoaivanbanTitle\"];\r\n this.vbpqvFooter = _data[\"vbpqvFooter\"];\r\n this.vbpqvHeader = _data[\"vbpqvHeader\"];\r\n this.oldID = _data[\"oldID\"];\r\n this.isDieuUoc = _data[\"isDieuUoc\"];\r\n if (Array.isArray(_data[\"vbpqLinhVuc\"])) {\r\n this.vbpqLinhVuc = [] as any;\r\n for (let item of _data[\"vbpqLinhVuc\"])\r\n this.vbpqLinhVuc!.push(Vbpqlinhvuc.fromJS(item));\r\n }\r\n this.vbpqCoquanbanhanh = _data[\"vbpqCoquanbanhanh\"];\r\n this.vbpqCoQuanChuTri = _data[\"vbpqCoQuanChuTri\"];\r\n this.vbpqCoQuanLienQuan = _data[\"vbpqCoQuanLienQuan\"];\r\n this.vbpqChucDanh = _data[\"vbpqChucDanh\"];\r\n this.vbpqNguoiKy = _data[\"vbpqNguoiKy\"];\r\n if (Array.isArray(_data[\"vbpqDonVi\"])) {\r\n this.vbpqDonVi = [] as any;\r\n for (let item of _data[\"vbpqDonVi\"])\r\n this.vbpqDonVi!.push(item);\r\n }\r\n this.vbpqVanBanChuaXacDinh = _data[\"vbpqVanBanChuaXacDinh\"];\r\n this.vbpqVanBanChuaXacDinh1Phan = _data[\"vbpqVanBanChuaXacDinh1Phan\"];\r\n this.vbpqVanBanLienQuanKhac = _data[\"vbpqVanBanLienQuanKhac\"];\r\n this.moderationStatus = _data[\"moderationStatus\"];\r\n this.vbpqNganh = _data[\"vbpqNganh\"];\r\n this.vbpqChuDe = _data[\"vbpqChuDe\"];\r\n this.vbpqDuThao = _data[\"vbpqDuThao\"];\r\n this.loaiVanBanLuocDo = _data[\"loaiVanBanLuocDo\"];\r\n this.loaiVanBanLuocDoTA = _data[\"loaiVanBanLuocDoTA\"];\r\n this.isVanBanGoc = _data[\"isVanBanGoc\"];\r\n this.favorites = _data[\"favorites\"];\r\n this.isVBPQ = _data[\"isVBPQ\"];\r\n this.thuocChuongTrinhCuaQuocHoi = _data[\"thuocChuongTrinhCuaQuocHoi\"];\r\n this.chuongTrinhTinh = _data[\"chuongTrinhTinh\"];\r\n this.duThaoTinh = _data[\"duThaoTinh\"];\r\n this.thuocChuongTrinhCuaChinhPhu = _data[\"thuocChuongTrinhCuaChinhPhu\"];\r\n this.thuocChuongTrinhCuaBo = _data[\"thuocChuongTrinhCuaBo\"];\r\n this.multipleDonVi = _data[\"multipleDonVi\"];\r\n this.ltsFileAttachClone = _data[\"ltsFileAttachClone\"];\r\n this.vbpqVanBanHuongDan = _data[\"vbpqVanBanHuongDan\"];\r\n this.vbpqVanBanThayThe = _data[\"vbpqVanBanThayThe\"];\r\n this.vbpqVanBanBaiBo = _data[\"vbpqVanBanBaiBo\"];\r\n this.vbpqVanBanHuyBo = _data[\"vbpqVanBanHuyBo\"];\r\n this.vbpqVanBanDinhChi = _data[\"vbpqVanBanDinhChi\"];\r\n this.vbpqVanBanThayThe1Phan = _data[\"vbpqVanBanThayThe1Phan\"];\r\n this.vbpqVanBanBaiBo1Phan = _data[\"vbpqVanBanBaiBo1Phan\"];\r\n this.vbpqVanBanHuyBo1Phan = _data[\"vbpqVanBanHuyBo1Phan\"];\r\n this.vbpqVanBanDinhChi1Phan = _data[\"vbpqVanBanDinhChi1Phan\"];\r\n this.vbpqVanBanSuaDoiBoSung = _data[\"vbpqVanBanSuaDoiBoSung\"];\r\n this.vbpqVanbanduocsuadoi = _data[\"vbpqVanbanduocsuadoi\"];\r\n this.vbpqVanBanSuaDoi = _data[\"vbpqVanBanSuaDoi\"];\r\n this.isToanVan = _data[\"isToanVan\"];\r\n this.isKiemTra = _data[\"isKiemTra\"];\r\n this.htH_GhiChu = _data[\"htH_GhiChu\"];\r\n this.htH_GhiChuThoiDiemCoHieuLuc = _data[\"htH_GhiChuThoiDiemCoHieuLuc\"];\r\n this.htH_GhiChuNgayHetHieuLuc = _data[\"htH_GhiChuNgayHetHieuLuc\"];\r\n this.htH_NoiDungKienNghi = _data[\"htH_NoiDungKienNghi\"];\r\n this.htH_ThoiHanXuLy = _data[\"htH_ThoiHanXuLy\"];\r\n this.htH_KienNghi = _data[\"htH_KienNghi\"];\r\n this.txtAttachments = _data[\"txtAttachments\"];\r\n this.vbpqDaKiemTraTaoLap = _data[\"vbpqDaKiemTraTaoLap\"];\r\n this.hasVanBanLienQuan = _data[\"hasVanBanLienQuan\"];\r\n this.isVanBanLienQuan = _data[\"isVanBanLienQuan\"];\r\n this.txtLienKetTTHC = _data[\"txtLienKetTTHC\"];\r\n this.vbpQ_CauHoiLienKet = _data[\"vbpQ_CauHoiLienKet\"];\r\n this.heThongChiaSe = _data[\"heThongChiaSe\"];\r\n this.vbpqVanBanHetHieuLuc = _data[\"vbpqVanBanHetHieuLuc\"];\r\n this.vbpqVanBanHetHieuLuc1Phan = _data[\"vbpqVanBanHetHieuLuc1Phan\"];\r\n this.version = _data[\"version\"];\r\n this.author = _data[\"author\"];\r\n this.editor = _data[\"editor\"];\r\n this.created = _data[\"created\"] ? new Date(_data[\"created\"].toString()) : undefined;\r\n this.modified = _data[\"modified\"] ? new Date(_data[\"modified\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"listFileAttachAdd\"])) {\r\n this.listFileAttachAdd = [] as any;\r\n for (let item of _data[\"listFileAttachAdd\"])\r\n this.listFileAttachAdd!.push(item);\r\n }\r\n if (Array.isArray(_data[\"listFileAttach\"])) {\r\n this.listFileAttach = [] as any;\r\n for (let item of _data[\"listFileAttach\"])\r\n this.listFileAttach!.push(item);\r\n }\r\n if (Array.isArray(_data[\"listFileRemove\"])) {\r\n this.listFileRemove = [] as any;\r\n for (let item of _data[\"listFileRemove\"])\r\n this.listFileRemove!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): Ltsvanban {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Ltsvanban();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"isCanhBao\"] = this.isCanhBao;\r\n data[\"logVersion\"] = this.logVersion;\r\n data[\"exits\"] = this.exits;\r\n data[\"ltsVanBanGoc\"] = this.ltsVanBanGoc;\r\n data[\"id\"] = this.id;\r\n data[\"title\"] = this.title;\r\n data[\"vbpqLyDoHetHieuLuc1Phan\"] = this.vbpqLyDoHetHieuLuc1Phan;\r\n data[\"vbpqNgayHetHieuLuc1PhanText\"] = this.vbpqNgayHetHieuLuc1PhanText;\r\n data[\"title1\"] = this.title1;\r\n data[\"vbpqDiaDanh\"] = this.vbpqDiaDanh;\r\n data[\"vbpqctListUrl\"] = this.vbpqctListUrl;\r\n data[\"vbpqctItemID\"] = this.vbpqctItemID;\r\n data[\"vbpqNgayapdung\"] = this.vbpqNgayapdung;\r\n data[\"vbpqNgayBanHanh\"] = this.vbpqNgayBanHanh ? this.vbpqNgayBanHanh.toISOString() : undefined;\r\n data[\"vbpqNgaycohieuluc\"] = this.vbpqNgaycohieuluc ? this.vbpqNgaycohieuluc.toISOString() : undefined;\r\n data[\"vbpqNgaydangcongbao\"] = this.vbpqNgaydangcongbao;\r\n data[\"vbpqNgayHetHieuLuc\"] = this.vbpqNgayHetHieuLuc;\r\n data[\"vbpqNgayHetHieuLuc1phan\"] = this.vbpqNgayHetHieuLuc1phan;\r\n data[\"vbpqNguontrich\"] = this.vbpqNguontrich;\r\n data[\"vbpqPhanHetHieuLuc\"] = this.vbpqPhanHetHieuLuc;\r\n data[\"vbpqSokyhieu\"] = this.vbpqSokyhieu;\r\n data[\"vbpqToanVan\"] = this.vbpqToanVan;\r\n data[\"vbpqTrichYeu\"] = this.vbpqTrichYeu;\r\n data[\"vbpqTypeOfVanBan\"] = this.vbpqTypeOfVanBan;\r\n data[\"readCount\"] = this.readCount;\r\n data[\"vbpqLaVanBanDuoc\"] = this.vbpqLaVanBanDuoc;\r\n data[\"isMultiDonVi\"] = this.isMultiDonVi;\r\n data[\"vbpqDanhMuc\"] = this.vbpqDanhMuc;\r\n data[\"vbpqPhamvidieuchinh\"] = this.vbpqPhamvidieuchinh;\r\n data[\"vbpqChedinh\"] = this.vbpqChedinh;\r\n data[\"vbpqTinhTrangHieuLuc\"] = this.vbpqTinhTrangHieuLuc ? this.vbpqTinhTrangHieuLuc.toJSON() : undefined;\r\n data[\"vbpqLidohetHieuLuc\"] = this.vbpqLidohetHieuLuc;\r\n data[\"vbpqPhanHetHieuLuc1Phan\"] = this.vbpqPhanHetHieuLuc1Phan;\r\n data[\"vbpqVanbanduochuongdan\"] = this.vbpqVanbanduochuongdan;\r\n data[\"vbpqVanBanDuocQuyDinhChiTiet\"] = this.vbpqVanBanDuocQuyDinhChiTiet;\r\n data[\"vbpqVanBanQuyDinhChiTiet\"] = this.vbpqVanBanQuyDinhChiTiet;\r\n data[\"vbpqVanBanBiHetHieuLuc\"] = this.vbpqVanBanBiHetHieuLuc;\r\n data[\"vbpqVanBanLamHetHieuLuc\"] = this.vbpqVanBanLamHetHieuLuc;\r\n data[\"vbpqVanBanBiHetHieuLuc1Phan\"] = this.vbpqVanBanBiHetHieuLuc1Phan;\r\n data[\"vbpqVanBanLamHetHieuLuc1Phan\"] = this.vbpqVanBanLamHetHieuLuc1Phan;\r\n data[\"vbpqVanBanCanCu\"] = this.vbpqVanBanCanCu;\r\n data[\"vbpqVanbandanchieu\"] = this.vbpqVanbandanchieu;\r\n data[\"vbpqVanBanbithaythe\"] = this.vbpqVanBanbithaythe;\r\n data[\"vbpqVanbanBiBaibo\"] = this.vbpqVanbanBiBaibo;\r\n data[\"vbpqVanbanbiHuyBo\"] = this.vbpqVanbanbiHuyBo;\r\n data[\"vbpqVanbanbiDinhchi\"] = this.vbpqVanbanbiDinhchi;\r\n data[\"vbpqVanbanbiThaythe1phan\"] = this.vbpqVanbanbiThaythe1phan;\r\n data[\"vbpqVanbanbibaibo1phan\"] = this.vbpqVanbanbibaibo1phan;\r\n data[\"vbpqVanbanbihuybo1phan\"] = this.vbpqVanbanbihuybo1phan;\r\n data[\"vbpqVanbanbidinhchi1phan\"] = this.vbpqVanbanbidinhchi1phan;\r\n data[\"vbpqVanbanduocsuadoibosung\"] = this.vbpqVanbanduocsuadoibosung;\r\n data[\"vbpqVanbanbidinhchinh\"] = this.vbpqVanbanbidinhchinh;\r\n data[\"vbpqVanBanTiengAnh\"] = this.vbpqVanBanTiengAnh ? this.vbpqVanBanTiengAnh.toJSON() : undefined;\r\n data[\"vbHopNhatCoQuanHopNhatVBTV\"] = this.vbHopNhatCoQuanHopNhatVBTV;\r\n data[\"vbHopNhatVanBanNguonTV\"] = this.vbHopNhatVanBanNguonTV;\r\n data[\"vbHopNhatVanBanDichTV\"] = this.vbHopNhatVanBanDichTV;\r\n data[\"caInfor\"] = this.caInfor;\r\n data[\"vbpqLoaivanban\"] = this.vbpqLoaivanban ? this.vbpqLoaivanban.toJSON() : undefined;\r\n data[\"vbpqLoaivanbanTitle\"] = this.vbpqLoaivanbanTitle;\r\n data[\"vbpqvFooter\"] = this.vbpqvFooter;\r\n data[\"vbpqvHeader\"] = this.vbpqvHeader;\r\n data[\"oldID\"] = this.oldID;\r\n data[\"isDieuUoc\"] = this.isDieuUoc;\r\n if (Array.isArray(this.vbpqLinhVuc)) {\r\n data[\"vbpqLinhVuc\"] = [];\r\n for (let item of this.vbpqLinhVuc)\r\n data[\"vbpqLinhVuc\"].push(item.toJSON());\r\n }\r\n data[\"vbpqCoquanbanhanh\"] = this.vbpqCoquanbanhanh;\r\n data[\"vbpqCoQuanChuTri\"] = this.vbpqCoQuanChuTri;\r\n data[\"vbpqCoQuanLienQuan\"] = this.vbpqCoQuanLienQuan;\r\n data[\"vbpqChucDanh\"] = this.vbpqChucDanh;\r\n data[\"vbpqNguoiKy\"] = this.vbpqNguoiKy;\r\n if (Array.isArray(this.vbpqDonVi)) {\r\n data[\"vbpqDonVi\"] = [];\r\n for (let item of this.vbpqDonVi)\r\n data[\"vbpqDonVi\"].push(item);\r\n }\r\n data[\"vbpqVanBanChuaXacDinh\"] = this.vbpqVanBanChuaXacDinh;\r\n data[\"vbpqVanBanChuaXacDinh1Phan\"] = this.vbpqVanBanChuaXacDinh1Phan;\r\n data[\"vbpqVanBanLienQuanKhac\"] = this.vbpqVanBanLienQuanKhac;\r\n data[\"moderationStatus\"] = this.moderationStatus;\r\n data[\"vbpqNganh\"] = this.vbpqNganh;\r\n data[\"vbpqChuDe\"] = this.vbpqChuDe;\r\n data[\"vbpqDuThao\"] = this.vbpqDuThao;\r\n data[\"loaiVanBanLuocDo\"] = this.loaiVanBanLuocDo;\r\n data[\"loaiVanBanLuocDoTA\"] = this.loaiVanBanLuocDoTA;\r\n data[\"isVanBanGoc\"] = this.isVanBanGoc;\r\n data[\"favorites\"] = this.favorites;\r\n data[\"isVBPQ\"] = this.isVBPQ;\r\n data[\"thuocChuongTrinhCuaQuocHoi\"] = this.thuocChuongTrinhCuaQuocHoi;\r\n data[\"chuongTrinhTinh\"] = this.chuongTrinhTinh;\r\n data[\"duThaoTinh\"] = this.duThaoTinh;\r\n data[\"thuocChuongTrinhCuaChinhPhu\"] = this.thuocChuongTrinhCuaChinhPhu;\r\n data[\"thuocChuongTrinhCuaBo\"] = this.thuocChuongTrinhCuaBo;\r\n data[\"multipleDonVi\"] = this.multipleDonVi;\r\n data[\"ltsFileAttachClone\"] = this.ltsFileAttachClone;\r\n data[\"vbpqVanBanHuongDan\"] = this.vbpqVanBanHuongDan;\r\n data[\"vbpqVanBanThayThe\"] = this.vbpqVanBanThayThe;\r\n data[\"vbpqVanBanBaiBo\"] = this.vbpqVanBanBaiBo;\r\n data[\"vbpqVanBanHuyBo\"] = this.vbpqVanBanHuyBo;\r\n data[\"vbpqVanBanDinhChi\"] = this.vbpqVanBanDinhChi;\r\n data[\"vbpqVanBanThayThe1Phan\"] = this.vbpqVanBanThayThe1Phan;\r\n data[\"vbpqVanBanBaiBo1Phan\"] = this.vbpqVanBanBaiBo1Phan;\r\n data[\"vbpqVanBanHuyBo1Phan\"] = this.vbpqVanBanHuyBo1Phan;\r\n data[\"vbpqVanBanDinhChi1Phan\"] = this.vbpqVanBanDinhChi1Phan;\r\n data[\"vbpqVanBanSuaDoiBoSung\"] = this.vbpqVanBanSuaDoiBoSung;\r\n data[\"vbpqVanbanduocsuadoi\"] = this.vbpqVanbanduocsuadoi;\r\n data[\"vbpqVanBanSuaDoi\"] = this.vbpqVanBanSuaDoi;\r\n data[\"isToanVan\"] = this.isToanVan;\r\n data[\"isKiemTra\"] = this.isKiemTra;\r\n data[\"htH_GhiChu\"] = this.htH_GhiChu;\r\n data[\"htH_GhiChuThoiDiemCoHieuLuc\"] = this.htH_GhiChuThoiDiemCoHieuLuc;\r\n data[\"htH_GhiChuNgayHetHieuLuc\"] = this.htH_GhiChuNgayHetHieuLuc;\r\n data[\"htH_NoiDungKienNghi\"] = this.htH_NoiDungKienNghi;\r\n data[\"htH_ThoiHanXuLy\"] = this.htH_ThoiHanXuLy;\r\n data[\"htH_KienNghi\"] = this.htH_KienNghi;\r\n data[\"txtAttachments\"] = this.txtAttachments;\r\n data[\"vbpqDaKiemTraTaoLap\"] = this.vbpqDaKiemTraTaoLap;\r\n data[\"hasVanBanLienQuan\"] = this.hasVanBanLienQuan;\r\n data[\"isVanBanLienQuan\"] = this.isVanBanLienQuan;\r\n data[\"txtLienKetTTHC\"] = this.txtLienKetTTHC;\r\n data[\"vbpQ_CauHoiLienKet\"] = this.vbpQ_CauHoiLienKet;\r\n data[\"heThongChiaSe\"] = this.heThongChiaSe;\r\n data[\"vbpqVanBanHetHieuLuc\"] = this.vbpqVanBanHetHieuLuc;\r\n data[\"vbpqVanBanHetHieuLuc1Phan\"] = this.vbpqVanBanHetHieuLuc1Phan;\r\n data[\"version\"] = this.version;\r\n data[\"author\"] = this.author;\r\n data[\"editor\"] = this.editor;\r\n data[\"created\"] = this.created ? this.created.toISOString() : undefined;\r\n data[\"modified\"] = this.modified ? this.modified.toISOString() : undefined;\r\n if (Array.isArray(this.listFileAttachAdd)) {\r\n data[\"listFileAttachAdd\"] = [];\r\n for (let item of this.listFileAttachAdd)\r\n data[\"listFileAttachAdd\"].push(item);\r\n }\r\n if (Array.isArray(this.listFileAttach)) {\r\n data[\"listFileAttach\"] = [];\r\n for (let item of this.listFileAttach)\r\n data[\"listFileAttach\"].push(item);\r\n }\r\n if (Array.isArray(this.listFileRemove)) {\r\n data[\"listFileRemove\"] = [];\r\n for (let item of this.listFileRemove)\r\n data[\"listFileRemove\"].push(item);\r\n }\r\n return data;\r\n }\r\n\r\n clone(): Ltsvanban {\r\n const json = this.toJSON();\r\n let result = new Ltsvanban();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ILtsvanban {\r\n isCanhBao?: boolean;\r\n logVersion?: string | undefined;\r\n exits?: boolean;\r\n ltsVanBanGoc?: string | undefined;\r\n id?: number;\r\n title?: string | undefined;\r\n vbpqLyDoHetHieuLuc1Phan?: string | undefined;\r\n vbpqNgayHetHieuLuc1PhanText?: string | undefined;\r\n title1?: string | undefined;\r\n vbpqDiaDanh?: string | undefined;\r\n vbpqctListUrl?: string | undefined;\r\n vbpqctItemID?: string | undefined;\r\n vbpqNgayapdung?: string | undefined;\r\n vbpqNgayBanHanh?: Date;\r\n vbpqNgaycohieuluc?: Date;\r\n vbpqNgaydangcongbao?: string | undefined;\r\n vbpqNgayHetHieuLuc?: string | undefined;\r\n vbpqNgayHetHieuLuc1phan?: string | undefined;\r\n vbpqNguontrich?: string | undefined;\r\n vbpqPhanHetHieuLuc?: string | undefined;\r\n vbpqSokyhieu?: string | undefined;\r\n vbpqToanVan?: string | undefined;\r\n vbpqTrichYeu?: string | undefined;\r\n vbpqTypeOfVanBan?: number;\r\n readCount?: number;\r\n vbpqLaVanBanDuoc?: string | undefined;\r\n isMultiDonVi?: string | undefined;\r\n vbpqDanhMuc?: string | undefined;\r\n vbpqPhamvidieuchinh?: string | undefined;\r\n vbpqChedinh?: string | undefined;\r\n vbpqTinhTrangHieuLuc?: IVbpqtinhtranghieuluc;\r\n vbpqLidohetHieuLuc?: string | undefined;\r\n vbpqPhanHetHieuLuc1Phan?: string | undefined;\r\n vbpqVanbanduochuongdan?: string | undefined;\r\n vbpqVanBanDuocQuyDinhChiTiet?: string | undefined;\r\n vbpqVanBanQuyDinhChiTiet?: string | undefined;\r\n vbpqVanBanBiHetHieuLuc?: string | undefined;\r\n vbpqVanBanLamHetHieuLuc?: string | undefined;\r\n vbpqVanBanBiHetHieuLuc1Phan?: string | undefined;\r\n vbpqVanBanLamHetHieuLuc1Phan?: string | undefined;\r\n vbpqVanBanCanCu?: string | undefined;\r\n vbpqVanbandanchieu?: string | undefined;\r\n vbpqVanBanbithaythe?: string | undefined;\r\n vbpqVanbanBiBaibo?: string | undefined;\r\n vbpqVanbanbiHuyBo?: string | undefined;\r\n vbpqVanbanbiDinhchi?: string | undefined;\r\n vbpqVanbanbiThaythe1phan?: string | undefined;\r\n vbpqVanbanbibaibo1phan?: string | undefined;\r\n vbpqVanbanbihuybo1phan?: string | undefined;\r\n vbpqVanbanbidinhchi1phan?: string | undefined;\r\n vbpqVanbanduocsuadoibosung?: string | undefined;\r\n vbpqVanbanbidinhchinh?: string | undefined;\r\n vbpqVanBanTiengAnh?: IVbpqvanbantienganh;\r\n vbHopNhatCoQuanHopNhatVBTV?: string | undefined;\r\n vbHopNhatVanBanNguonTV?: string | undefined;\r\n vbHopNhatVanBanDichTV?: string | undefined;\r\n caInfor?: string | undefined;\r\n vbpqLoaivanban?: IVbpqloaivanban;\r\n vbpqLoaivanbanTitle?: string | undefined;\r\n vbpqvFooter?: boolean;\r\n vbpqvHeader?: boolean;\r\n oldID?: number;\r\n isDieuUoc?: boolean;\r\n vbpqLinhVuc?: IVbpqlinhvuc[] | undefined;\r\n vbpqCoquanbanhanh?: string | undefined;\r\n vbpqCoQuanChuTri?: string | undefined;\r\n vbpqCoQuanLienQuan?: string | undefined;\r\n vbpqChucDanh?: string | undefined;\r\n vbpqNguoiKy?: string | undefined;\r\n vbpqDonVi?: string[] | undefined;\r\n vbpqVanBanChuaXacDinh?: string | undefined;\r\n vbpqVanBanChuaXacDinh1Phan?: string | undefined;\r\n vbpqVanBanLienQuanKhac?: string | undefined;\r\n moderationStatus?: number;\r\n vbpqNganh?: string | undefined;\r\n vbpqChuDe?: string | undefined;\r\n vbpqDuThao?: string | undefined;\r\n loaiVanBanLuocDo?: string | undefined;\r\n loaiVanBanLuocDoTA?: string | undefined;\r\n isVanBanGoc?: boolean;\r\n favorites?: boolean;\r\n isVBPQ?: boolean;\r\n thuocChuongTrinhCuaQuocHoi?: string | undefined;\r\n chuongTrinhTinh?: string | undefined;\r\n duThaoTinh?: string | undefined;\r\n thuocChuongTrinhCuaChinhPhu?: string | undefined;\r\n thuocChuongTrinhCuaBo?: string | undefined;\r\n multipleDonVi?: string | undefined;\r\n ltsFileAttachClone?: string | undefined;\r\n vbpqVanBanHuongDan?: string | undefined;\r\n vbpqVanBanThayThe?: string | undefined;\r\n vbpqVanBanBaiBo?: string | undefined;\r\n vbpqVanBanHuyBo?: string | undefined;\r\n vbpqVanBanDinhChi?: string | undefined;\r\n vbpqVanBanThayThe1Phan?: string | undefined;\r\n vbpqVanBanBaiBo1Phan?: string | undefined;\r\n vbpqVanBanHuyBo1Phan?: string | undefined;\r\n vbpqVanBanDinhChi1Phan?: string | undefined;\r\n vbpqVanBanSuaDoiBoSung?: string | undefined;\r\n vbpqVanbanduocsuadoi?: string | undefined;\r\n vbpqVanBanSuaDoi?: string | undefined;\r\n isToanVan?: boolean;\r\n isKiemTra?: boolean;\r\n htH_GhiChu?: string | undefined;\r\n htH_GhiChuThoiDiemCoHieuLuc?: string | undefined;\r\n htH_GhiChuNgayHetHieuLuc?: string | undefined;\r\n htH_NoiDungKienNghi?: string | undefined;\r\n htH_ThoiHanXuLy?: string | undefined;\r\n htH_KienNghi?: string | undefined;\r\n txtAttachments?: string | undefined;\r\n vbpqDaKiemTraTaoLap?: boolean;\r\n hasVanBanLienQuan?: boolean;\r\n isVanBanLienQuan?: number;\r\n txtLienKetTTHC?: string | undefined;\r\n vbpQ_CauHoiLienKet?: string | undefined;\r\n heThongChiaSe?: string | undefined;\r\n vbpqVanBanHetHieuLuc?: string | undefined;\r\n vbpqVanBanHetHieuLuc1Phan?: string | undefined;\r\n version?: string | undefined;\r\n author?: string | undefined;\r\n editor?: string | undefined;\r\n created?: Date;\r\n modified?: Date;\r\n listFileAttachAdd?: string[] | undefined;\r\n listFileAttach?: string[] | undefined;\r\n listFileRemove?: string[] | undefined;\r\n}\r\n\r\nexport enum MappingType {\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n}\r\n\r\nexport class MemberInfo implements IMemberInfo {\r\n memberType?: MemberTypes;\r\n readonly name?: string | undefined;\r\n declaringType?: Type;\r\n reflectedType?: Type;\r\n module?: Module;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n\r\n constructor(data?: IMemberInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType;\r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType;\r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module;\r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberType = _data[\"memberType\"];\r\n (this).name = _data[\"name\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MemberInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MemberInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberType\"] = this.memberType;\r\n data[\"name\"] = this.name;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n return data;\r\n }\r\n\r\n clone(): MemberInfo {\r\n const json = this.toJSON();\r\n let result = new MemberInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IMemberInfo {\r\n memberType?: MemberTypes;\r\n name?: string | undefined;\r\n declaringType?: IType;\r\n reflectedType?: IType;\r\n module?: IModule;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n}\r\n\r\nexport enum MemberTypes {\r\n _1 = 1,\r\n _2 = 2,\r\n _4 = 4,\r\n _8 = 8,\r\n _16 = 16,\r\n _32 = 32,\r\n _64 = 64,\r\n _128 = 128,\r\n _191 = 191,\r\n}\r\n\r\nexport class MenuModel implements IMenuModel {\r\n id?: string | undefined;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IMenuModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MenuModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MenuModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n\r\n clone(): MenuModel {\r\n const json = this.toJSON();\r\n let result = new MenuModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IMenuModel {\r\n id?: string | undefined;\r\n name?: string | undefined;\r\n}\r\n\r\nexport enum MethodAttributes {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n _6 = 6,\r\n _7 = 7,\r\n _8 = 8,\r\n _16 = 16,\r\n _32 = 32,\r\n _64 = 64,\r\n _128 = 128,\r\n _256 = 256,\r\n _512 = 512,\r\n _1024 = 1024,\r\n _2048 = 2048,\r\n _4096 = 4096,\r\n _8192 = 8192,\r\n _16384 = 16384,\r\n _32768 = 32768,\r\n _53248 = 53248,\r\n}\r\n\r\nexport class MethodBase implements IMethodBase {\r\n memberType?: MemberTypes;\r\n readonly name?: string | undefined;\r\n declaringType?: Type;\r\n reflectedType?: Type;\r\n module?: Module;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n attributes?: MethodAttributes;\r\n methodImplementationFlags?: MethodImplAttributes;\r\n callingConvention?: CallingConventions;\r\n readonly isAbstract?: boolean;\r\n readonly isConstructor?: boolean;\r\n readonly isFinal?: boolean;\r\n readonly isHideBySig?: boolean;\r\n readonly isSpecialName?: boolean;\r\n readonly isStatic?: boolean;\r\n readonly isVirtual?: boolean;\r\n readonly isAssembly?: boolean;\r\n readonly isFamily?: boolean;\r\n readonly isFamilyAndAssembly?: boolean;\r\n readonly isFamilyOrAssembly?: boolean;\r\n readonly isPrivate?: boolean;\r\n readonly isPublic?: boolean;\r\n readonly isConstructedGenericMethod?: boolean;\r\n readonly isGenericMethod?: boolean;\r\n readonly isGenericMethodDefinition?: boolean;\r\n readonly containsGenericParameters?: boolean;\r\n methodHandle?: RuntimeMethodHandle;\r\n readonly isSecurityCritical?: boolean;\r\n readonly isSecuritySafeCritical?: boolean;\r\n readonly isSecurityTransparent?: boolean;\r\n\r\n constructor(data?: IMethodBase) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType;\r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType;\r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module;\r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.methodHandle = data.methodHandle && !(data.methodHandle).toJSON ? new RuntimeMethodHandle(data.methodHandle) : this.methodHandle;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberType = _data[\"memberType\"];\r\n (this).name = _data[\"name\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n this.attributes = _data[\"attributes\"];\r\n this.methodImplementationFlags = _data[\"methodImplementationFlags\"];\r\n this.callingConvention = _data[\"callingConvention\"];\r\n (this).isAbstract = _data[\"isAbstract\"];\r\n (this).isConstructor = _data[\"isConstructor\"];\r\n (this).isFinal = _data[\"isFinal\"];\r\n (this).isHideBySig = _data[\"isHideBySig\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n (this).isStatic = _data[\"isStatic\"];\r\n (this).isVirtual = _data[\"isVirtual\"];\r\n (this).isAssembly = _data[\"isAssembly\"];\r\n (this).isFamily = _data[\"isFamily\"];\r\n (this).isFamilyAndAssembly = _data[\"isFamilyAndAssembly\"];\r\n (this).isFamilyOrAssembly = _data[\"isFamilyOrAssembly\"];\r\n (this).isPrivate = _data[\"isPrivate\"];\r\n (this).isPublic = _data[\"isPublic\"];\r\n (this).isConstructedGenericMethod = _data[\"isConstructedGenericMethod\"];\r\n (this).isGenericMethod = _data[\"isGenericMethod\"];\r\n (this).isGenericMethodDefinition = _data[\"isGenericMethodDefinition\"];\r\n (this).containsGenericParameters = _data[\"containsGenericParameters\"];\r\n this.methodHandle = _data[\"methodHandle\"] ? RuntimeMethodHandle.fromJS(_data[\"methodHandle\"]) : undefined;\r\n (this).isSecurityCritical = _data[\"isSecurityCritical\"];\r\n (this).isSecuritySafeCritical = _data[\"isSecuritySafeCritical\"];\r\n (this).isSecurityTransparent = _data[\"isSecurityTransparent\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MethodBase {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MethodBase();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberType\"] = this.memberType;\r\n data[\"name\"] = this.name;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"methodImplementationFlags\"] = this.methodImplementationFlags;\r\n data[\"callingConvention\"] = this.callingConvention;\r\n data[\"isAbstract\"] = this.isAbstract;\r\n data[\"isConstructor\"] = this.isConstructor;\r\n data[\"isFinal\"] = this.isFinal;\r\n data[\"isHideBySig\"] = this.isHideBySig;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"isStatic\"] = this.isStatic;\r\n data[\"isVirtual\"] = this.isVirtual;\r\n data[\"isAssembly\"] = this.isAssembly;\r\n data[\"isFamily\"] = this.isFamily;\r\n data[\"isFamilyAndAssembly\"] = this.isFamilyAndAssembly;\r\n data[\"isFamilyOrAssembly\"] = this.isFamilyOrAssembly;\r\n data[\"isPrivate\"] = this.isPrivate;\r\n data[\"isPublic\"] = this.isPublic;\r\n data[\"isConstructedGenericMethod\"] = this.isConstructedGenericMethod;\r\n data[\"isGenericMethod\"] = this.isGenericMethod;\r\n data[\"isGenericMethodDefinition\"] = this.isGenericMethodDefinition;\r\n data[\"containsGenericParameters\"] = this.containsGenericParameters;\r\n data[\"methodHandle\"] = this.methodHandle ? this.methodHandle.toJSON() : undefined;\r\n data[\"isSecurityCritical\"] = this.isSecurityCritical;\r\n data[\"isSecuritySafeCritical\"] = this.isSecuritySafeCritical;\r\n data[\"isSecurityTransparent\"] = this.isSecurityTransparent;\r\n return data;\r\n }\r\n\r\n clone(): MethodBase {\r\n const json = this.toJSON();\r\n let result = new MethodBase();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IMethodBase {\r\n memberType?: MemberTypes;\r\n name?: string | undefined;\r\n declaringType?: IType;\r\n reflectedType?: IType;\r\n module?: IModule;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n attributes?: MethodAttributes;\r\n methodImplementationFlags?: MethodImplAttributes;\r\n callingConvention?: CallingConventions;\r\n isAbstract?: boolean;\r\n isConstructor?: boolean;\r\n isFinal?: boolean;\r\n isHideBySig?: boolean;\r\n isSpecialName?: boolean;\r\n isStatic?: boolean;\r\n isVirtual?: boolean;\r\n isAssembly?: boolean;\r\n isFamily?: boolean;\r\n isFamilyAndAssembly?: boolean;\r\n isFamilyOrAssembly?: boolean;\r\n isPrivate?: boolean;\r\n isPublic?: boolean;\r\n isConstructedGenericMethod?: boolean;\r\n isGenericMethod?: boolean;\r\n isGenericMethodDefinition?: boolean;\r\n containsGenericParameters?: boolean;\r\n methodHandle?: IRuntimeMethodHandle;\r\n isSecurityCritical?: boolean;\r\n isSecuritySafeCritical?: boolean;\r\n isSecurityTransparent?: boolean;\r\n}\r\n\r\nexport enum MethodImplAttributes {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _8 = 8,\r\n _16 = 16,\r\n _32 = 32,\r\n _64 = 64,\r\n _128 = 128,\r\n _256 = 256,\r\n _512 = 512,\r\n _4096 = 4096,\r\n _65535 = 65535,\r\n}\r\n\r\nexport class MethodInfo implements IMethodInfo {\r\n readonly name?: string | undefined;\r\n declaringType?: Type;\r\n reflectedType?: Type;\r\n module?: Module;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n attributes?: MethodAttributes;\r\n methodImplementationFlags?: MethodImplAttributes;\r\n callingConvention?: CallingConventions;\r\n readonly isAbstract?: boolean;\r\n readonly isConstructor?: boolean;\r\n readonly isFinal?: boolean;\r\n readonly isHideBySig?: boolean;\r\n readonly isSpecialName?: boolean;\r\n readonly isStatic?: boolean;\r\n readonly isVirtual?: boolean;\r\n readonly isAssembly?: boolean;\r\n readonly isFamily?: boolean;\r\n readonly isFamilyAndAssembly?: boolean;\r\n readonly isFamilyOrAssembly?: boolean;\r\n readonly isPrivate?: boolean;\r\n readonly isPublic?: boolean;\r\n readonly isConstructedGenericMethod?: boolean;\r\n readonly isGenericMethod?: boolean;\r\n readonly isGenericMethodDefinition?: boolean;\r\n readonly containsGenericParameters?: boolean;\r\n methodHandle?: RuntimeMethodHandle;\r\n readonly isSecurityCritical?: boolean;\r\n readonly isSecuritySafeCritical?: boolean;\r\n readonly isSecurityTransparent?: boolean;\r\n memberType?: MemberTypes;\r\n returnParameter?: ParameterInfo;\r\n returnType?: Type;\r\n returnTypeCustomAttributes?: ICustomAttributeProvider;\r\n\r\n constructor(data?: IMethodInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType;\r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType;\r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module;\r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.methodHandle = data.methodHandle && !(data.methodHandle).toJSON ? new RuntimeMethodHandle(data.methodHandle) : this.methodHandle;\r\n this.returnParameter = data.returnParameter && !(data.returnParameter).toJSON ? new ParameterInfo(data.returnParameter) : this.returnParameter;\r\n this.returnType = data.returnType && !(data.returnType).toJSON ? new Type(data.returnType) : this.returnType;\r\n this.returnTypeCustomAttributes = data.returnTypeCustomAttributes && !(data.returnTypeCustomAttributes).toJSON ? new ICustomAttributeProvider(data.returnTypeCustomAttributes) : this.returnTypeCustomAttributes;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n this.attributes = _data[\"attributes\"];\r\n this.methodImplementationFlags = _data[\"methodImplementationFlags\"];\r\n this.callingConvention = _data[\"callingConvention\"];\r\n (this).isAbstract = _data[\"isAbstract\"];\r\n (this).isConstructor = _data[\"isConstructor\"];\r\n (this).isFinal = _data[\"isFinal\"];\r\n (this).isHideBySig = _data[\"isHideBySig\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n (this).isStatic = _data[\"isStatic\"];\r\n (this).isVirtual = _data[\"isVirtual\"];\r\n (this).isAssembly = _data[\"isAssembly\"];\r\n (this).isFamily = _data[\"isFamily\"];\r\n (this).isFamilyAndAssembly = _data[\"isFamilyAndAssembly\"];\r\n (this).isFamilyOrAssembly = _data[\"isFamilyOrAssembly\"];\r\n (this).isPrivate = _data[\"isPrivate\"];\r\n (this).isPublic = _data[\"isPublic\"];\r\n (this).isConstructedGenericMethod = _data[\"isConstructedGenericMethod\"];\r\n (this).isGenericMethod = _data[\"isGenericMethod\"];\r\n (this).isGenericMethodDefinition = _data[\"isGenericMethodDefinition\"];\r\n (this).containsGenericParameters = _data[\"containsGenericParameters\"];\r\n this.methodHandle = _data[\"methodHandle\"] ? RuntimeMethodHandle.fromJS(_data[\"methodHandle\"]) : undefined;\r\n (this).isSecurityCritical = _data[\"isSecurityCritical\"];\r\n (this).isSecuritySafeCritical = _data[\"isSecuritySafeCritical\"];\r\n (this).isSecurityTransparent = _data[\"isSecurityTransparent\"];\r\n this.memberType = _data[\"memberType\"];\r\n this.returnParameter = _data[\"returnParameter\"] ? ParameterInfo.fromJS(_data[\"returnParameter\"]) : undefined;\r\n this.returnType = _data[\"returnType\"] ? Type.fromJS(_data[\"returnType\"]) : undefined;\r\n this.returnTypeCustomAttributes = _data[\"returnTypeCustomAttributes\"] ? ICustomAttributeProvider.fromJS(_data[\"returnTypeCustomAttributes\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): MethodInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MethodInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"methodImplementationFlags\"] = this.methodImplementationFlags;\r\n data[\"callingConvention\"] = this.callingConvention;\r\n data[\"isAbstract\"] = this.isAbstract;\r\n data[\"isConstructor\"] = this.isConstructor;\r\n data[\"isFinal\"] = this.isFinal;\r\n data[\"isHideBySig\"] = this.isHideBySig;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"isStatic\"] = this.isStatic;\r\n data[\"isVirtual\"] = this.isVirtual;\r\n data[\"isAssembly\"] = this.isAssembly;\r\n data[\"isFamily\"] = this.isFamily;\r\n data[\"isFamilyAndAssembly\"] = this.isFamilyAndAssembly;\r\n data[\"isFamilyOrAssembly\"] = this.isFamilyOrAssembly;\r\n data[\"isPrivate\"] = this.isPrivate;\r\n data[\"isPublic\"] = this.isPublic;\r\n data[\"isConstructedGenericMethod\"] = this.isConstructedGenericMethod;\r\n data[\"isGenericMethod\"] = this.isGenericMethod;\r\n data[\"isGenericMethodDefinition\"] = this.isGenericMethodDefinition;\r\n data[\"containsGenericParameters\"] = this.containsGenericParameters;\r\n data[\"methodHandle\"] = this.methodHandle ? this.methodHandle.toJSON() : undefined;\r\n data[\"isSecurityCritical\"] = this.isSecurityCritical;\r\n data[\"isSecuritySafeCritical\"] = this.isSecuritySafeCritical;\r\n data[\"isSecurityTransparent\"] = this.isSecurityTransparent;\r\n data[\"memberType\"] = this.memberType;\r\n data[\"returnParameter\"] = this.returnParameter ? this.returnParameter.toJSON() : undefined;\r\n data[\"returnType\"] = this.returnType ? this.returnType.toJSON() : undefined;\r\n data[\"returnTypeCustomAttributes\"] = this.returnTypeCustomAttributes ? this.returnTypeCustomAttributes.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): MethodInfo {\r\n const json = this.toJSON();\r\n let result = new MethodInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IMethodInfo {\r\n name?: string | undefined;\r\n declaringType?: IType;\r\n reflectedType?: IType;\r\n module?: IModule;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n attributes?: MethodAttributes;\r\n methodImplementationFlags?: MethodImplAttributes;\r\n callingConvention?: CallingConventions;\r\n isAbstract?: boolean;\r\n isConstructor?: boolean;\r\n isFinal?: boolean;\r\n isHideBySig?: boolean;\r\n isSpecialName?: boolean;\r\n isStatic?: boolean;\r\n isVirtual?: boolean;\r\n isAssembly?: boolean;\r\n isFamily?: boolean;\r\n isFamilyAndAssembly?: boolean;\r\n isFamilyOrAssembly?: boolean;\r\n isPrivate?: boolean;\r\n isPublic?: boolean;\r\n isConstructedGenericMethod?: boolean;\r\n isGenericMethod?: boolean;\r\n isGenericMethodDefinition?: boolean;\r\n containsGenericParameters?: boolean;\r\n methodHandle?: IRuntimeMethodHandle;\r\n isSecurityCritical?: boolean;\r\n isSecuritySafeCritical?: boolean;\r\n isSecurityTransparent?: boolean;\r\n memberType?: MemberTypes;\r\n returnParameter?: IParameterInfo;\r\n returnType?: IType;\r\n returnTypeCustomAttributes?: IICustomAttributeProvider;\r\n}\r\n\r\nexport class Module implements IModule {\r\n assembly?: Assembly;\r\n readonly fullyQualifiedName?: string | undefined;\r\n readonly name?: string | undefined;\r\n readonly mdStreamVersion?: number;\r\n readonly moduleVersionId?: string;\r\n readonly scopeName?: string | undefined;\r\n moduleHandle?: ModuleHandle;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly metadataToken?: number;\r\n\r\n constructor(data?: IModule) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.assembly = data.assembly && !(data.assembly).toJSON ? new Assembly(data.assembly) : this.assembly;\r\n this.moduleHandle = data.moduleHandle && !(data.moduleHandle).toJSON ? new ModuleHandle(data.moduleHandle) : this.moduleHandle;\r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.assembly = _data[\"assembly\"] ? Assembly.fromJS(_data[\"assembly\"]) : undefined;\r\n (this).fullyQualifiedName = _data[\"fullyQualifiedName\"];\r\n (this).name = _data[\"name\"];\r\n (this).mdStreamVersion = _data[\"mdStreamVersion\"];\r\n (this).moduleVersionId = _data[\"moduleVersionId\"];\r\n (this).scopeName = _data[\"scopeName\"];\r\n this.moduleHandle = _data[\"moduleHandle\"] ? ModuleHandle.fromJS(_data[\"moduleHandle\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Module {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Module();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"assembly\"] = this.assembly ? this.assembly.toJSON() : undefined;\r\n data[\"fullyQualifiedName\"] = this.fullyQualifiedName;\r\n data[\"name\"] = this.name;\r\n data[\"mdStreamVersion\"] = this.mdStreamVersion;\r\n data[\"moduleVersionId\"] = this.moduleVersionId;\r\n data[\"scopeName\"] = this.scopeName;\r\n data[\"moduleHandle\"] = this.moduleHandle ? this.moduleHandle.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"metadataToken\"] = this.metadataToken;\r\n return data;\r\n }\r\n\r\n clone(): Module {\r\n const json = this.toJSON();\r\n let result = new Module();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IModule {\r\n assembly?: IAssembly;\r\n fullyQualifiedName?: string | undefined;\r\n name?: string | undefined;\r\n mdStreamVersion?: number;\r\n moduleVersionId?: string;\r\n scopeName?: string | undefined;\r\n moduleHandle?: IModuleHandle;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n metadataToken?: number;\r\n}\r\n\r\nexport class ModuleHandle implements IModuleHandle {\r\n readonly mdStreamVersion?: number;\r\n\r\n constructor(data?: IModuleHandle) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).mdStreamVersion = _data[\"mdStreamVersion\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ModuleHandle {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ModuleHandle();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"mdStreamVersion\"] = this.mdStreamVersion;\r\n return data;\r\n }\r\n\r\n clone(): ModuleHandle {\r\n const json = this.toJSON();\r\n let result = new ModuleHandle();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IModuleHandle {\r\n mdStreamVersion?: number;\r\n}\r\n\r\nexport class NguoiKyInfo implements INguoiKyInfo {\r\n id?: number;\r\n title?: string | undefined;\r\n dmDescription?: string | undefined;\r\n dmVietTat?: string | undefined;\r\n orderColumn?: number;\r\n titleEng?: string | undefined;\r\n dmIsDisplay?: boolean;\r\n vbpqDonVi?: Vbpqdonvi[] | undefined;\r\n coQuanBanHanh?: string[] | undefined;\r\n multipleDonVi?: string | undefined;\r\n moderationStatus?: number;\r\n version?: string | undefined;\r\n author?: Author;\r\n editor?: Editor;\r\n created?: Date;\r\n modified?: Date;\r\n listFileAttachAdd?: string[] | undefined;\r\n listFileAttach?: string[] | undefined;\r\n listFileRemove?: string[] | undefined;\r\n\r\n constructor(data?: INguoiKyInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.vbpqDonVi) {\r\n this.vbpqDonVi = [];\r\n for (let i = 0; i < data.vbpqDonVi.length; i++) {\r\n let item = data.vbpqDonVi[i];\r\n this.vbpqDonVi[i] = item && !(item).toJSON ? new Vbpqdonvi(item) : item;\r\n }\r\n }\r\n this.author = data.author && !(data.author).toJSON ? new Author(data.author) : this.author;\r\n this.editor = data.editor && !(data.editor).toJSON ? new Editor(data.editor) : this.editor;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.title = _data[\"title\"];\r\n this.dmDescription = _data[\"dmDescription\"];\r\n this.dmVietTat = _data[\"dmVietTat\"];\r\n this.orderColumn = _data[\"orderColumn\"];\r\n this.titleEng = _data[\"titleEng\"];\r\n this.dmIsDisplay = _data[\"dmIsDisplay\"];\r\n if (Array.isArray(_data[\"vbpqDonVi\"])) {\r\n this.vbpqDonVi = [] as any;\r\n for (let item of _data[\"vbpqDonVi\"])\r\n this.vbpqDonVi!.push(Vbpqdonvi.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"coQuanBanHanh\"])) {\r\n this.coQuanBanHanh = [] as any;\r\n for (let item of _data[\"coQuanBanHanh\"])\r\n this.coQuanBanHanh!.push(item);\r\n }\r\n this.multipleDonVi = _data[\"multipleDonVi\"];\r\n this.moderationStatus = _data[\"moderationStatus\"];\r\n this.version = _data[\"version\"];\r\n this.author = _data[\"author\"] ? Author.fromJS(_data[\"author\"]) : undefined;\r\n this.editor = _data[\"editor\"] ? Editor.fromJS(_data[\"editor\"]) : undefined;\r\n this.created = _data[\"created\"] ? new Date(_data[\"created\"].toString()) : undefined;\r\n this.modified = _data[\"modified\"] ? new Date(_data[\"modified\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"listFileAttachAdd\"])) {\r\n this.listFileAttachAdd = [] as any;\r\n for (let item of _data[\"listFileAttachAdd\"])\r\n this.listFileAttachAdd!.push(item);\r\n }\r\n if (Array.isArray(_data[\"listFileAttach\"])) {\r\n this.listFileAttach = [] as any;\r\n for (let item of _data[\"listFileAttach\"])\r\n this.listFileAttach!.push(item);\r\n }\r\n if (Array.isArray(_data[\"listFileRemove\"])) {\r\n this.listFileRemove = [] as any;\r\n for (let item of _data[\"listFileRemove\"])\r\n this.listFileRemove!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): NguoiKyInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NguoiKyInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"title\"] = this.title;\r\n data[\"dmDescription\"] = this.dmDescription;\r\n data[\"dmVietTat\"] = this.dmVietTat;\r\n data[\"orderColumn\"] = this.orderColumn;\r\n data[\"titleEng\"] = this.titleEng;\r\n data[\"dmIsDisplay\"] = this.dmIsDisplay;\r\n if (Array.isArray(this.vbpqDonVi)) {\r\n data[\"vbpqDonVi\"] = [];\r\n for (let item of this.vbpqDonVi)\r\n data[\"vbpqDonVi\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.coQuanBanHanh)) {\r\n data[\"coQuanBanHanh\"] = [];\r\n for (let item of this.coQuanBanHanh)\r\n data[\"coQuanBanHanh\"].push(item);\r\n }\r\n data[\"multipleDonVi\"] = this.multipleDonVi;\r\n data[\"moderationStatus\"] = this.moderationStatus;\r\n data[\"version\"] = this.version;\r\n data[\"author\"] = this.author ? this.author.toJSON() : undefined;\r\n data[\"editor\"] = this.editor ? this.editor.toJSON() : undefined;\r\n data[\"created\"] = this.created ? this.created.toISOString() : undefined;\r\n data[\"modified\"] = this.modified ? this.modified.toISOString() : undefined;\r\n if (Array.isArray(this.listFileAttachAdd)) {\r\n data[\"listFileAttachAdd\"] = [];\r\n for (let item of this.listFileAttachAdd)\r\n data[\"listFileAttachAdd\"].push(item);\r\n }\r\n if (Array.isArray(this.listFileAttach)) {\r\n data[\"listFileAttach\"] = [];\r\n for (let item of this.listFileAttach)\r\n data[\"listFileAttach\"].push(item);\r\n }\r\n if (Array.isArray(this.listFileRemove)) {\r\n data[\"listFileRemove\"] = [];\r\n for (let item of this.listFileRemove)\r\n data[\"listFileRemove\"].push(item);\r\n }\r\n return data;\r\n }\r\n\r\n clone(): NguoiKyInfo {\r\n const json = this.toJSON();\r\n let result = new NguoiKyInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INguoiKyInfo {\r\n id?: number;\r\n title?: string | undefined;\r\n dmDescription?: string | undefined;\r\n dmVietTat?: string | undefined;\r\n orderColumn?: number;\r\n titleEng?: string | undefined;\r\n dmIsDisplay?: boolean;\r\n vbpqDonVi?: IVbpqdonvi[] | undefined;\r\n coQuanBanHanh?: string[] | undefined;\r\n multipleDonVi?: string | undefined;\r\n moderationStatus?: number;\r\n version?: string | undefined;\r\n author?: IAuthor;\r\n editor?: IEditor;\r\n created?: Date;\r\n modified?: Date;\r\n listFileAttachAdd?: string[] | undefined;\r\n listFileAttach?: string[] | undefined;\r\n listFileRemove?: string[] | undefined;\r\n}\r\n\r\nexport class NguoiKyInfoListApiResponse implements INguoiKyInfoListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: NguoiKyInfo[] | undefined;\r\n\r\n constructor(data?: INguoiKyInfoListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new NguoiKyInfo(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(NguoiKyInfo.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): NguoiKyInfoListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NguoiKyInfoListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): NguoiKyInfoListApiResponse {\r\n const json = this.toJSON();\r\n let result = new NguoiKyInfoListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INguoiKyInfoListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: INguoiKyInfo[] | undefined;\r\n}\r\n\r\nexport class NumberFormatInfo implements INumberFormatInfo {\r\n currencyDecimalDigits?: number;\r\n currencyDecimalSeparator?: string | undefined;\r\n readonly isReadOnly?: boolean;\r\n currencyGroupSizes?: number[] | undefined;\r\n numberGroupSizes?: number[] | undefined;\r\n percentGroupSizes?: number[] | undefined;\r\n currencyGroupSeparator?: string | undefined;\r\n currencySymbol?: string | undefined;\r\n naNSymbol?: string | undefined;\r\n currencyNegativePattern?: number;\r\n numberNegativePattern?: number;\r\n percentPositivePattern?: number;\r\n percentNegativePattern?: number;\r\n negativeInfinitySymbol?: string | undefined;\r\n negativeSign?: string | undefined;\r\n numberDecimalDigits?: number;\r\n numberDecimalSeparator?: string | undefined;\r\n numberGroupSeparator?: string | undefined;\r\n currencyPositivePattern?: number;\r\n positiveInfinitySymbol?: string | undefined;\r\n positiveSign?: string | undefined;\r\n percentDecimalDigits?: number;\r\n percentDecimalSeparator?: string | undefined;\r\n percentGroupSeparator?: string | undefined;\r\n percentSymbol?: string | undefined;\r\n perMilleSymbol?: string | undefined;\r\n nativeDigits?: string[] | undefined;\r\n digitSubstitution?: DigitShapes;\r\n\r\n constructor(data?: INumberFormatInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.currencyDecimalDigits = _data[\"currencyDecimalDigits\"];\r\n this.currencyDecimalSeparator = _data[\"currencyDecimalSeparator\"];\r\n (this).isReadOnly = _data[\"isReadOnly\"];\r\n if (Array.isArray(_data[\"currencyGroupSizes\"])) {\r\n this.currencyGroupSizes = [] as any;\r\n for (let item of _data[\"currencyGroupSizes\"])\r\n this.currencyGroupSizes!.push(item);\r\n }\r\n if (Array.isArray(_data[\"numberGroupSizes\"])) {\r\n this.numberGroupSizes = [] as any;\r\n for (let item of _data[\"numberGroupSizes\"])\r\n this.numberGroupSizes!.push(item);\r\n }\r\n if (Array.isArray(_data[\"percentGroupSizes\"])) {\r\n this.percentGroupSizes = [] as any;\r\n for (let item of _data[\"percentGroupSizes\"])\r\n this.percentGroupSizes!.push(item);\r\n }\r\n this.currencyGroupSeparator = _data[\"currencyGroupSeparator\"];\r\n this.currencySymbol = _data[\"currencySymbol\"];\r\n this.naNSymbol = _data[\"naNSymbol\"];\r\n this.currencyNegativePattern = _data[\"currencyNegativePattern\"];\r\n this.numberNegativePattern = _data[\"numberNegativePattern\"];\r\n this.percentPositivePattern = _data[\"percentPositivePattern\"];\r\n this.percentNegativePattern = _data[\"percentNegativePattern\"];\r\n this.negativeInfinitySymbol = _data[\"negativeInfinitySymbol\"];\r\n this.negativeSign = _data[\"negativeSign\"];\r\n this.numberDecimalDigits = _data[\"numberDecimalDigits\"];\r\n this.numberDecimalSeparator = _data[\"numberDecimalSeparator\"];\r\n this.numberGroupSeparator = _data[\"numberGroupSeparator\"];\r\n this.currencyPositivePattern = _data[\"currencyPositivePattern\"];\r\n this.positiveInfinitySymbol = _data[\"positiveInfinitySymbol\"];\r\n this.positiveSign = _data[\"positiveSign\"];\r\n this.percentDecimalDigits = _data[\"percentDecimalDigits\"];\r\n this.percentDecimalSeparator = _data[\"percentDecimalSeparator\"];\r\n this.percentGroupSeparator = _data[\"percentGroupSeparator\"];\r\n this.percentSymbol = _data[\"percentSymbol\"];\r\n this.perMilleSymbol = _data[\"perMilleSymbol\"];\r\n if (Array.isArray(_data[\"nativeDigits\"])) {\r\n this.nativeDigits = [] as any;\r\n for (let item of _data[\"nativeDigits\"])\r\n this.nativeDigits!.push(item);\r\n }\r\n this.digitSubstitution = _data[\"digitSubstitution\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NumberFormatInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NumberFormatInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"currencyDecimalDigits\"] = this.currencyDecimalDigits;\r\n data[\"currencyDecimalSeparator\"] = this.currencyDecimalSeparator;\r\n data[\"isReadOnly\"] = this.isReadOnly;\r\n if (Array.isArray(this.currencyGroupSizes)) {\r\n data[\"currencyGroupSizes\"] = [];\r\n for (let item of this.currencyGroupSizes)\r\n data[\"currencyGroupSizes\"].push(item);\r\n }\r\n if (Array.isArray(this.numberGroupSizes)) {\r\n data[\"numberGroupSizes\"] = [];\r\n for (let item of this.numberGroupSizes)\r\n data[\"numberGroupSizes\"].push(item);\r\n }\r\n if (Array.isArray(this.percentGroupSizes)) {\r\n data[\"percentGroupSizes\"] = [];\r\n for (let item of this.percentGroupSizes)\r\n data[\"percentGroupSizes\"].push(item);\r\n }\r\n data[\"currencyGroupSeparator\"] = this.currencyGroupSeparator;\r\n data[\"currencySymbol\"] = this.currencySymbol;\r\n data[\"naNSymbol\"] = this.naNSymbol;\r\n data[\"currencyNegativePattern\"] = this.currencyNegativePattern;\r\n data[\"numberNegativePattern\"] = this.numberNegativePattern;\r\n data[\"percentPositivePattern\"] = this.percentPositivePattern;\r\n data[\"percentNegativePattern\"] = this.percentNegativePattern;\r\n data[\"negativeInfinitySymbol\"] = this.negativeInfinitySymbol;\r\n data[\"negativeSign\"] = this.negativeSign;\r\n data[\"numberDecimalDigits\"] = this.numberDecimalDigits;\r\n data[\"numberDecimalSeparator\"] = this.numberDecimalSeparator;\r\n data[\"numberGroupSeparator\"] = this.numberGroupSeparator;\r\n data[\"currencyPositivePattern\"] = this.currencyPositivePattern;\r\n data[\"positiveInfinitySymbol\"] = this.positiveInfinitySymbol;\r\n data[\"positiveSign\"] = this.positiveSign;\r\n data[\"percentDecimalDigits\"] = this.percentDecimalDigits;\r\n data[\"percentDecimalSeparator\"] = this.percentDecimalSeparator;\r\n data[\"percentGroupSeparator\"] = this.percentGroupSeparator;\r\n data[\"percentSymbol\"] = this.percentSymbol;\r\n data[\"perMilleSymbol\"] = this.perMilleSymbol;\r\n if (Array.isArray(this.nativeDigits)) {\r\n data[\"nativeDigits\"] = [];\r\n for (let item of this.nativeDigits)\r\n data[\"nativeDigits\"].push(item);\r\n }\r\n data[\"digitSubstitution\"] = this.digitSubstitution;\r\n return data;\r\n }\r\n\r\n clone(): NumberFormatInfo {\r\n const json = this.toJSON();\r\n let result = new NumberFormatInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface INumberFormatInfo {\r\n currencyDecimalDigits?: number;\r\n currencyDecimalSeparator?: string | undefined;\r\n isReadOnly?: boolean;\r\n currencyGroupSizes?: number[] | undefined;\r\n numberGroupSizes?: number[] | undefined;\r\n percentGroupSizes?: number[] | undefined;\r\n currencyGroupSeparator?: string | undefined;\r\n currencySymbol?: string | undefined;\r\n naNSymbol?: string | undefined;\r\n currencyNegativePattern?: number;\r\n numberNegativePattern?: number;\r\n percentPositivePattern?: number;\r\n percentNegativePattern?: number;\r\n negativeInfinitySymbol?: string | undefined;\r\n negativeSign?: string | undefined;\r\n numberDecimalDigits?: number;\r\n numberDecimalSeparator?: string | undefined;\r\n numberGroupSeparator?: string | undefined;\r\n currencyPositivePattern?: number;\r\n positiveInfinitySymbol?: string | undefined;\r\n positiveSign?: string | undefined;\r\n percentDecimalDigits?: number;\r\n percentDecimalSeparator?: string | undefined;\r\n percentGroupSeparator?: string | undefined;\r\n percentSymbol?: string | undefined;\r\n perMilleSymbol?: string | undefined;\r\n nativeDigits?: string[] | undefined;\r\n digitSubstitution?: DigitShapes;\r\n}\r\n\r\nexport class ObjectApiResponse implements IObjectApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: any | undefined;\r\n\r\n constructor(data?: IObjectApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ObjectApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ObjectApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data;\r\n return data;\r\n }\r\n\r\n clone(): ObjectApiResponse {\r\n const json = this.toJSON();\r\n let result = new ObjectApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IObjectApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: any | undefined;\r\n}\r\n\r\nexport class ObjectIEnumerableApiResponse implements IObjectIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: any[] | undefined;\r\n\r\n constructor(data?: IObjectIEnumerableApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ObjectIEnumerableApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ObjectIEnumerableApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item);\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ObjectIEnumerableApiResponse {\r\n const json = this.toJSON();\r\n let result = new ObjectIEnumerableApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IObjectIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: any[] | undefined;\r\n}\r\n\r\nexport class ObjectIEnumerablePageModelView implements IObjectIEnumerablePageModelView {\r\n data?: any[] | undefined;\r\n dataReturn?: DataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n\r\n constructor(data?: IObjectIEnumerablePageModelView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.dataReturn = data.dataReturn && !(data.dataReturn).toJSON ? new DataTable(data.dataReturn) : this.dataReturn;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(item);\r\n }\r\n this.dataReturn = _data[\"dataReturn\"] ? DataTable.fromJS(_data[\"dataReturn\"]) : undefined;\r\n this.totalRecord = _data[\"totalRecord\"];\r\n this.totalPage = _data[\"totalPage\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.recordsCount = _data[\"recordsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ObjectIEnumerablePageModelView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ObjectIEnumerablePageModelView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item);\r\n }\r\n data[\"dataReturn\"] = this.dataReturn ? this.dataReturn.toJSON() : undefined;\r\n data[\"totalRecord\"] = this.totalRecord;\r\n data[\"totalPage\"] = this.totalPage;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"recordsCount\"] = this.recordsCount;\r\n return data;\r\n }\r\n\r\n clone(): ObjectIEnumerablePageModelView {\r\n const json = this.toJSON();\r\n let result = new ObjectIEnumerablePageModelView();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IObjectIEnumerablePageModelView {\r\n data?: any[] | undefined;\r\n dataReturn?: IDataTable;\r\n totalRecord?: number;\r\n totalPage?: number;\r\n currentPage?: number;\r\n pageSize?: number;\r\n recordsCount?: number;\r\n}\r\n\r\nexport class ObjectIEnumerablePageModelViewApiResponse implements IObjectIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ObjectIEnumerablePageModelView;\r\n\r\n constructor(data?: IObjectIEnumerablePageModelViewApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new ObjectIEnumerablePageModelView(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? ObjectIEnumerablePageModelView.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ObjectIEnumerablePageModelViewApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ObjectIEnumerablePageModelViewApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ObjectIEnumerablePageModelViewApiResponse {\r\n const json = this.toJSON();\r\n let result = new ObjectIEnumerablePageModelViewApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IObjectIEnumerablePageModelViewApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IObjectIEnumerablePageModelView;\r\n}\r\n\r\nexport class PageLogModel implements IPageLogModel {\r\n search?: string | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n condition?: string | undefined;\r\n sortColumn?: string | undefined;\r\n sortExpression?: string | undefined;\r\n status?: string | undefined;\r\n columnName?: string | undefined;\r\n name?: string | undefined;\r\n ipAddress?: string | undefined;\r\n fromDate?: Date | undefined;\r\n toDate?: Date | undefined;\r\n\r\n constructor(data?: IPageLogModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.search = _data[\"search\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.condition = _data[\"condition\"];\r\n this.sortColumn = _data[\"sortColumn\"];\r\n this.sortExpression = _data[\"sortExpression\"];\r\n this.status = _data[\"status\"];\r\n this.columnName = _data[\"columnName\"];\r\n this.name = _data[\"name\"];\r\n this.ipAddress = _data[\"ipAddress\"];\r\n this.fromDate = _data[\"fromDate\"] ? new Date(_data[\"fromDate\"].toString()) : undefined;\r\n this.toDate = _data[\"toDate\"] ? new Date(_data[\"toDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PageLogModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PageLogModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"search\"] = this.search;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"condition\"] = this.condition;\r\n data[\"sortColumn\"] = this.sortColumn;\r\n data[\"sortExpression\"] = this.sortExpression;\r\n data[\"status\"] = this.status;\r\n data[\"columnName\"] = this.columnName;\r\n data[\"name\"] = this.name;\r\n data[\"ipAddress\"] = this.ipAddress;\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString() : undefined;\r\n data[\"toDate\"] = this.toDate ? this.toDate.toISOString() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): PageLogModel {\r\n const json = this.toJSON();\r\n let result = new PageLogModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPageLogModel {\r\n search?: string | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n condition?: string | undefined;\r\n sortColumn?: string | undefined;\r\n sortExpression?: string | undefined;\r\n status?: string | undefined;\r\n columnName?: string | undefined;\r\n name?: string | undefined;\r\n ipAddress?: string | undefined;\r\n fromDate?: Date | undefined;\r\n toDate?: Date | undefined;\r\n}\r\n\r\nexport class PageModel implements IPageModel {\r\n search?: string | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n condition?: string | undefined;\r\n sortColumn?: string | undefined;\r\n sortExpression?: string | undefined;\r\n status?: string | undefined;\r\n columnName?: string | undefined;\r\n\r\n constructor(data?: IPageModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.search = _data[\"search\"];\r\n this.currentPage = _data[\"currentPage\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.condition = _data[\"condition\"];\r\n this.sortColumn = _data[\"sortColumn\"];\r\n this.sortExpression = _data[\"sortExpression\"];\r\n this.status = _data[\"status\"];\r\n this.columnName = _data[\"columnName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PageModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PageModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"search\"] = this.search;\r\n data[\"currentPage\"] = this.currentPage;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"condition\"] = this.condition;\r\n data[\"sortColumn\"] = this.sortColumn;\r\n data[\"sortExpression\"] = this.sortExpression;\r\n data[\"status\"] = this.status;\r\n data[\"columnName\"] = this.columnName;\r\n return data;\r\n }\r\n\r\n clone(): PageModel {\r\n const json = this.toJSON();\r\n let result = new PageModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPageModel {\r\n search?: string | undefined;\r\n currentPage?: number;\r\n pageSize?: number;\r\n condition?: string | undefined;\r\n sortColumn?: string | undefined;\r\n sortExpression?: string | undefined;\r\n status?: string | undefined;\r\n columnName?: string | undefined;\r\n}\r\n\r\nexport enum ParameterAttributes {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _4 = 4,\r\n _8 = 8,\r\n _16 = 16,\r\n _4096 = 4096,\r\n _8192 = 8192,\r\n _16384 = 16384,\r\n _32768 = 32768,\r\n _61440 = 61440,\r\n}\r\n\r\nexport enum ParameterDirection {\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _6 = 6,\r\n}\r\n\r\nexport class ParameterInfo implements IParameterInfo {\r\n attributes?: ParameterAttributes;\r\n member?: MemberInfo;\r\n readonly name?: string | undefined;\r\n parameterType?: Type;\r\n readonly position?: number;\r\n readonly isIn?: boolean;\r\n readonly isLcid?: boolean;\r\n readonly isOptional?: boolean;\r\n readonly isOut?: boolean;\r\n readonly isRetval?: boolean;\r\n readonly defaultValue?: any | undefined;\r\n readonly rawDefaultValue?: any | undefined;\r\n readonly hasDefaultValue?: boolean;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly metadataToken?: number;\r\n\r\n constructor(data?: IParameterInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.member = data.member && !(data.member).toJSON ? new MemberInfo(data.member) : this.member;\r\n this.parameterType = data.parameterType && !(data.parameterType).toJSON ? new Type(data.parameterType) : this.parameterType;\r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.attributes = _data[\"attributes\"];\r\n this.member = _data[\"member\"] ? MemberInfo.fromJS(_data[\"member\"]) : undefined;\r\n (this).name = _data[\"name\"];\r\n this.parameterType = _data[\"parameterType\"] ? Type.fromJS(_data[\"parameterType\"]) : undefined;\r\n (this).position = _data[\"position\"];\r\n (this).isIn = _data[\"isIn\"];\r\n (this).isLcid = _data[\"isLcid\"];\r\n (this).isOptional = _data[\"isOptional\"];\r\n (this).isOut = _data[\"isOut\"];\r\n (this).isRetval = _data[\"isRetval\"];\r\n (this).defaultValue = _data[\"defaultValue\"];\r\n (this).rawDefaultValue = _data[\"rawDefaultValue\"];\r\n (this).hasDefaultValue = _data[\"hasDefaultValue\"];\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ParameterInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ParameterInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"attributes\"] = this.attributes;\r\n data[\"member\"] = this.member ? this.member.toJSON() : undefined;\r\n data[\"name\"] = this.name;\r\n data[\"parameterType\"] = this.parameterType ? this.parameterType.toJSON() : undefined;\r\n data[\"position\"] = this.position;\r\n data[\"isIn\"] = this.isIn;\r\n data[\"isLcid\"] = this.isLcid;\r\n data[\"isOptional\"] = this.isOptional;\r\n data[\"isOut\"] = this.isOut;\r\n data[\"isRetval\"] = this.isRetval;\r\n data[\"defaultValue\"] = this.defaultValue;\r\n data[\"rawDefaultValue\"] = this.rawDefaultValue;\r\n data[\"hasDefaultValue\"] = this.hasDefaultValue;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"metadataToken\"] = this.metadataToken;\r\n return data;\r\n }\r\n\r\n clone(): ParameterInfo {\r\n const json = this.toJSON();\r\n let result = new ParameterInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IParameterInfo {\r\n attributes?: ParameterAttributes;\r\n member?: IMemberInfo;\r\n name?: string | undefined;\r\n parameterType?: IType;\r\n position?: number;\r\n isIn?: boolean;\r\n isLcid?: boolean;\r\n isOptional?: boolean;\r\n isOut?: boolean;\r\n isRetval?: boolean;\r\n defaultValue?: any | undefined;\r\n rawDefaultValue?: any | undefined;\r\n hasDefaultValue?: boolean;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n metadataToken?: number;\r\n}\r\n\r\nexport class Parentid implements IParentid {\r\n lookupId?: number;\r\n lookupValue?: string | undefined;\r\n\r\n constructor(data?: IParentid) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.lookupId = _data[\"lookupId\"];\r\n this.lookupValue = _data[\"lookupValue\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Parentid {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Parentid();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"lookupId\"] = this.lookupId;\r\n data[\"lookupValue\"] = this.lookupValue;\r\n return data;\r\n }\r\n\r\n clone(): Parentid {\r\n const json = this.toJSON();\r\n let result = new Parentid();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IParentid {\r\n lookupId?: number;\r\n lookupValue?: string | undefined;\r\n}\r\n\r\nexport class PhongBanSelectModel implements IPhongBanSelectModel {\r\n id?: number;\r\n ten?: string | undefined;\r\n\r\n constructor(data?: IPhongBanSelectModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.ten = _data[\"ten\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PhongBanSelectModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PhongBanSelectModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"ten\"] = this.ten;\r\n return data;\r\n }\r\n\r\n clone(): PhongBanSelectModel {\r\n const json = this.toJSON();\r\n let result = new PhongBanSelectModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPhongBanSelectModel {\r\n id?: number;\r\n ten?: string | undefined;\r\n}\r\n\r\nexport class PhongBanSelectModelIEnumerableApiResponse implements IPhongBanSelectModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: PhongBanSelectModel[] | undefined;\r\n\r\n constructor(data?: IPhongBanSelectModelIEnumerableApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new PhongBanSelectModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(PhongBanSelectModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): PhongBanSelectModelIEnumerableApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PhongBanSelectModelIEnumerableApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): PhongBanSelectModelIEnumerableApiResponse {\r\n const json = this.toJSON();\r\n let result = new PhongBanSelectModelIEnumerableApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPhongBanSelectModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IPhongBanSelectModel[] | undefined;\r\n}\r\n\r\nexport enum PropertyAttributes {\r\n _0 = 0,\r\n _512 = 512,\r\n _1024 = 1024,\r\n _4096 = 4096,\r\n _8192 = 8192,\r\n _16384 = 16384,\r\n _32768 = 32768,\r\n _62464 = 62464,\r\n}\r\n\r\nexport class PropertyInfo implements IPropertyInfo {\r\n readonly name?: string | undefined;\r\n declaringType?: Type;\r\n reflectedType?: Type;\r\n module?: Module;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n memberType?: MemberTypes;\r\n propertyType?: Type;\r\n attributes?: PropertyAttributes;\r\n readonly isSpecialName?: boolean;\r\n readonly canRead?: boolean;\r\n readonly canWrite?: boolean;\r\n getMethod?: MethodInfo;\r\n setMethod?: MethodInfo;\r\n\r\n constructor(data?: IPropertyInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType;\r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType;\r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module;\r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.propertyType = data.propertyType && !(data.propertyType).toJSON ? new Type(data.propertyType) : this.propertyType;\r\n this.getMethod = data.getMethod && !(data.getMethod).toJSON ? new MethodInfo(data.getMethod) : this.getMethod;\r\n this.setMethod = data.setMethod && !(data.setMethod).toJSON ? new MethodInfo(data.setMethod) : this.setMethod;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n this.memberType = _data[\"memberType\"];\r\n this.propertyType = _data[\"propertyType\"] ? Type.fromJS(_data[\"propertyType\"]) : undefined;\r\n this.attributes = _data[\"attributes\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n (this).canRead = _data[\"canRead\"];\r\n (this).canWrite = _data[\"canWrite\"];\r\n this.getMethod = _data[\"getMethod\"] ? MethodInfo.fromJS(_data[\"getMethod\"]) : undefined;\r\n this.setMethod = _data[\"setMethod\"] ? MethodInfo.fromJS(_data[\"setMethod\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PropertyInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PropertyInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"memberType\"] = this.memberType;\r\n data[\"propertyType\"] = this.propertyType ? this.propertyType.toJSON() : undefined;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"canRead\"] = this.canRead;\r\n data[\"canWrite\"] = this.canWrite;\r\n data[\"getMethod\"] = this.getMethod ? this.getMethod.toJSON() : undefined;\r\n data[\"setMethod\"] = this.setMethod ? this.setMethod.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): PropertyInfo {\r\n const json = this.toJSON();\r\n let result = new PropertyInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPropertyInfo {\r\n name?: string | undefined;\r\n declaringType?: IType;\r\n reflectedType?: IType;\r\n module?: IModule;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n memberType?: MemberTypes;\r\n propertyType?: IType;\r\n attributes?: PropertyAttributes;\r\n isSpecialName?: boolean;\r\n canRead?: boolean;\r\n canWrite?: boolean;\r\n getMethod?: IMethodInfo;\r\n setMethod?: IMethodInfo;\r\n}\r\n\r\nexport class RegisterRequest implements IRegisterRequest {\r\n fullName?: string | undefined;\r\n userName?: string | undefined;\r\n password?: string | undefined;\r\n email?: string | undefined;\r\n phone?: string | undefined;\r\n appId?: string | undefined;\r\n\r\n constructor(data?: IRegisterRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fullName = _data[\"fullName\"];\r\n this.userName = _data[\"userName\"];\r\n this.password = _data[\"password\"];\r\n this.email = _data[\"email\"];\r\n this.phone = _data[\"phone\"];\r\n this.appId = _data[\"appId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RegisterRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RegisterRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fullName\"] = this.fullName;\r\n data[\"userName\"] = this.userName;\r\n data[\"password\"] = this.password;\r\n data[\"email\"] = this.email;\r\n data[\"phone\"] = this.phone;\r\n data[\"appId\"] = this.appId;\r\n return data;\r\n }\r\n\r\n clone(): RegisterRequest {\r\n const json = this.toJSON();\r\n let result = new RegisterRequest();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IRegisterRequest {\r\n fullName?: string | undefined;\r\n userName?: string | undefined;\r\n password?: string | undefined;\r\n email?: string | undefined;\r\n phone?: string | undefined;\r\n appId?: string | undefined;\r\n}\r\n\r\nexport class RegisterResponse implements IRegisterResponse {\r\n id?: number;\r\n fullName?: string | undefined;\r\n userName?: string | undefined;\r\n email?: string | undefined;\r\n phone?: string | undefined;\r\n\r\n constructor(data?: IRegisterResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.userName = _data[\"userName\"];\r\n this.email = _data[\"email\"];\r\n this.phone = _data[\"phone\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RegisterResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RegisterResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"userName\"] = this.userName;\r\n data[\"email\"] = this.email;\r\n data[\"phone\"] = this.phone;\r\n return data;\r\n }\r\n\r\n clone(): RegisterResponse {\r\n const json = this.toJSON();\r\n let result = new RegisterResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IRegisterResponse {\r\n id?: number;\r\n fullName?: string | undefined;\r\n userName?: string | undefined;\r\n email?: string | undefined;\r\n phone?: string | undefined;\r\n}\r\n\r\nexport class RegisterResponseApiResponse implements IRegisterResponseApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: RegisterResponse;\r\n\r\n constructor(data?: IRegisterResponseApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new RegisterResponse(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? RegisterResponse.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): RegisterResponseApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RegisterResponseApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): RegisterResponseApiResponse {\r\n const json = this.toJSON();\r\n let result = new RegisterResponseApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IRegisterResponseApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IRegisterResponse;\r\n}\r\n\r\nexport class RegisterUserAppCongAnModel implements IRegisterUserAppCongAnModel {\r\n userName?: string | undefined;\r\n fullName?: string | undefined;\r\n password?: string | undefined;\r\n unitCode?: string | undefined;\r\n trangThai?: boolean;\r\n type?: number | undefined;\r\n isNew?: boolean;\r\n groupId?: number | undefined;\r\n userId?: number | undefined;\r\n\r\n constructor(data?: IRegisterUserAppCongAnModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userName = _data[\"userName\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.password = _data[\"password\"];\r\n this.unitCode = _data[\"unitCode\"];\r\n this.trangThai = _data[\"trangThai\"];\r\n this.type = _data[\"type\"];\r\n this.isNew = _data[\"isNew\"];\r\n this.groupId = _data[\"groupId\"];\r\n this.userId = _data[\"userId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RegisterUserAppCongAnModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RegisterUserAppCongAnModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userName\"] = this.userName;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"password\"] = this.password;\r\n data[\"unitCode\"] = this.unitCode;\r\n data[\"trangThai\"] = this.trangThai;\r\n data[\"type\"] = this.type;\r\n data[\"isNew\"] = this.isNew;\r\n data[\"groupId\"] = this.groupId;\r\n data[\"userId\"] = this.userId;\r\n return data;\r\n }\r\n\r\n clone(): RegisterUserAppCongAnModel {\r\n const json = this.toJSON();\r\n let result = new RegisterUserAppCongAnModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IRegisterUserAppCongAnModel {\r\n userName?: string | undefined;\r\n fullName?: string | undefined;\r\n password?: string | undefined;\r\n unitCode?: string | undefined;\r\n trangThai?: boolean;\r\n type?: number | undefined;\r\n isNew?: boolean;\r\n groupId?: number | undefined;\r\n userId?: number | undefined;\r\n}\r\n\r\nexport class ResetPasswordModel implements IResetPasswordModel {\r\n userName?: string | undefined;\r\n password?: string | undefined;\r\n\r\n constructor(data?: IResetPasswordModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userName = _data[\"userName\"];\r\n this.password = _data[\"password\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResetPasswordModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResetPasswordModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userName\"] = this.userName;\r\n data[\"password\"] = this.password;\r\n return data;\r\n }\r\n\r\n clone(): ResetPasswordModel {\r\n const json = this.toJSON();\r\n let result = new ResetPasswordModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IResetPasswordModel {\r\n userName?: string | undefined;\r\n password?: string | undefined;\r\n}\r\n\r\nexport class ResponseModel implements IResponseModel {\r\n id?: number;\r\n fileName?: string | undefined;\r\n filePath?: string | undefined;\r\n localFileName?: string | undefined;\r\n createBy?: string | undefined;\r\n createDate?: Date | undefined;\r\n\r\n constructor(data?: IResponseModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fileName = _data[\"fileName\"];\r\n this.filePath = _data[\"filePath\"];\r\n this.localFileName = _data[\"localFileName\"];\r\n this.createBy = _data[\"createBy\"];\r\n this.createDate = _data[\"createDate\"] ? new Date(_data[\"createDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResponseModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResponseModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fileName\"] = this.fileName;\r\n data[\"filePath\"] = this.filePath;\r\n data[\"localFileName\"] = this.localFileName;\r\n data[\"createBy\"] = this.createBy;\r\n data[\"createDate\"] = this.createDate ? this.createDate.toISOString() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ResponseModel {\r\n const json = this.toJSON();\r\n let result = new ResponseModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IResponseModel {\r\n id?: number;\r\n fileName?: string | undefined;\r\n filePath?: string | undefined;\r\n localFileName?: string | undefined;\r\n createBy?: string | undefined;\r\n createDate?: Date | undefined;\r\n}\r\n\r\nexport class ResponseModelListApiResponse implements IResponseModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ResponseModel[] | undefined;\r\n\r\n constructor(data?: IResponseModelListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new ResponseModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(ResponseModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResponseModelListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResponseModelListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): ResponseModelListApiResponse {\r\n const json = this.toJSON();\r\n let result = new ResponseModelListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IResponseModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IResponseModel[] | undefined;\r\n}\r\n\r\nexport class RevokeTokenModel implements IRevokeTokenModel {\r\n token?: string | undefined;\r\n tokenTypeHint?: string | undefined;\r\n client_id?: string | undefined;\r\n client_secret?: string | undefined;\r\n\r\n constructor(data?: IRevokeTokenModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.token = _data[\"token\"];\r\n this.tokenTypeHint = _data[\"tokenTypeHint\"];\r\n this.client_id = _data[\"client_id\"];\r\n this.client_secret = _data[\"client_secret\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RevokeTokenModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RevokeTokenModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"token\"] = this.token;\r\n data[\"tokenTypeHint\"] = this.tokenTypeHint;\r\n data[\"client_id\"] = this.client_id;\r\n data[\"client_secret\"] = this.client_secret;\r\n return data;\r\n }\r\n\r\n clone(): RevokeTokenModel {\r\n const json = this.toJSON();\r\n let result = new RevokeTokenModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IRevokeTokenModel {\r\n token?: string | undefined;\r\n tokenTypeHint?: string | undefined;\r\n client_id?: string | undefined;\r\n client_secret?: string | undefined;\r\n}\r\n\r\nexport class RuntimeFieldHandle implements IRuntimeFieldHandle {\r\n value?: IntPtr;\r\n\r\n constructor(data?: IRuntimeFieldHandle) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.value = data.value && !(data.value).toJSON ? new IntPtr(data.value) : this.value;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.value = _data[\"value\"] ? IntPtr.fromJS(_data[\"value\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): RuntimeFieldHandle {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RuntimeFieldHandle();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value ? this.value.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): RuntimeFieldHandle {\r\n const json = this.toJSON();\r\n let result = new RuntimeFieldHandle();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IRuntimeFieldHandle {\r\n value?: IIntPtr;\r\n}\r\n\r\nexport class RuntimeMethodHandle implements IRuntimeMethodHandle {\r\n value?: IntPtr;\r\n\r\n constructor(data?: IRuntimeMethodHandle) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.value = data.value && !(data.value).toJSON ? new IntPtr(data.value) : this.value;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.value = _data[\"value\"] ? IntPtr.fromJS(_data[\"value\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): RuntimeMethodHandle {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RuntimeMethodHandle();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value ? this.value.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): RuntimeMethodHandle {\r\n const json = this.toJSON();\r\n let result = new RuntimeMethodHandle();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IRuntimeMethodHandle {\r\n value?: IIntPtr;\r\n}\r\n\r\nexport class RuntimeTypeHandle implements IRuntimeTypeHandle {\r\n value?: IntPtr;\r\n\r\n constructor(data?: IRuntimeTypeHandle) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.value = data.value && !(data.value).toJSON ? new IntPtr(data.value) : this.value;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.value = _data[\"value\"] ? IntPtr.fromJS(_data[\"value\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): RuntimeTypeHandle {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RuntimeTypeHandle();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value ? this.value.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): RuntimeTypeHandle {\r\n const json = this.toJSON();\r\n let result = new RuntimeTypeHandle();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IRuntimeTypeHandle {\r\n value?: IIntPtr;\r\n}\r\n\r\nexport enum SchemaSerializationMode {\r\n _1 = 1,\r\n _2 = 2,\r\n}\r\n\r\nexport class SearchResult implements ISearchResult {\r\n ltsVanBan?: Ltsvanban[] | undefined;\r\n totalRecord?: number;\r\n\r\n constructor(data?: ISearchResult) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.ltsVanBan) {\r\n this.ltsVanBan = [];\r\n for (let i = 0; i < data.ltsVanBan.length; i++) {\r\n let item = data.ltsVanBan[i];\r\n this.ltsVanBan[i] = item && !(item).toJSON ? new Ltsvanban(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"ltsVanBan\"])) {\r\n this.ltsVanBan = [] as any;\r\n for (let item of _data[\"ltsVanBan\"])\r\n this.ltsVanBan!.push(Ltsvanban.fromJS(item));\r\n }\r\n this.totalRecord = _data[\"totalRecord\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchResult();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.ltsVanBan)) {\r\n data[\"ltsVanBan\"] = [];\r\n for (let item of this.ltsVanBan)\r\n data[\"ltsVanBan\"].push(item.toJSON());\r\n }\r\n data[\"totalRecord\"] = this.totalRecord;\r\n return data;\r\n }\r\n\r\n clone(): SearchResult {\r\n const json = this.toJSON();\r\n let result = new SearchResult();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISearchResult {\r\n ltsVanBan?: ILtsvanban[] | undefined;\r\n totalRecord?: number;\r\n}\r\n\r\nexport class SearchResultApiResponse implements ISearchResultApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: SearchResult;\r\n\r\n constructor(data?: ISearchResultApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new SearchResult(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? SearchResult.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchResultApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchResultApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): SearchResultApiResponse {\r\n const json = this.toJSON();\r\n let result = new SearchResultApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISearchResultApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ISearchResult;\r\n}\r\n\r\nexport class SearchVBModel implements ISearchVBModel {\r\n donVi?: number[] | undefined;\r\n kieuTimKiem?: number;\r\n tuNgay?: string | undefined;\r\n denNgay?: string | undefined;\r\n loaiVanBan?: number[] | undefined;\r\n keyword?: string | undefined;\r\n searchIn?: string[] | undefined;\r\n t_gridRequest?: string | undefined;\r\n\r\n constructor(data?: ISearchVBModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"donVi\"])) {\r\n this.donVi = [] as any;\r\n for (let item of _data[\"donVi\"])\r\n this.donVi!.push(item);\r\n }\r\n this.kieuTimKiem = _data[\"kieuTimKiem\"];\r\n this.tuNgay = _data[\"tuNgay\"];\r\n this.denNgay = _data[\"denNgay\"];\r\n if (Array.isArray(_data[\"loaiVanBan\"])) {\r\n this.loaiVanBan = [] as any;\r\n for (let item of _data[\"loaiVanBan\"])\r\n this.loaiVanBan!.push(item);\r\n }\r\n this.keyword = _data[\"keyword\"];\r\n if (Array.isArray(_data[\"searchIn\"])) {\r\n this.searchIn = [] as any;\r\n for (let item of _data[\"searchIn\"])\r\n this.searchIn!.push(item);\r\n }\r\n this.t_gridRequest = _data[\"t_gridRequest\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchVBModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchVBModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.donVi)) {\r\n data[\"donVi\"] = [];\r\n for (let item of this.donVi)\r\n data[\"donVi\"].push(item);\r\n }\r\n data[\"kieuTimKiem\"] = this.kieuTimKiem;\r\n data[\"tuNgay\"] = this.tuNgay;\r\n data[\"denNgay\"] = this.denNgay;\r\n if (Array.isArray(this.loaiVanBan)) {\r\n data[\"loaiVanBan\"] = [];\r\n for (let item of this.loaiVanBan)\r\n data[\"loaiVanBan\"].push(item);\r\n }\r\n data[\"keyword\"] = this.keyword;\r\n if (Array.isArray(this.searchIn)) {\r\n data[\"searchIn\"] = [];\r\n for (let item of this.searchIn)\r\n data[\"searchIn\"].push(item);\r\n }\r\n data[\"t_gridRequest\"] = this.t_gridRequest;\r\n return data;\r\n }\r\n\r\n clone(): SearchVBModel {\r\n const json = this.toJSON();\r\n let result = new SearchVBModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISearchVBModel {\r\n donVi?: number[] | undefined;\r\n kieuTimKiem?: number;\r\n tuNgay?: string | undefined;\r\n denNgay?: string | undefined;\r\n loaiVanBan?: number[] | undefined;\r\n keyword?: string | undefined;\r\n searchIn?: string[] | undefined;\r\n t_gridRequest?: string | undefined;\r\n}\r\n\r\nexport enum SecurityRuleSet {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n}\r\n\r\nexport class SelectListUserGroup implements ISelectListUserGroup {\r\n userId?: number;\r\n listGroupId?: number[] | undefined;\r\n\r\n constructor(data?: ISelectListUserGroup) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userId = _data[\"userId\"];\r\n if (Array.isArray(_data[\"listGroupId\"])) {\r\n this.listGroupId = [] as any;\r\n for (let item of _data[\"listGroupId\"])\r\n this.listGroupId!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SelectListUserGroup {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SelectListUserGroup();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userId\"] = this.userId;\r\n if (Array.isArray(this.listGroupId)) {\r\n data[\"listGroupId\"] = [];\r\n for (let item of this.listGroupId)\r\n data[\"listGroupId\"].push(item);\r\n }\r\n return data;\r\n }\r\n\r\n clone(): SelectListUserGroup {\r\n const json = this.toJSON();\r\n let result = new SelectListUserGroup();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISelectListUserGroup {\r\n userId?: number;\r\n listGroupId?: number[] | undefined;\r\n}\r\n\r\nexport enum SerializationFormat {\r\n _0 = 0,\r\n _1 = 1,\r\n}\r\n\r\nexport class SortVersion implements ISortVersion {\r\n readonly fullVersion?: number;\r\n readonly sortId?: string;\r\n\r\n constructor(data?: ISortVersion) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).fullVersion = _data[\"fullVersion\"];\r\n (this).sortId = _data[\"sortId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SortVersion {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SortVersion();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fullVersion\"] = this.fullVersion;\r\n data[\"sortId\"] = this.sortId;\r\n return data;\r\n }\r\n\r\n clone(): SortVersion {\r\n const json = this.toJSON();\r\n let result = new SortVersion();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISortVersion {\r\n fullVersion?: number;\r\n sortId?: string;\r\n}\r\n\r\nexport class SsoModel implements ISsoModel {\r\n userName!: string;\r\n clientId?: string | undefined;\r\n token?: string | undefined;\r\n appName?: string | undefined;\r\n\r\n constructor(data?: ISsoModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userName = _data[\"userName\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.token = _data[\"token\"];\r\n this.appName = _data[\"appName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SsoModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SsoModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userName\"] = this.userName;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"token\"] = this.token;\r\n data[\"appName\"] = this.appName;\r\n return data;\r\n }\r\n\r\n clone(): SsoModel {\r\n const json = this.toJSON();\r\n let result = new SsoModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISsoModel {\r\n userName: string;\r\n clientId?: string | undefined;\r\n token?: string | undefined;\r\n appName?: string | undefined;\r\n}\r\n\r\nexport class StringListApiResponse implements IStringListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: string[] | undefined;\r\n\r\n constructor(data?: IStringListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): StringListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StringListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item);\r\n }\r\n return data;\r\n }\r\n\r\n clone(): StringListApiResponse {\r\n const json = this.toJSON();\r\n let result = new StringListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IStringListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: string[] | undefined;\r\n}\r\n\r\nexport class StructLayoutAttribute implements IStructLayoutAttribute {\r\n readonly typeId?: any | undefined;\r\n value?: LayoutKind;\r\n\r\n constructor(data?: IStructLayoutAttribute) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).typeId = _data[\"typeId\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): StructLayoutAttribute {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StructLayoutAttribute();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"typeId\"] = this.typeId;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n\r\n clone(): StructLayoutAttribute {\r\n const json = this.toJSON();\r\n let result = new StructLayoutAttribute();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IStructLayoutAttribute {\r\n typeId?: any | undefined;\r\n value?: LayoutKind;\r\n}\r\n\r\nexport class SysappEntity implements ISysappEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n appid?: number;\r\n dinhdanhapp?: string | undefined;\r\n mota?: string | undefined;\r\n state?: string | undefined;\r\n tenapp?: string | undefined;\r\n trangthai?: number | undefined;\r\n\r\n constructor(data?: ISysappEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.appid = _data[\"appid\"];\r\n this.dinhdanhapp = _data[\"dinhdanhapp\"];\r\n this.mota = _data[\"mota\"];\r\n this.state = _data[\"state\"];\r\n this.tenapp = _data[\"tenapp\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SysappEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SysappEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"appid\"] = this.appid;\r\n data[\"dinhdanhapp\"] = this.dinhdanhapp;\r\n data[\"mota\"] = this.mota;\r\n data[\"state\"] = this.state;\r\n data[\"tenapp\"] = this.tenapp;\r\n data[\"trangthai\"] = this.trangthai;\r\n return data;\r\n }\r\n\r\n clone(): SysappEntity {\r\n const json = this.toJSON();\r\n let result = new SysappEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISysappEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n appid?: number;\r\n dinhdanhapp?: string | undefined;\r\n mota?: string | undefined;\r\n state?: string | undefined;\r\n tenapp?: string | undefined;\r\n trangthai?: number | undefined;\r\n}\r\n\r\nexport class SysappEntityApiResponse implements ISysappEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: SysappEntity;\r\n\r\n constructor(data?: ISysappEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new SysappEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? SysappEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SysappEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SysappEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): SysappEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new SysappEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISysappEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ISysappEntity;\r\n}\r\n\r\nexport class SysappEntityEntityCollectionApiResponse implements ISysappEntityEntityCollectionApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: SysappEntity[] | undefined;\r\n\r\n constructor(data?: ISysappEntityEntityCollectionApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new SysappEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(SysappEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SysappEntityEntityCollectionApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SysappEntityEntityCollectionApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): SysappEntityEntityCollectionApiResponse {\r\n const json = this.toJSON();\r\n let result = new SysappEntityEntityCollectionApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISysappEntityEntityCollectionApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ISysappEntity[] | undefined;\r\n}\r\n\r\nexport class SysdvhanhchinhEntity implements ISysdvhanhchinhEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n capDbhc?: number;\r\n id?: number;\r\n maDbhc?: string | undefined;\r\n maDbhcCha?: string | undefined;\r\n maDinhdanhtinh?: string | undefined;\r\n makey?: string | undefined;\r\n ngayHhl?: Date | undefined;\r\n ngayHl?: Date | undefined;\r\n tenDbhc?: string | undefined;\r\n\r\n constructor(data?: ISysdvhanhchinhEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.capDbhc = _data[\"capDbhc\"];\r\n this.id = _data[\"id\"];\r\n this.maDbhc = _data[\"maDbhc\"];\r\n this.maDbhcCha = _data[\"maDbhcCha\"];\r\n this.maDinhdanhtinh = _data[\"maDinhdanhtinh\"];\r\n this.makey = _data[\"makey\"];\r\n this.ngayHhl = _data[\"ngayHhl\"] ? new Date(_data[\"ngayHhl\"].toString()) : undefined;\r\n this.ngayHl = _data[\"ngayHl\"] ? new Date(_data[\"ngayHl\"].toString()) : undefined;\r\n this.tenDbhc = _data[\"tenDbhc\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SysdvhanhchinhEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SysdvhanhchinhEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"capDbhc\"] = this.capDbhc;\r\n data[\"id\"] = this.id;\r\n data[\"maDbhc\"] = this.maDbhc;\r\n data[\"maDbhcCha\"] = this.maDbhcCha;\r\n data[\"maDinhdanhtinh\"] = this.maDinhdanhtinh;\r\n data[\"makey\"] = this.makey;\r\n data[\"ngayHhl\"] = this.ngayHhl ? this.ngayHhl.toISOString() : undefined;\r\n data[\"ngayHl\"] = this.ngayHl ? this.ngayHl.toISOString() : undefined;\r\n data[\"tenDbhc\"] = this.tenDbhc;\r\n return data;\r\n }\r\n\r\n clone(): SysdvhanhchinhEntity {\r\n const json = this.toJSON();\r\n let result = new SysdvhanhchinhEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISysdvhanhchinhEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n capDbhc?: number;\r\n id?: number;\r\n maDbhc?: string | undefined;\r\n maDbhcCha?: string | undefined;\r\n maDinhdanhtinh?: string | undefined;\r\n makey?: string | undefined;\r\n ngayHhl?: Date | undefined;\r\n ngayHl?: Date | undefined;\r\n tenDbhc?: string | undefined;\r\n}\r\n\r\nexport class SysdvhanhchinhEntityApiResponse implements ISysdvhanhchinhEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: SysdvhanhchinhEntity;\r\n\r\n constructor(data?: ISysdvhanhchinhEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new SysdvhanhchinhEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? SysdvhanhchinhEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SysdvhanhchinhEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SysdvhanhchinhEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): SysdvhanhchinhEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new SysdvhanhchinhEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISysdvhanhchinhEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ISysdvhanhchinhEntity;\r\n}\r\n\r\nexport class SysgroupEntity implements ISysgroupEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n appid?: number | undefined;\r\n description?: string | undefined;\r\n groupid?: number;\r\n groupname?: string | undefined;\r\n level?: number | undefined;\r\n status?: number | undefined;\r\n unitcode?: string | undefined;\r\n readonly sysgroupmenus?: SysgroupmenuEntity[] | undefined;\r\n readonly sysusergroups?: SysusergroupEntity[] | undefined;\r\n\r\n constructor(data?: ISysgroupEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n if (data.sysgroupmenus) {\r\n this.sysgroupmenus = [];\r\n for (let i = 0; i < data.sysgroupmenus.length; i++) {\r\n let item = data.sysgroupmenus[i];\r\n this.sysgroupmenus[i] = item && !(item).toJSON ? new SysgroupmenuEntity(item) : item;\r\n }\r\n }\r\n if (data.sysusergroups) {\r\n this.sysusergroups = [];\r\n for (let i = 0; i < data.sysusergroups.length; i++) {\r\n let item = data.sysusergroups[i];\r\n this.sysusergroups[i] = item && !(item).toJSON ? new SysusergroupEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.appid = _data[\"appid\"];\r\n this.description = _data[\"description\"];\r\n this.groupid = _data[\"groupid\"];\r\n this.groupname = _data[\"groupname\"];\r\n this.level = _data[\"level\"];\r\n this.status = _data[\"status\"];\r\n this.unitcode = _data[\"unitcode\"];\r\n if (Array.isArray(_data[\"sysgroupmenus\"])) {\r\n (this).sysgroupmenus = [] as any;\r\n for (let item of _data[\"sysgroupmenus\"])\r\n (this).sysgroupmenus!.push(SysgroupmenuEntity.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"sysusergroups\"])) {\r\n (this).sysusergroups = [] as any;\r\n for (let item of _data[\"sysusergroups\"])\r\n (this).sysusergroups!.push(SysusergroupEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SysgroupEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SysgroupEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"appid\"] = this.appid;\r\n data[\"description\"] = this.description;\r\n data[\"groupid\"] = this.groupid;\r\n data[\"groupname\"] = this.groupname;\r\n data[\"level\"] = this.level;\r\n data[\"status\"] = this.status;\r\n data[\"unitcode\"] = this.unitcode;\r\n if (Array.isArray(this.sysgroupmenus)) {\r\n data[\"sysgroupmenus\"] = [];\r\n for (let item of this.sysgroupmenus)\r\n data[\"sysgroupmenus\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.sysusergroups)) {\r\n data[\"sysusergroups\"] = [];\r\n for (let item of this.sysusergroups)\r\n data[\"sysusergroups\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): SysgroupEntity {\r\n const json = this.toJSON();\r\n let result = new SysgroupEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISysgroupEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n appid?: number | undefined;\r\n description?: string | undefined;\r\n groupid?: number;\r\n groupname?: string | undefined;\r\n level?: number | undefined;\r\n status?: number | undefined;\r\n unitcode?: string | undefined;\r\n sysgroupmenus?: ISysgroupmenuEntity[] | undefined;\r\n sysusergroups?: ISysusergroupEntity[] | undefined;\r\n}\r\n\r\nexport class SysgroupEntityApiResponse implements ISysgroupEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: SysgroupEntity;\r\n\r\n constructor(data?: ISysgroupEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new SysgroupEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? SysgroupEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SysgroupEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SysgroupEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): SysgroupEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new SysgroupEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISysgroupEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ISysgroupEntity;\r\n}\r\n\r\nexport class SysgroupmenuEntity implements ISysgroupmenuEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n function?: string | undefined;\r\n groupid?: number;\r\n menuid?: number;\r\n sysgroup?: SysgroupEntity;\r\n sysmenu?: SysmenuEntity;\r\n\r\n constructor(data?: ISysgroupmenuEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n this.sysgroup = data.sysgroup && !(data.sysgroup).toJSON ? new SysgroupEntity(data.sysgroup) : this.sysgroup;\r\n this.sysmenu = data.sysmenu && !(data.sysmenu).toJSON ? new SysmenuEntity(data.sysmenu) : this.sysmenu;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.function = _data[\"function\"];\r\n this.groupid = _data[\"groupid\"];\r\n this.menuid = _data[\"menuid\"];\r\n this.sysgroup = _data[\"sysgroup\"] ? SysgroupEntity.fromJS(_data[\"sysgroup\"]) : undefined;\r\n this.sysmenu = _data[\"sysmenu\"] ? SysmenuEntity.fromJS(_data[\"sysmenu\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SysgroupmenuEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SysgroupmenuEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"function\"] = this.function;\r\n data[\"groupid\"] = this.groupid;\r\n data[\"menuid\"] = this.menuid;\r\n data[\"sysgroup\"] = this.sysgroup ? this.sysgroup.toJSON() : undefined;\r\n data[\"sysmenu\"] = this.sysmenu ? this.sysmenu.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): SysgroupmenuEntity {\r\n const json = this.toJSON();\r\n let result = new SysgroupmenuEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISysgroupmenuEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n function?: string | undefined;\r\n groupid?: number;\r\n menuid?: number;\r\n sysgroup?: ISysgroupEntity;\r\n sysmenu?: ISysmenuEntity;\r\n}\r\n\r\nexport class SysGroupSelectByAppidModel implements ISysGroupSelectByAppidModel {\r\n dinhDanhApp?: string | undefined;\r\n lstDetails?: SysGroupSelectByAppIdModelDetail[] | undefined;\r\n\r\n constructor(data?: ISysGroupSelectByAppidModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstDetails) {\r\n this.lstDetails = [];\r\n for (let i = 0; i < data.lstDetails.length; i++) {\r\n let item = data.lstDetails[i];\r\n this.lstDetails[i] = item && !(item).toJSON ? new SysGroupSelectByAppIdModelDetail(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.dinhDanhApp = _data[\"dinhDanhApp\"];\r\n if (Array.isArray(_data[\"lstDetails\"])) {\r\n this.lstDetails = [] as any;\r\n for (let item of _data[\"lstDetails\"])\r\n this.lstDetails!.push(SysGroupSelectByAppIdModelDetail.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SysGroupSelectByAppidModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SysGroupSelectByAppidModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"dinhDanhApp\"] = this.dinhDanhApp;\r\n if (Array.isArray(this.lstDetails)) {\r\n data[\"lstDetails\"] = [];\r\n for (let item of this.lstDetails)\r\n data[\"lstDetails\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): SysGroupSelectByAppidModel {\r\n const json = this.toJSON();\r\n let result = new SysGroupSelectByAppidModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISysGroupSelectByAppidModel {\r\n dinhDanhApp?: string | undefined;\r\n lstDetails?: ISysGroupSelectByAppIdModelDetail[] | undefined;\r\n}\r\n\r\nexport class SysGroupSelectByAppidModelApiResponse implements ISysGroupSelectByAppidModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: SysGroupSelectByAppidModel;\r\n\r\n constructor(data?: ISysGroupSelectByAppidModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new SysGroupSelectByAppidModel(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? SysGroupSelectByAppidModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SysGroupSelectByAppidModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SysGroupSelectByAppidModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): SysGroupSelectByAppidModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new SysGroupSelectByAppidModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISysGroupSelectByAppidModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ISysGroupSelectByAppidModel;\r\n}\r\n\r\nexport class SysGroupSelectByAppIdModelDetail implements ISysGroupSelectByAppIdModelDetail {\r\n menuid?: number;\r\n machucnang?: string | undefined;\r\n macha?: string | undefined;\r\n tenchucnang?: string | undefined;\r\n appid?: string | undefined;\r\n function?: string[] | undefined;\r\n isNew?: boolean;\r\n\r\n constructor(data?: ISysGroupSelectByAppIdModelDetail) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.menuid = _data[\"menuid\"];\r\n this.machucnang = _data[\"machucnang\"];\r\n this.macha = _data[\"macha\"];\r\n this.tenchucnang = _data[\"tenchucnang\"];\r\n this.appid = _data[\"appid\"];\r\n if (Array.isArray(_data[\"function\"])) {\r\n this.function = [] as any;\r\n for (let item of _data[\"function\"])\r\n this.function!.push(item);\r\n }\r\n this.isNew = _data[\"isNew\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SysGroupSelectByAppIdModelDetail {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SysGroupSelectByAppIdModelDetail();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"menuid\"] = this.menuid;\r\n data[\"machucnang\"] = this.machucnang;\r\n data[\"macha\"] = this.macha;\r\n data[\"tenchucnang\"] = this.tenchucnang;\r\n data[\"appid\"] = this.appid;\r\n if (Array.isArray(this.function)) {\r\n data[\"function\"] = [];\r\n for (let item of this.function)\r\n data[\"function\"].push(item);\r\n }\r\n data[\"isNew\"] = this.isNew;\r\n return data;\r\n }\r\n\r\n clone(): SysGroupSelectByAppIdModelDetail {\r\n const json = this.toJSON();\r\n let result = new SysGroupSelectByAppIdModelDetail();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISysGroupSelectByAppIdModelDetail {\r\n menuid?: number;\r\n machucnang?: string | undefined;\r\n macha?: string | undefined;\r\n tenchucnang?: string | undefined;\r\n appid?: string | undefined;\r\n function?: string[] | undefined;\r\n isNew?: boolean;\r\n}\r\n\r\nexport class SyslogactionEntity implements ISyslogactionEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n action?: string | undefined;\r\n appid?: number | undefined;\r\n data?: string | undefined;\r\n dateCreate?: Date | undefined;\r\n id?: string | undefined;\r\n ipClient?: string | undefined;\r\n note?: string | undefined;\r\n objectName?: string | undefined;\r\n type?: number | undefined;\r\n userId?: number | undefined;\r\n userName?: string | undefined;\r\n\r\n constructor(data?: ISyslogactionEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.action = _data[\"action\"];\r\n this.appid = _data[\"appid\"];\r\n this.data = _data[\"data\"];\r\n this.dateCreate = _data[\"dateCreate\"] ? new Date(_data[\"dateCreate\"].toString()) : undefined;\r\n this.id = _data[\"id\"];\r\n this.ipClient = _data[\"ipClient\"];\r\n this.note = _data[\"note\"];\r\n this.objectName = _data[\"objectName\"];\r\n this.type = _data[\"type\"];\r\n this.userId = _data[\"userId\"];\r\n this.userName = _data[\"userName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SyslogactionEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SyslogactionEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"action\"] = this.action;\r\n data[\"appid\"] = this.appid;\r\n data[\"data\"] = this.data;\r\n data[\"dateCreate\"] = this.dateCreate ? this.dateCreate.toISOString() : undefined;\r\n data[\"id\"] = this.id;\r\n data[\"ipClient\"] = this.ipClient;\r\n data[\"note\"] = this.note;\r\n data[\"objectName\"] = this.objectName;\r\n data[\"type\"] = this.type;\r\n data[\"userId\"] = this.userId;\r\n data[\"userName\"] = this.userName;\r\n return data;\r\n }\r\n\r\n clone(): SyslogactionEntity {\r\n const json = this.toJSON();\r\n let result = new SyslogactionEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISyslogactionEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n action?: string | undefined;\r\n appid?: number | undefined;\r\n data?: string | undefined;\r\n dateCreate?: Date | undefined;\r\n id?: string | undefined;\r\n ipClient?: string | undefined;\r\n note?: string | undefined;\r\n objectName?: string | undefined;\r\n type?: number | undefined;\r\n userId?: number | undefined;\r\n userName?: string | undefined;\r\n}\r\n\r\nexport class SyslogactionEntityApiResponse implements ISyslogactionEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: SyslogactionEntity;\r\n\r\n constructor(data?: ISyslogactionEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new SyslogactionEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? SyslogactionEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SyslogactionEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SyslogactionEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): SyslogactionEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new SyslogactionEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISyslogactionEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ISyslogactionEntity;\r\n}\r\n\r\nexport class SysmenuEntity implements ISysmenuEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n appid?: string | undefined;\r\n cssclass?: string | undefined;\r\n function?: string | undefined;\r\n iconclass?: string | undefined;\r\n macha?: string | undefined;\r\n machucnang?: string | undefined;\r\n menuid?: number;\r\n sothutu?: number | undefined;\r\n state?: string | undefined;\r\n tenchucnang?: string | undefined;\r\n trangthai?: number | undefined;\r\n unitcode?: string | undefined;\r\n readonly sysgroupmenus?: SysgroupmenuEntity[] | undefined;\r\n readonly sysusermenus?: SysusermenuEntity[] | undefined;\r\n\r\n constructor(data?: ISysmenuEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n if (data.sysgroupmenus) {\r\n this.sysgroupmenus = [];\r\n for (let i = 0; i < data.sysgroupmenus.length; i++) {\r\n let item = data.sysgroupmenus[i];\r\n this.sysgroupmenus[i] = item && !(item).toJSON ? new SysgroupmenuEntity(item) : item;\r\n }\r\n }\r\n if (data.sysusermenus) {\r\n this.sysusermenus = [];\r\n for (let i = 0; i < data.sysusermenus.length; i++) {\r\n let item = data.sysusermenus[i];\r\n this.sysusermenus[i] = item && !(item).toJSON ? new SysusermenuEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.appid = _data[\"appid\"];\r\n this.cssclass = _data[\"cssclass\"];\r\n this.function = _data[\"function\"];\r\n this.iconclass = _data[\"iconclass\"];\r\n this.macha = _data[\"macha\"];\r\n this.machucnang = _data[\"machucnang\"];\r\n this.menuid = _data[\"menuid\"];\r\n this.sothutu = _data[\"sothutu\"];\r\n this.state = _data[\"state\"];\r\n this.tenchucnang = _data[\"tenchucnang\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.unitcode = _data[\"unitcode\"];\r\n if (Array.isArray(_data[\"sysgroupmenus\"])) {\r\n (this).sysgroupmenus = [] as any;\r\n for (let item of _data[\"sysgroupmenus\"])\r\n (this).sysgroupmenus!.push(SysgroupmenuEntity.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"sysusermenus\"])) {\r\n (this).sysusermenus = [] as any;\r\n for (let item of _data[\"sysusermenus\"])\r\n (this).sysusermenus!.push(SysusermenuEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SysmenuEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SysmenuEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"appid\"] = this.appid;\r\n data[\"cssclass\"] = this.cssclass;\r\n data[\"function\"] = this.function;\r\n data[\"iconclass\"] = this.iconclass;\r\n data[\"macha\"] = this.macha;\r\n data[\"machucnang\"] = this.machucnang;\r\n data[\"menuid\"] = this.menuid;\r\n data[\"sothutu\"] = this.sothutu;\r\n data[\"state\"] = this.state;\r\n data[\"tenchucnang\"] = this.tenchucnang;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"unitcode\"] = this.unitcode;\r\n if (Array.isArray(this.sysgroupmenus)) {\r\n data[\"sysgroupmenus\"] = [];\r\n for (let item of this.sysgroupmenus)\r\n data[\"sysgroupmenus\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.sysusermenus)) {\r\n data[\"sysusermenus\"] = [];\r\n for (let item of this.sysusermenus)\r\n data[\"sysusermenus\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): SysmenuEntity {\r\n const json = this.toJSON();\r\n let result = new SysmenuEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISysmenuEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n appid?: string | undefined;\r\n cssclass?: string | undefined;\r\n function?: string | undefined;\r\n iconclass?: string | undefined;\r\n macha?: string | undefined;\r\n machucnang?: string | undefined;\r\n menuid?: number;\r\n sothutu?: number | undefined;\r\n state?: string | undefined;\r\n tenchucnang?: string | undefined;\r\n trangthai?: number | undefined;\r\n unitcode?: string | undefined;\r\n sysgroupmenus?: ISysgroupmenuEntity[] | undefined;\r\n sysusermenus?: ISysusermenuEntity[] | undefined;\r\n}\r\n\r\nexport class SysmenuEntityApiResponse implements ISysmenuEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: SysmenuEntity;\r\n\r\n constructor(data?: ISysmenuEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new SysmenuEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? SysmenuEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SysmenuEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SysmenuEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): SysmenuEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new SysmenuEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISysmenuEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ISysmenuEntity;\r\n}\r\n\r\nexport class SysRefreshtokenEntity implements ISysRefreshtokenEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n appid?: number | undefined;\r\n created?: Date | undefined;\r\n createdbyip?: string | undefined;\r\n expires?: Date | undefined;\r\n id?: number;\r\n isactive?: number | undefined;\r\n isexpired?: number | undefined;\r\n replacedbytoken?: string | undefined;\r\n revoked?: Date | undefined;\r\n revokedbyip?: string | undefined;\r\n tag?: string | undefined;\r\n token?: string | undefined;\r\n userid?: number | undefined;\r\n sysuser?: SysuserEntity;\r\n\r\n constructor(data?: ISysRefreshtokenEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n this.sysuser = data.sysuser && !(data.sysuser).toJSON ? new SysuserEntity(data.sysuser) : this.sysuser;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.appid = _data[\"appid\"];\r\n this.created = _data[\"created\"] ? new Date(_data[\"created\"].toString()) : undefined;\r\n this.createdbyip = _data[\"createdbyip\"];\r\n this.expires = _data[\"expires\"] ? new Date(_data[\"expires\"].toString()) : undefined;\r\n this.id = _data[\"id\"];\r\n this.isactive = _data[\"isactive\"];\r\n this.isexpired = _data[\"isexpired\"];\r\n this.replacedbytoken = _data[\"replacedbytoken\"];\r\n this.revoked = _data[\"revoked\"] ? new Date(_data[\"revoked\"].toString()) : undefined;\r\n this.revokedbyip = _data[\"revokedbyip\"];\r\n this.tag = _data[\"tag\"];\r\n this.token = _data[\"token\"];\r\n this.userid = _data[\"userid\"];\r\n this.sysuser = _data[\"sysuser\"] ? SysuserEntity.fromJS(_data[\"sysuser\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SysRefreshtokenEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SysRefreshtokenEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"appid\"] = this.appid;\r\n data[\"created\"] = this.created ? this.created.toISOString() : undefined;\r\n data[\"createdbyip\"] = this.createdbyip;\r\n data[\"expires\"] = this.expires ? this.expires.toISOString() : undefined;\r\n data[\"id\"] = this.id;\r\n data[\"isactive\"] = this.isactive;\r\n data[\"isexpired\"] = this.isexpired;\r\n data[\"replacedbytoken\"] = this.replacedbytoken;\r\n data[\"revoked\"] = this.revoked ? this.revoked.toISOString() : undefined;\r\n data[\"revokedbyip\"] = this.revokedbyip;\r\n data[\"tag\"] = this.tag;\r\n data[\"token\"] = this.token;\r\n data[\"userid\"] = this.userid;\r\n data[\"sysuser\"] = this.sysuser ? this.sysuser.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): SysRefreshtokenEntity {\r\n const json = this.toJSON();\r\n let result = new SysRefreshtokenEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISysRefreshtokenEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n appid?: number | undefined;\r\n created?: Date | undefined;\r\n createdbyip?: string | undefined;\r\n expires?: Date | undefined;\r\n id?: number;\r\n isactive?: number | undefined;\r\n isexpired?: number | undefined;\r\n replacedbytoken?: string | undefined;\r\n revoked?: Date | undefined;\r\n revokedbyip?: string | undefined;\r\n tag?: string | undefined;\r\n token?: string | undefined;\r\n userid?: number | undefined;\r\n sysuser?: ISysuserEntity;\r\n}\r\n\r\nexport class SysunitEntity implements ISysunitEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n capdonvi?: string | undefined;\r\n coquanbanhanhqd?: string | undefined;\r\n diachi?: string | undefined;\r\n dinhdanhapp?: string | undefined;\r\n email?: string | undefined;\r\n fax?: string | undefined;\r\n idDiaban?: number | undefined;\r\n idHuyen?: string | undefined;\r\n idTinh?: string | undefined;\r\n idTochuc?: number | undefined;\r\n idXa?: string | undefined;\r\n loaiunit?: number | undefined;\r\n macha?: string | undefined;\r\n madinhdanh?: string | undefined;\r\n madvqhns?: string | undefined;\r\n mahuyen?: string | undefined;\r\n matinh?: string | undefined;\r\n maxa?: string | undefined;\r\n ngaybanhanhqd?: Date;\r\n nguoilienhe?: string | undefined;\r\n qdbanhanhqdsuadoi?: string | undefined;\r\n sodienthoai?: string | undefined;\r\n tendonvi?: string | undefined;\r\n trangthai?: number | undefined;\r\n type?: number | undefined;\r\n unitcode?: string | undefined;\r\n website?: string | undefined;\r\n readonly dmphongbans?: DmphongbanEntity[] | undefined;\r\n dmtochuc?: DmtochucEntity;\r\n\r\n constructor(data?: ISysunitEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n if (data.dmphongbans) {\r\n this.dmphongbans = [];\r\n for (let i = 0; i < data.dmphongbans.length; i++) {\r\n let item = data.dmphongbans[i];\r\n this.dmphongbans[i] = item && !(item).toJSON ? new DmphongbanEntity(item) : item;\r\n }\r\n }\r\n this.dmtochuc = data.dmtochuc && !(data.dmtochuc).toJSON ? new DmtochucEntity(data.dmtochuc) : this.dmtochuc;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.capdonvi = _data[\"capdonvi\"];\r\n this.coquanbanhanhqd = _data[\"coquanbanhanhqd\"];\r\n this.diachi = _data[\"diachi\"];\r\n this.dinhdanhapp = _data[\"dinhdanhapp\"];\r\n this.email = _data[\"email\"];\r\n this.fax = _data[\"fax\"];\r\n this.idDiaban = _data[\"idDiaban\"];\r\n this.idHuyen = _data[\"idHuyen\"];\r\n this.idTinh = _data[\"idTinh\"];\r\n this.idTochuc = _data[\"idTochuc\"];\r\n this.idXa = _data[\"idXa\"];\r\n this.loaiunit = _data[\"loaiunit\"];\r\n this.macha = _data[\"macha\"];\r\n this.madinhdanh = _data[\"madinhdanh\"];\r\n this.madvqhns = _data[\"madvqhns\"];\r\n this.mahuyen = _data[\"mahuyen\"];\r\n this.matinh = _data[\"matinh\"];\r\n this.maxa = _data[\"maxa\"];\r\n this.ngaybanhanhqd = _data[\"ngaybanhanhqd\"] ? new Date(_data[\"ngaybanhanhqd\"].toString()) : undefined;\r\n this.nguoilienhe = _data[\"nguoilienhe\"];\r\n this.qdbanhanhqdsuadoi = _data[\"qdbanhanhqdsuadoi\"];\r\n this.sodienthoai = _data[\"sodienthoai\"];\r\n this.tendonvi = _data[\"tendonvi\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.type = _data[\"type\"];\r\n this.unitcode = _data[\"unitcode\"];\r\n this.website = _data[\"website\"];\r\n if (Array.isArray(_data[\"dmphongbans\"])) {\r\n (this).dmphongbans = [] as any;\r\n for (let item of _data[\"dmphongbans\"])\r\n (this).dmphongbans!.push(DmphongbanEntity.fromJS(item));\r\n }\r\n this.dmtochuc = _data[\"dmtochuc\"] ? DmtochucEntity.fromJS(_data[\"dmtochuc\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SysunitEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SysunitEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"capdonvi\"] = this.capdonvi;\r\n data[\"coquanbanhanhqd\"] = this.coquanbanhanhqd;\r\n data[\"diachi\"] = this.diachi;\r\n data[\"dinhdanhapp\"] = this.dinhdanhapp;\r\n data[\"email\"] = this.email;\r\n data[\"fax\"] = this.fax;\r\n data[\"idDiaban\"] = this.idDiaban;\r\n data[\"idHuyen\"] = this.idHuyen;\r\n data[\"idTinh\"] = this.idTinh;\r\n data[\"idTochuc\"] = this.idTochuc;\r\n data[\"idXa\"] = this.idXa;\r\n data[\"loaiunit\"] = this.loaiunit;\r\n data[\"macha\"] = this.macha;\r\n data[\"madinhdanh\"] = this.madinhdanh;\r\n data[\"madvqhns\"] = this.madvqhns;\r\n data[\"mahuyen\"] = this.mahuyen;\r\n data[\"matinh\"] = this.matinh;\r\n data[\"maxa\"] = this.maxa;\r\n data[\"ngaybanhanhqd\"] = this.ngaybanhanhqd ? this.ngaybanhanhqd.toISOString() : undefined;\r\n data[\"nguoilienhe\"] = this.nguoilienhe;\r\n data[\"qdbanhanhqdsuadoi\"] = this.qdbanhanhqdsuadoi;\r\n data[\"sodienthoai\"] = this.sodienthoai;\r\n data[\"tendonvi\"] = this.tendonvi;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"type\"] = this.type;\r\n data[\"unitcode\"] = this.unitcode;\r\n data[\"website\"] = this.website;\r\n if (Array.isArray(this.dmphongbans)) {\r\n data[\"dmphongbans\"] = [];\r\n for (let item of this.dmphongbans)\r\n data[\"dmphongbans\"].push(item.toJSON());\r\n }\r\n data[\"dmtochuc\"] = this.dmtochuc ? this.dmtochuc.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): SysunitEntity {\r\n const json = this.toJSON();\r\n let result = new SysunitEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISysunitEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n capdonvi?: string | undefined;\r\n coquanbanhanhqd?: string | undefined;\r\n diachi?: string | undefined;\r\n dinhdanhapp?: string | undefined;\r\n email?: string | undefined;\r\n fax?: string | undefined;\r\n idDiaban?: number | undefined;\r\n idHuyen?: string | undefined;\r\n idTinh?: string | undefined;\r\n idTochuc?: number | undefined;\r\n idXa?: string | undefined;\r\n loaiunit?: number | undefined;\r\n macha?: string | undefined;\r\n madinhdanh?: string | undefined;\r\n madvqhns?: string | undefined;\r\n mahuyen?: string | undefined;\r\n matinh?: string | undefined;\r\n maxa?: string | undefined;\r\n ngaybanhanhqd?: Date;\r\n nguoilienhe?: string | undefined;\r\n qdbanhanhqdsuadoi?: string | undefined;\r\n sodienthoai?: string | undefined;\r\n tendonvi?: string | undefined;\r\n trangthai?: number | undefined;\r\n type?: number | undefined;\r\n unitcode?: string | undefined;\r\n website?: string | undefined;\r\n dmphongbans?: IDmphongbanEntity[] | undefined;\r\n dmtochuc?: IDmtochucEntity;\r\n}\r\n\r\nexport class SysunitEntityApiResponse implements ISysunitEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: SysunitEntity;\r\n\r\n constructor(data?: ISysunitEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new SysunitEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? SysunitEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SysunitEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SysunitEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): SysunitEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new SysunitEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISysunitEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ISysunitEntity;\r\n}\r\n\r\nexport class SysunitEntityEntityCollectionApiResponse implements ISysunitEntityEntityCollectionApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: SysunitEntity[] | undefined;\r\n\r\n constructor(data?: ISysunitEntityEntityCollectionApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new SysunitEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(SysunitEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SysunitEntityEntityCollectionApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SysunitEntityEntityCollectionApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): SysunitEntityEntityCollectionApiResponse {\r\n const json = this.toJSON();\r\n let result = new SysunitEntityEntityCollectionApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISysunitEntityEntityCollectionApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ISysunitEntity[] | undefined;\r\n}\r\n\r\nexport class SysuserEntity implements ISysuserEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n appid?: string | undefined;\r\n cap?: number | undefined;\r\n checkisyn?: number | undefined;\r\n diachi?: string | undefined;\r\n email?: string | undefined;\r\n fullname?: string | undefined;\r\n gioitinh?: number | undefined;\r\n idChucvu?: number | undefined;\r\n idsystudien?: number | undefined;\r\n imgavatar?: string | undefined;\r\n loaiuser?: number | undefined;\r\n machucvu?: string | undefined;\r\n madbhc?: string | undefined;\r\n msthue?: number | undefined;\r\n ngaysinh?: Date | undefined;\r\n nglienhe?: string | undefined;\r\n password?: string | undefined;\r\n phone?: string | undefined;\r\n phongban?: string | undefined;\r\n quoctich?: string | undefined;\r\n socmnd?: number | undefined;\r\n trangthai?: number | undefined;\r\n unitcode?: string | undefined;\r\n userid?: number;\r\n username?: string | undefined;\r\n readonly sysRefreshtokens?: SysRefreshtokenEntity[] | undefined;\r\n readonly sysusergroups?: SysusergroupEntity[] | undefined;\r\n readonly sysusermenus?: SysusermenuEntity[] | undefined;\r\n\r\n constructor(data?: ISysuserEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n if (data.sysRefreshtokens) {\r\n this.sysRefreshtokens = [];\r\n for (let i = 0; i < data.sysRefreshtokens.length; i++) {\r\n let item = data.sysRefreshtokens[i];\r\n this.sysRefreshtokens[i] = item && !(item).toJSON ? new SysRefreshtokenEntity(item) : item;\r\n }\r\n }\r\n if (data.sysusergroups) {\r\n this.sysusergroups = [];\r\n for (let i = 0; i < data.sysusergroups.length; i++) {\r\n let item = data.sysusergroups[i];\r\n this.sysusergroups[i] = item && !(item).toJSON ? new SysusergroupEntity(item) : item;\r\n }\r\n }\r\n if (data.sysusermenus) {\r\n this.sysusermenus = [];\r\n for (let i = 0; i < data.sysusermenus.length; i++) {\r\n let item = data.sysusermenus[i];\r\n this.sysusermenus[i] = item && !(item).toJSON ? new SysusermenuEntity(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.appid = _data[\"appid\"];\r\n this.cap = _data[\"cap\"];\r\n this.checkisyn = _data[\"checkisyn\"];\r\n this.diachi = _data[\"diachi\"];\r\n this.email = _data[\"email\"];\r\n this.fullname = _data[\"fullname\"];\r\n this.gioitinh = _data[\"gioitinh\"];\r\n this.idChucvu = _data[\"idChucvu\"];\r\n this.idsystudien = _data[\"idsystudien\"];\r\n this.imgavatar = _data[\"imgavatar\"];\r\n this.loaiuser = _data[\"loaiuser\"];\r\n this.machucvu = _data[\"machucvu\"];\r\n this.madbhc = _data[\"madbhc\"];\r\n this.msthue = _data[\"msthue\"];\r\n this.ngaysinh = _data[\"ngaysinh\"] ? new Date(_data[\"ngaysinh\"].toString()) : undefined;\r\n this.nglienhe = _data[\"nglienhe\"];\r\n this.password = _data[\"password\"];\r\n this.phone = _data[\"phone\"];\r\n this.phongban = _data[\"phongban\"];\r\n this.quoctich = _data[\"quoctich\"];\r\n this.socmnd = _data[\"socmnd\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.unitcode = _data[\"unitcode\"];\r\n this.userid = _data[\"userid\"];\r\n this.username = _data[\"username\"];\r\n if (Array.isArray(_data[\"sysRefreshtokens\"])) {\r\n (this).sysRefreshtokens = [] as any;\r\n for (let item of _data[\"sysRefreshtokens\"])\r\n (this).sysRefreshtokens!.push(SysRefreshtokenEntity.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"sysusergroups\"])) {\r\n (this).sysusergroups = [] as any;\r\n for (let item of _data[\"sysusergroups\"])\r\n (this).sysusergroups!.push(SysusergroupEntity.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"sysusermenus\"])) {\r\n (this).sysusermenus = [] as any;\r\n for (let item of _data[\"sysusermenus\"])\r\n (this).sysusermenus!.push(SysusermenuEntity.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SysuserEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SysuserEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"appid\"] = this.appid;\r\n data[\"cap\"] = this.cap;\r\n data[\"checkisyn\"] = this.checkisyn;\r\n data[\"diachi\"] = this.diachi;\r\n data[\"email\"] = this.email;\r\n data[\"fullname\"] = this.fullname;\r\n data[\"gioitinh\"] = this.gioitinh;\r\n data[\"idChucvu\"] = this.idChucvu;\r\n data[\"idsystudien\"] = this.idsystudien;\r\n data[\"imgavatar\"] = this.imgavatar;\r\n data[\"loaiuser\"] = this.loaiuser;\r\n data[\"machucvu\"] = this.machucvu;\r\n data[\"madbhc\"] = this.madbhc;\r\n data[\"msthue\"] = this.msthue;\r\n data[\"ngaysinh\"] = this.ngaysinh ? this.ngaysinh.toISOString() : undefined;\r\n data[\"nglienhe\"] = this.nglienhe;\r\n data[\"password\"] = this.password;\r\n data[\"phone\"] = this.phone;\r\n data[\"phongban\"] = this.phongban;\r\n data[\"quoctich\"] = this.quoctich;\r\n data[\"socmnd\"] = this.socmnd;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"unitcode\"] = this.unitcode;\r\n data[\"userid\"] = this.userid;\r\n data[\"username\"] = this.username;\r\n if (Array.isArray(this.sysRefreshtokens)) {\r\n data[\"sysRefreshtokens\"] = [];\r\n for (let item of this.sysRefreshtokens)\r\n data[\"sysRefreshtokens\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.sysusergroups)) {\r\n data[\"sysusergroups\"] = [];\r\n for (let item of this.sysusergroups)\r\n data[\"sysusergroups\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.sysusermenus)) {\r\n data[\"sysusermenus\"] = [];\r\n for (let item of this.sysusermenus)\r\n data[\"sysusermenus\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): SysuserEntity {\r\n const json = this.toJSON();\r\n let result = new SysuserEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISysuserEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n appid?: string | undefined;\r\n cap?: number | undefined;\r\n checkisyn?: number | undefined;\r\n diachi?: string | undefined;\r\n email?: string | undefined;\r\n fullname?: string | undefined;\r\n gioitinh?: number | undefined;\r\n idChucvu?: number | undefined;\r\n idsystudien?: number | undefined;\r\n imgavatar?: string | undefined;\r\n loaiuser?: number | undefined;\r\n machucvu?: string | undefined;\r\n madbhc?: string | undefined;\r\n msthue?: number | undefined;\r\n ngaysinh?: Date | undefined;\r\n nglienhe?: string | undefined;\r\n password?: string | undefined;\r\n phone?: string | undefined;\r\n phongban?: string | undefined;\r\n quoctich?: string | undefined;\r\n socmnd?: number | undefined;\r\n trangthai?: number | undefined;\r\n unitcode?: string | undefined;\r\n userid?: number;\r\n username?: string | undefined;\r\n sysRefreshtokens?: ISysRefreshtokenEntity[] | undefined;\r\n sysusergroups?: ISysusergroupEntity[] | undefined;\r\n sysusermenus?: ISysusermenuEntity[] | undefined;\r\n}\r\n\r\nexport class SysuserEntityApiResponse implements ISysuserEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: SysuserEntity;\r\n\r\n constructor(data?: ISysuserEntityApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new SysuserEntity(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? SysuserEntity.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SysuserEntityApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SysuserEntityApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): SysuserEntityApiResponse {\r\n const json = this.toJSON();\r\n let result = new SysuserEntityApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISysuserEntityApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: ISysuserEntity;\r\n}\r\n\r\nexport class SysusergroupEntity implements ISysusergroupEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n groupid?: number;\r\n userid?: number;\r\n sysgroup?: SysgroupEntity;\r\n sysuser?: SysuserEntity;\r\n\r\n constructor(data?: ISysusergroupEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n this.sysgroup = data.sysgroup && !(data.sysgroup).toJSON ? new SysgroupEntity(data.sysgroup) : this.sysgroup;\r\n this.sysuser = data.sysuser && !(data.sysuser).toJSON ? new SysuserEntity(data.sysuser) : this.sysuser;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.groupid = _data[\"groupid\"];\r\n this.userid = _data[\"userid\"];\r\n this.sysgroup = _data[\"sysgroup\"] ? SysgroupEntity.fromJS(_data[\"sysgroup\"]) : undefined;\r\n this.sysuser = _data[\"sysuser\"] ? SysuserEntity.fromJS(_data[\"sysuser\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SysusergroupEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SysusergroupEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"groupid\"] = this.groupid;\r\n data[\"userid\"] = this.userid;\r\n data[\"sysgroup\"] = this.sysgroup ? this.sysgroup.toJSON() : undefined;\r\n data[\"sysuser\"] = this.sysuser ? this.sysuser.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): SysusergroupEntity {\r\n const json = this.toJSON();\r\n let result = new SysusergroupEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISysusergroupEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n groupid?: number;\r\n userid?: number;\r\n sysgroup?: ISysgroupEntity;\r\n sysuser?: ISysuserEntity;\r\n}\r\n\r\nexport class SysusermenuEntity implements ISysusermenuEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n function?: string | undefined;\r\n menuid?: number;\r\n userid?: number;\r\n sysmenu?: SysmenuEntity;\r\n sysuser?: SysuserEntity;\r\n\r\n constructor(data?: ISysusermenuEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n this.sysmenu = data.sysmenu && !(data.sysmenu).toJSON ? new SysmenuEntity(data.sysmenu) : this.sysmenu;\r\n this.sysuser = data.sysuser && !(data.sysuser).toJSON ? new SysuserEntity(data.sysuser) : this.sysuser;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.function = _data[\"function\"];\r\n this.menuid = _data[\"menuid\"];\r\n this.userid = _data[\"userid\"];\r\n this.sysmenu = _data[\"sysmenu\"] ? SysmenuEntity.fromJS(_data[\"sysmenu\"]) : undefined;\r\n this.sysuser = _data[\"sysuser\"] ? SysuserEntity.fromJS(_data[\"sysuser\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SysusermenuEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SysusermenuEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"function\"] = this.function;\r\n data[\"menuid\"] = this.menuid;\r\n data[\"userid\"] = this.userid;\r\n data[\"sysmenu\"] = this.sysmenu ? this.sysmenu.toJSON() : undefined;\r\n data[\"sysuser\"] = this.sysuser ? this.sysuser.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): SysusermenuEntity {\r\n const json = this.toJSON();\r\n let result = new SysusermenuEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISysusermenuEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n function?: string | undefined;\r\n menuid?: number;\r\n userid?: number;\r\n sysmenu?: ISysmenuEntity;\r\n sysuser?: ISysuserEntity;\r\n}\r\n\r\nexport class SysuserUpdateModel implements ISysuserUpdateModel {\r\n appid?: string | undefined;\r\n email?: string | undefined;\r\n fullname?: string | undefined;\r\n idchucvu?: number | undefined;\r\n password?: string | undefined;\r\n phongban?: string | undefined;\r\n trangthai?: number;\r\n unitcode?: string | undefined;\r\n userid?: number;\r\n username?: string | undefined;\r\n phone?: string | undefined;\r\n loaiuser?: number | undefined;\r\n\r\n constructor(data?: ISysuserUpdateModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.appid = _data[\"appid\"];\r\n this.email = _data[\"email\"];\r\n this.fullname = _data[\"fullname\"];\r\n this.idchucvu = _data[\"idchucvu\"];\r\n this.password = _data[\"password\"];\r\n this.phongban = _data[\"phongban\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.unitcode = _data[\"unitcode\"];\r\n this.userid = _data[\"userid\"];\r\n this.username = _data[\"username\"];\r\n this.phone = _data[\"phone\"];\r\n this.loaiuser = _data[\"loaiuser\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SysuserUpdateModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SysuserUpdateModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"appid\"] = this.appid;\r\n data[\"email\"] = this.email;\r\n data[\"fullname\"] = this.fullname;\r\n data[\"idchucvu\"] = this.idchucvu;\r\n data[\"password\"] = this.password;\r\n data[\"phongban\"] = this.phongban;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"unitcode\"] = this.unitcode;\r\n data[\"userid\"] = this.userid;\r\n data[\"username\"] = this.username;\r\n data[\"phone\"] = this.phone;\r\n data[\"loaiuser\"] = this.loaiuser;\r\n return data;\r\n }\r\n\r\n clone(): SysuserUpdateModel {\r\n const json = this.toJSON();\r\n let result = new SysuserUpdateModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISysuserUpdateModel {\r\n appid?: string | undefined;\r\n email?: string | undefined;\r\n fullname?: string | undefined;\r\n idchucvu?: number | undefined;\r\n password?: string | undefined;\r\n phongban?: string | undefined;\r\n trangthai?: number;\r\n unitcode?: string | undefined;\r\n userid?: number;\r\n username?: string | undefined;\r\n phone?: string | undefined;\r\n loaiuser?: number | undefined;\r\n}\r\n\r\nexport class TextInfo implements ITextInfo {\r\n readonly ansiCodePage?: number;\r\n readonly oemCodePage?: number;\r\n readonly macCodePage?: number;\r\n readonly ebcdicCodePage?: number;\r\n readonly lcid?: number;\r\n readonly cultureName?: string | undefined;\r\n readonly isReadOnly?: boolean;\r\n listSeparator?: string | undefined;\r\n readonly isRightToLeft?: boolean;\r\n\r\n constructor(data?: ITextInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).ansiCodePage = _data[\"ansiCodePage\"];\r\n (this).oemCodePage = _data[\"oemCodePage\"];\r\n (this).macCodePage = _data[\"macCodePage\"];\r\n (this).ebcdicCodePage = _data[\"ebcdicCodePage\"];\r\n (this).lcid = _data[\"lcid\"];\r\n (this).cultureName = _data[\"cultureName\"];\r\n (this).isReadOnly = _data[\"isReadOnly\"];\r\n this.listSeparator = _data[\"listSeparator\"];\r\n (this).isRightToLeft = _data[\"isRightToLeft\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TextInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TextInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"ansiCodePage\"] = this.ansiCodePage;\r\n data[\"oemCodePage\"] = this.oemCodePage;\r\n data[\"macCodePage\"] = this.macCodePage;\r\n data[\"ebcdicCodePage\"] = this.ebcdicCodePage;\r\n data[\"lcid\"] = this.lcid;\r\n data[\"cultureName\"] = this.cultureName;\r\n data[\"isReadOnly\"] = this.isReadOnly;\r\n data[\"listSeparator\"] = this.listSeparator;\r\n data[\"isRightToLeft\"] = this.isRightToLeft;\r\n return data;\r\n }\r\n\r\n clone(): TextInfo {\r\n const json = this.toJSON();\r\n let result = new TextInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITextInfo {\r\n ansiCodePage?: number;\r\n oemCodePage?: number;\r\n macCodePage?: number;\r\n ebcdicCodePage?: number;\r\n lcid?: number;\r\n cultureName?: string | undefined;\r\n isReadOnly?: boolean;\r\n listSeparator?: string | undefined;\r\n isRightToLeft?: boolean;\r\n}\r\n\r\nexport class TochucChucvuEntity implements ITochucChucvuEntity {\r\n concurrencyPredicateFactoryToUse?: IConcurrencyPredicateFactory;\r\n authorizerToUse?: IAuthorizer;\r\n auditorToUse?: IAuditor;\r\n validator?: IValidator;\r\n activeContext?: Context;\r\n isNew?: boolean;\r\n fields?: IEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n cap?: number | undefined;\r\n idChucvu?: number;\r\n idTochuc?: number;\r\n dmchucvu?: DmchucvuEntity;\r\n dmtochuc?: DmtochucEntity;\r\n\r\n constructor(data?: ITochucChucvuEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.concurrencyPredicateFactoryToUse = data.concurrencyPredicateFactoryToUse && !(data.concurrencyPredicateFactoryToUse).toJSON ? new IConcurrencyPredicateFactory(data.concurrencyPredicateFactoryToUse) : this.concurrencyPredicateFactoryToUse;\r\n this.authorizerToUse = data.authorizerToUse && !(data.authorizerToUse).toJSON ? new IAuthorizer(data.authorizerToUse) : this.authorizerToUse;\r\n this.auditorToUse = data.auditorToUse && !(data.auditorToUse).toJSON ? new IAuditor(data.auditorToUse) : this.auditorToUse;\r\n this.validator = data.validator && !(data.validator).toJSON ? new IValidator(data.validator) : this.validator;\r\n this.activeContext = data.activeContext && !(data.activeContext).toJSON ? new Context(data.activeContext) : this.activeContext;\r\n if (data.fields) {\r\n this.fields = [];\r\n for (let i = 0; i < data.fields.length; i++) {\r\n let item = data.fields[i];\r\n this.fields[i] = item && !(item).toJSON ? new IEntityFieldCore(item) : item;\r\n }\r\n }\r\n this.dmchucvu = data.dmchucvu && !(data.dmchucvu).toJSON ? new DmchucvuEntity(data.dmchucvu) : this.dmchucvu;\r\n this.dmtochuc = data.dmtochuc && !(data.dmtochuc).toJSON ? new DmtochucEntity(data.dmtochuc) : this.dmtochuc;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.concurrencyPredicateFactoryToUse = _data[\"concurrencyPredicateFactoryToUse\"] ? IConcurrencyPredicateFactory.fromJS(_data[\"concurrencyPredicateFactoryToUse\"]) : undefined;\r\n this.authorizerToUse = _data[\"authorizerToUse\"] ? IAuthorizer.fromJS(_data[\"authorizerToUse\"]) : undefined;\r\n this.auditorToUse = _data[\"auditorToUse\"] ? IAuditor.fromJS(_data[\"auditorToUse\"]) : undefined;\r\n this.validator = _data[\"validator\"] ? IValidator.fromJS(_data[\"validator\"]) : undefined;\r\n this.activeContext = _data[\"activeContext\"] ? Context.fromJS(_data[\"activeContext\"]) : undefined;\r\n this.isNew = _data[\"isNew\"];\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(IEntityFieldCore.fromJS(item));\r\n }\r\n this.isDirty = _data[\"isDirty\"];\r\n this.cap = _data[\"cap\"];\r\n this.idChucvu = _data[\"idChucvu\"];\r\n this.idTochuc = _data[\"idTochuc\"];\r\n this.dmchucvu = _data[\"dmchucvu\"] ? DmchucvuEntity.fromJS(_data[\"dmchucvu\"]) : undefined;\r\n this.dmtochuc = _data[\"dmtochuc\"] ? DmtochucEntity.fromJS(_data[\"dmtochuc\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): TochucChucvuEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TochucChucvuEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"concurrencyPredicateFactoryToUse\"] = this.concurrencyPredicateFactoryToUse ? this.concurrencyPredicateFactoryToUse.toJSON() : undefined;\r\n data[\"authorizerToUse\"] = this.authorizerToUse ? this.authorizerToUse.toJSON() : undefined;\r\n data[\"auditorToUse\"] = this.auditorToUse ? this.auditorToUse.toJSON() : undefined;\r\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\r\n data[\"activeContext\"] = this.activeContext ? this.activeContext.toJSON() : undefined;\r\n data[\"isNew\"] = this.isNew;\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n data[\"isDirty\"] = this.isDirty;\r\n data[\"cap\"] = this.cap;\r\n data[\"idChucvu\"] = this.idChucvu;\r\n data[\"idTochuc\"] = this.idTochuc;\r\n data[\"dmchucvu\"] = this.dmchucvu ? this.dmchucvu.toJSON() : undefined;\r\n data[\"dmtochuc\"] = this.dmtochuc ? this.dmtochuc.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): TochucChucvuEntity {\r\n const json = this.toJSON();\r\n let result = new TochucChucvuEntity();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITochucChucvuEntity {\r\n concurrencyPredicateFactoryToUse?: IIConcurrencyPredicateFactory;\r\n authorizerToUse?: IIAuthorizer;\r\n auditorToUse?: IIAuditor;\r\n validator?: IIValidator;\r\n activeContext?: IContext;\r\n isNew?: boolean;\r\n fields?: IIEntityFieldCore[] | undefined;\r\n isDirty?: boolean;\r\n cap?: number | undefined;\r\n idChucvu?: number;\r\n idTochuc?: number;\r\n dmchucvu?: IDmchucvuEntity;\r\n dmtochuc?: IDmtochucEntity;\r\n}\r\n\r\nexport class TokenForRefresh implements ITokenForRefresh {\r\n tag?: string | undefined;\r\n refreshToken?: string | undefined;\r\n\r\n constructor(data?: ITokenForRefresh) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.tag = _data[\"tag\"];\r\n this.refreshToken = _data[\"refreshToken\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TokenForRefresh {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TokenForRefresh();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"tag\"] = this.tag;\r\n data[\"refreshToken\"] = this.refreshToken;\r\n return data;\r\n }\r\n\r\n clone(): TokenForRefresh {\r\n const json = this.toJSON();\r\n let result = new TokenForRefresh();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITokenForRefresh {\r\n tag?: string | undefined;\r\n refreshToken?: string | undefined;\r\n}\r\n\r\nexport class Type implements IType {\r\n readonly name?: string | undefined;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n readonly isInterface?: boolean;\r\n memberType?: MemberTypes;\r\n readonly namespace?: string | undefined;\r\n readonly assemblyQualifiedName?: string | undefined;\r\n readonly fullName?: string | undefined;\r\n assembly?: Assembly;\r\n module?: Module;\r\n readonly isNested?: boolean;\r\n declaringType?: Type;\r\n declaringMethod?: MethodBase;\r\n reflectedType?: Type;\r\n underlyingSystemType?: Type;\r\n readonly isTypeDefinition?: boolean;\r\n readonly isArray?: boolean;\r\n readonly isByRef?: boolean;\r\n readonly isPointer?: boolean;\r\n readonly isConstructedGenericType?: boolean;\r\n readonly isGenericParameter?: boolean;\r\n readonly isGenericTypeParameter?: boolean;\r\n readonly isGenericMethodParameter?: boolean;\r\n readonly isGenericType?: boolean;\r\n readonly isGenericTypeDefinition?: boolean;\r\n readonly isSZArray?: boolean;\r\n readonly isVariableBoundArray?: boolean;\r\n readonly isByRefLike?: boolean;\r\n readonly hasElementType?: boolean;\r\n readonly genericTypeArguments?: Type[] | undefined;\r\n readonly genericParameterPosition?: number;\r\n genericParameterAttributes?: GenericParameterAttributes;\r\n attributes?: TypeAttributes;\r\n readonly isAbstract?: boolean;\r\n readonly isImport?: boolean;\r\n readonly isSealed?: boolean;\r\n readonly isSpecialName?: boolean;\r\n readonly isClass?: boolean;\r\n readonly isNestedAssembly?: boolean;\r\n readonly isNestedFamANDAssem?: boolean;\r\n readonly isNestedFamily?: boolean;\r\n readonly isNestedFamORAssem?: boolean;\r\n readonly isNestedPrivate?: boolean;\r\n readonly isNestedPublic?: boolean;\r\n readonly isNotPublic?: boolean;\r\n readonly isPublic?: boolean;\r\n readonly isAutoLayout?: boolean;\r\n readonly isExplicitLayout?: boolean;\r\n readonly isLayoutSequential?: boolean;\r\n readonly isAnsiClass?: boolean;\r\n readonly isAutoClass?: boolean;\r\n readonly isUnicodeClass?: boolean;\r\n readonly isCOMObject?: boolean;\r\n readonly isContextful?: boolean;\r\n readonly isEnum?: boolean;\r\n readonly isMarshalByRef?: boolean;\r\n readonly isPrimitive?: boolean;\r\n readonly isValueType?: boolean;\r\n readonly isSignatureType?: boolean;\r\n readonly isSecurityCritical?: boolean;\r\n readonly isSecuritySafeCritical?: boolean;\r\n readonly isSecurityTransparent?: boolean;\r\n structLayoutAttribute?: StructLayoutAttribute;\r\n typeInitializer?: ConstructorInfo;\r\n typeHandle?: RuntimeTypeHandle;\r\n readonly guid?: string;\r\n baseType?: Type;\r\n readonly isSerializable?: boolean;\r\n readonly containsGenericParameters?: boolean;\r\n readonly isVisible?: boolean;\r\n\r\n constructor(data?: IType) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.assembly = data.assembly && !(data.assembly).toJSON ? new Assembly(data.assembly) : this.assembly;\r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module;\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType;\r\n this.declaringMethod = data.declaringMethod && !(data.declaringMethod).toJSON ? new MethodBase(data.declaringMethod) : this.declaringMethod;\r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType;\r\n this.underlyingSystemType = data.underlyingSystemType && !(data.underlyingSystemType).toJSON ? new Type(data.underlyingSystemType) : this.underlyingSystemType;\r\n if (data.genericTypeArguments) {\r\n this.genericTypeArguments = [];\r\n for (let i = 0; i < data.genericTypeArguments.length; i++) {\r\n let item = data.genericTypeArguments[i];\r\n this.genericTypeArguments[i] = item && !(item).toJSON ? new Type(item) : item;\r\n }\r\n }\r\n this.structLayoutAttribute = data.structLayoutAttribute && !(data.structLayoutAttribute).toJSON ? new StructLayoutAttribute(data.structLayoutAttribute) : this.structLayoutAttribute;\r\n this.typeInitializer = data.typeInitializer && !(data.typeInitializer).toJSON ? new ConstructorInfo(data.typeInitializer) : this.typeInitializer;\r\n this.typeHandle = data.typeHandle && !(data.typeHandle).toJSON ? new RuntimeTypeHandle(data.typeHandle) : this.typeHandle;\r\n this.baseType = data.baseType && !(data.baseType).toJSON ? new Type(data.baseType) : this.baseType;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n (this).isInterface = _data[\"isInterface\"];\r\n this.memberType = _data[\"memberType\"];\r\n (this).namespace = _data[\"namespace\"];\r\n (this).assemblyQualifiedName = _data[\"assemblyQualifiedName\"];\r\n (this).fullName = _data[\"fullName\"];\r\n this.assembly = _data[\"assembly\"] ? Assembly.fromJS(_data[\"assembly\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n (this).isNested = _data[\"isNested\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.declaringMethod = _data[\"declaringMethod\"] ? MethodBase.fromJS(_data[\"declaringMethod\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.underlyingSystemType = _data[\"underlyingSystemType\"] ? Type.fromJS(_data[\"underlyingSystemType\"]) : undefined;\r\n (this).isTypeDefinition = _data[\"isTypeDefinition\"];\r\n (this).isArray = _data[\"isArray\"];\r\n (this).isByRef = _data[\"isByRef\"];\r\n (this).isPointer = _data[\"isPointer\"];\r\n (this).isConstructedGenericType = _data[\"isConstructedGenericType\"];\r\n (this).isGenericParameter = _data[\"isGenericParameter\"];\r\n (this).isGenericTypeParameter = _data[\"isGenericTypeParameter\"];\r\n (this).isGenericMethodParameter = _data[\"isGenericMethodParameter\"];\r\n (this).isGenericType = _data[\"isGenericType\"];\r\n (this).isGenericTypeDefinition = _data[\"isGenericTypeDefinition\"];\r\n (this).isSZArray = _data[\"isSZArray\"];\r\n (this).isVariableBoundArray = _data[\"isVariableBoundArray\"];\r\n (this).isByRefLike = _data[\"isByRefLike\"];\r\n (this).hasElementType = _data[\"hasElementType\"];\r\n if (Array.isArray(_data[\"genericTypeArguments\"])) {\r\n (this).genericTypeArguments = [] as any;\r\n for (let item of _data[\"genericTypeArguments\"])\r\n (this).genericTypeArguments!.push(Type.fromJS(item));\r\n }\r\n (this).genericParameterPosition = _data[\"genericParameterPosition\"];\r\n this.genericParameterAttributes = _data[\"genericParameterAttributes\"];\r\n this.attributes = _data[\"attributes\"];\r\n (this).isAbstract = _data[\"isAbstract\"];\r\n (this).isImport = _data[\"isImport\"];\r\n (this).isSealed = _data[\"isSealed\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n (this).isClass = _data[\"isClass\"];\r\n (this).isNestedAssembly = _data[\"isNestedAssembly\"];\r\n (this).isNestedFamANDAssem = _data[\"isNestedFamANDAssem\"];\r\n (this).isNestedFamily = _data[\"isNestedFamily\"];\r\n (this).isNestedFamORAssem = _data[\"isNestedFamORAssem\"];\r\n (this).isNestedPrivate = _data[\"isNestedPrivate\"];\r\n (this).isNestedPublic = _data[\"isNestedPublic\"];\r\n (this).isNotPublic = _data[\"isNotPublic\"];\r\n (this).isPublic = _data[\"isPublic\"];\r\n (this).isAutoLayout = _data[\"isAutoLayout\"];\r\n (this).isExplicitLayout = _data[\"isExplicitLayout\"];\r\n (this).isLayoutSequential = _data[\"isLayoutSequential\"];\r\n (this).isAnsiClass = _data[\"isAnsiClass\"];\r\n (this).isAutoClass = _data[\"isAutoClass\"];\r\n (this).isUnicodeClass = _data[\"isUnicodeClass\"];\r\n (this).isCOMObject = _data[\"isCOMObject\"];\r\n (this).isContextful = _data[\"isContextful\"];\r\n (this).isEnum = _data[\"isEnum\"];\r\n (this).isMarshalByRef = _data[\"isMarshalByRef\"];\r\n (this).isPrimitive = _data[\"isPrimitive\"];\r\n (this).isValueType = _data[\"isValueType\"];\r\n (this).isSignatureType = _data[\"isSignatureType\"];\r\n (this).isSecurityCritical = _data[\"isSecurityCritical\"];\r\n (this).isSecuritySafeCritical = _data[\"isSecuritySafeCritical\"];\r\n (this).isSecurityTransparent = _data[\"isSecurityTransparent\"];\r\n this.structLayoutAttribute = _data[\"structLayoutAttribute\"] ? StructLayoutAttribute.fromJS(_data[\"structLayoutAttribute\"]) : undefined;\r\n this.typeInitializer = _data[\"typeInitializer\"] ? ConstructorInfo.fromJS(_data[\"typeInitializer\"]) : undefined;\r\n this.typeHandle = _data[\"typeHandle\"] ? RuntimeTypeHandle.fromJS(_data[\"typeHandle\"]) : undefined;\r\n (this).guid = _data[\"guid\"];\r\n this.baseType = _data[\"baseType\"] ? Type.fromJS(_data[\"baseType\"]) : undefined;\r\n (this).isSerializable = _data[\"isSerializable\"];\r\n (this).containsGenericParameters = _data[\"containsGenericParameters\"];\r\n (this).isVisible = _data[\"isVisible\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Type {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Type();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"isInterface\"] = this.isInterface;\r\n data[\"memberType\"] = this.memberType;\r\n data[\"namespace\"] = this.namespace;\r\n data[\"assemblyQualifiedName\"] = this.assemblyQualifiedName;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"assembly\"] = this.assembly ? this.assembly.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n data[\"isNested\"] = this.isNested;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"declaringMethod\"] = this.declaringMethod ? this.declaringMethod.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"underlyingSystemType\"] = this.underlyingSystemType ? this.underlyingSystemType.toJSON() : undefined;\r\n data[\"isTypeDefinition\"] = this.isTypeDefinition;\r\n data[\"isArray\"] = this.isArray;\r\n data[\"isByRef\"] = this.isByRef;\r\n data[\"isPointer\"] = this.isPointer;\r\n data[\"isConstructedGenericType\"] = this.isConstructedGenericType;\r\n data[\"isGenericParameter\"] = this.isGenericParameter;\r\n data[\"isGenericTypeParameter\"] = this.isGenericTypeParameter;\r\n data[\"isGenericMethodParameter\"] = this.isGenericMethodParameter;\r\n data[\"isGenericType\"] = this.isGenericType;\r\n data[\"isGenericTypeDefinition\"] = this.isGenericTypeDefinition;\r\n data[\"isSZArray\"] = this.isSZArray;\r\n data[\"isVariableBoundArray\"] = this.isVariableBoundArray;\r\n data[\"isByRefLike\"] = this.isByRefLike;\r\n data[\"hasElementType\"] = this.hasElementType;\r\n if (Array.isArray(this.genericTypeArguments)) {\r\n data[\"genericTypeArguments\"] = [];\r\n for (let item of this.genericTypeArguments)\r\n data[\"genericTypeArguments\"].push(item.toJSON());\r\n }\r\n data[\"genericParameterPosition\"] = this.genericParameterPosition;\r\n data[\"genericParameterAttributes\"] = this.genericParameterAttributes;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"isAbstract\"] = this.isAbstract;\r\n data[\"isImport\"] = this.isImport;\r\n data[\"isSealed\"] = this.isSealed;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"isClass\"] = this.isClass;\r\n data[\"isNestedAssembly\"] = this.isNestedAssembly;\r\n data[\"isNestedFamANDAssem\"] = this.isNestedFamANDAssem;\r\n data[\"isNestedFamily\"] = this.isNestedFamily;\r\n data[\"isNestedFamORAssem\"] = this.isNestedFamORAssem;\r\n data[\"isNestedPrivate\"] = this.isNestedPrivate;\r\n data[\"isNestedPublic\"] = this.isNestedPublic;\r\n data[\"isNotPublic\"] = this.isNotPublic;\r\n data[\"isPublic\"] = this.isPublic;\r\n data[\"isAutoLayout\"] = this.isAutoLayout;\r\n data[\"isExplicitLayout\"] = this.isExplicitLayout;\r\n data[\"isLayoutSequential\"] = this.isLayoutSequential;\r\n data[\"isAnsiClass\"] = this.isAnsiClass;\r\n data[\"isAutoClass\"] = this.isAutoClass;\r\n data[\"isUnicodeClass\"] = this.isUnicodeClass;\r\n data[\"isCOMObject\"] = this.isCOMObject;\r\n data[\"isContextful\"] = this.isContextful;\r\n data[\"isEnum\"] = this.isEnum;\r\n data[\"isMarshalByRef\"] = this.isMarshalByRef;\r\n data[\"isPrimitive\"] = this.isPrimitive;\r\n data[\"isValueType\"] = this.isValueType;\r\n data[\"isSignatureType\"] = this.isSignatureType;\r\n data[\"isSecurityCritical\"] = this.isSecurityCritical;\r\n data[\"isSecuritySafeCritical\"] = this.isSecuritySafeCritical;\r\n data[\"isSecurityTransparent\"] = this.isSecurityTransparent;\r\n data[\"structLayoutAttribute\"] = this.structLayoutAttribute ? this.structLayoutAttribute.toJSON() : undefined;\r\n data[\"typeInitializer\"] = this.typeInitializer ? this.typeInitializer.toJSON() : undefined;\r\n data[\"typeHandle\"] = this.typeHandle ? this.typeHandle.toJSON() : undefined;\r\n data[\"guid\"] = this.guid;\r\n data[\"baseType\"] = this.baseType ? this.baseType.toJSON() : undefined;\r\n data[\"isSerializable\"] = this.isSerializable;\r\n data[\"containsGenericParameters\"] = this.containsGenericParameters;\r\n data[\"isVisible\"] = this.isVisible;\r\n return data;\r\n }\r\n\r\n clone(): Type {\r\n const json = this.toJSON();\r\n let result = new Type();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IType {\r\n name?: string | undefined;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n isInterface?: boolean;\r\n memberType?: MemberTypes;\r\n namespace?: string | undefined;\r\n assemblyQualifiedName?: string | undefined;\r\n fullName?: string | undefined;\r\n assembly?: IAssembly;\r\n module?: IModule;\r\n isNested?: boolean;\r\n declaringType?: IType;\r\n declaringMethod?: IMethodBase;\r\n reflectedType?: IType;\r\n underlyingSystemType?: IType;\r\n isTypeDefinition?: boolean;\r\n isArray?: boolean;\r\n isByRef?: boolean;\r\n isPointer?: boolean;\r\n isConstructedGenericType?: boolean;\r\n isGenericParameter?: boolean;\r\n isGenericTypeParameter?: boolean;\r\n isGenericMethodParameter?: boolean;\r\n isGenericType?: boolean;\r\n isGenericTypeDefinition?: boolean;\r\n isSZArray?: boolean;\r\n isVariableBoundArray?: boolean;\r\n isByRefLike?: boolean;\r\n hasElementType?: boolean;\r\n genericTypeArguments?: IType[] | undefined;\r\n genericParameterPosition?: number;\r\n genericParameterAttributes?: GenericParameterAttributes;\r\n attributes?: TypeAttributes;\r\n isAbstract?: boolean;\r\n isImport?: boolean;\r\n isSealed?: boolean;\r\n isSpecialName?: boolean;\r\n isClass?: boolean;\r\n isNestedAssembly?: boolean;\r\n isNestedFamANDAssem?: boolean;\r\n isNestedFamily?: boolean;\r\n isNestedFamORAssem?: boolean;\r\n isNestedPrivate?: boolean;\r\n isNestedPublic?: boolean;\r\n isNotPublic?: boolean;\r\n isPublic?: boolean;\r\n isAutoLayout?: boolean;\r\n isExplicitLayout?: boolean;\r\n isLayoutSequential?: boolean;\r\n isAnsiClass?: boolean;\r\n isAutoClass?: boolean;\r\n isUnicodeClass?: boolean;\r\n isCOMObject?: boolean;\r\n isContextful?: boolean;\r\n isEnum?: boolean;\r\n isMarshalByRef?: boolean;\r\n isPrimitive?: boolean;\r\n isValueType?: boolean;\r\n isSignatureType?: boolean;\r\n isSecurityCritical?: boolean;\r\n isSecuritySafeCritical?: boolean;\r\n isSecurityTransparent?: boolean;\r\n structLayoutAttribute?: IStructLayoutAttribute;\r\n typeInitializer?: IConstructorInfo;\r\n typeHandle?: IRuntimeTypeHandle;\r\n guid?: string;\r\n baseType?: IType;\r\n isSerializable?: boolean;\r\n containsGenericParameters?: boolean;\r\n isVisible?: boolean;\r\n}\r\n\r\nexport enum TypeAttributes {\r\n _0 = 0,\r\n _1 = 1,\r\n _2 = 2,\r\n _3 = 3,\r\n _4 = 4,\r\n _5 = 5,\r\n _6 = 6,\r\n _7 = 7,\r\n _8 = 8,\r\n _16 = 16,\r\n _24 = 24,\r\n _32 = 32,\r\n _128 = 128,\r\n _256 = 256,\r\n _1024 = 1024,\r\n _2048 = 2048,\r\n _4096 = 4096,\r\n _8192 = 8192,\r\n _16384 = 16384,\r\n _65536 = 65536,\r\n _131072 = 131072,\r\n _196608 = 196608,\r\n _262144 = 262144,\r\n _264192 = 264192,\r\n _1048576 = 1048576,\r\n _12582912 = 12582912,\r\n}\r\n\r\nexport class TypeInfo implements ITypeInfo {\r\n readonly name?: string | undefined;\r\n readonly customAttributes?: CustomAttributeData[] | undefined;\r\n readonly isCollectible?: boolean;\r\n readonly metadataToken?: number;\r\n readonly isInterface?: boolean;\r\n memberType?: MemberTypes;\r\n readonly namespace?: string | undefined;\r\n readonly assemblyQualifiedName?: string | undefined;\r\n readonly fullName?: string | undefined;\r\n assembly?: Assembly;\r\n module?: Module;\r\n readonly isNested?: boolean;\r\n declaringType?: Type;\r\n declaringMethod?: MethodBase;\r\n reflectedType?: Type;\r\n underlyingSystemType?: Type;\r\n readonly isTypeDefinition?: boolean;\r\n readonly isArray?: boolean;\r\n readonly isByRef?: boolean;\r\n readonly isPointer?: boolean;\r\n readonly isConstructedGenericType?: boolean;\r\n readonly isGenericParameter?: boolean;\r\n readonly isGenericTypeParameter?: boolean;\r\n readonly isGenericMethodParameter?: boolean;\r\n readonly isGenericType?: boolean;\r\n readonly isGenericTypeDefinition?: boolean;\r\n readonly isSZArray?: boolean;\r\n readonly isVariableBoundArray?: boolean;\r\n readonly isByRefLike?: boolean;\r\n readonly hasElementType?: boolean;\r\n readonly genericTypeArguments?: Type[] | undefined;\r\n readonly genericParameterPosition?: number;\r\n genericParameterAttributes?: GenericParameterAttributes;\r\n attributes?: TypeAttributes;\r\n readonly isAbstract?: boolean;\r\n readonly isImport?: boolean;\r\n readonly isSealed?: boolean;\r\n readonly isSpecialName?: boolean;\r\n readonly isClass?: boolean;\r\n readonly isNestedAssembly?: boolean;\r\n readonly isNestedFamANDAssem?: boolean;\r\n readonly isNestedFamily?: boolean;\r\n readonly isNestedFamORAssem?: boolean;\r\n readonly isNestedPrivate?: boolean;\r\n readonly isNestedPublic?: boolean;\r\n readonly isNotPublic?: boolean;\r\n readonly isPublic?: boolean;\r\n readonly isAutoLayout?: boolean;\r\n readonly isExplicitLayout?: boolean;\r\n readonly isLayoutSequential?: boolean;\r\n readonly isAnsiClass?: boolean;\r\n readonly isAutoClass?: boolean;\r\n readonly isUnicodeClass?: boolean;\r\n readonly isCOMObject?: boolean;\r\n readonly isContextful?: boolean;\r\n readonly isEnum?: boolean;\r\n readonly isMarshalByRef?: boolean;\r\n readonly isPrimitive?: boolean;\r\n readonly isValueType?: boolean;\r\n readonly isSignatureType?: boolean;\r\n readonly isSecurityCritical?: boolean;\r\n readonly isSecuritySafeCritical?: boolean;\r\n readonly isSecurityTransparent?: boolean;\r\n structLayoutAttribute?: StructLayoutAttribute;\r\n typeInitializer?: ConstructorInfo;\r\n typeHandle?: RuntimeTypeHandle;\r\n readonly guid?: string;\r\n baseType?: Type;\r\n readonly isSerializable?: boolean;\r\n readonly containsGenericParameters?: boolean;\r\n readonly isVisible?: boolean;\r\n readonly genericTypeParameters?: Type[] | undefined;\r\n readonly declaredConstructors?: ConstructorInfo[] | undefined;\r\n readonly declaredEvents?: EventInfo[] | undefined;\r\n readonly declaredFields?: FieldInfo[] | undefined;\r\n readonly declaredMembers?: MemberInfo[] | undefined;\r\n readonly declaredMethods?: MethodInfo[] | undefined;\r\n readonly declaredNestedTypes?: TypeInfo[] | undefined;\r\n readonly declaredProperties?: PropertyInfo[] | undefined;\r\n readonly implementedInterfaces?: Type[] | undefined;\r\n\r\n constructor(data?: ITypeInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.customAttributes) {\r\n this.customAttributes = [];\r\n for (let i = 0; i < data.customAttributes.length; i++) {\r\n let item = data.customAttributes[i];\r\n this.customAttributes[i] = item && !(item).toJSON ? new CustomAttributeData(item) : item;\r\n }\r\n }\r\n this.assembly = data.assembly && !(data.assembly).toJSON ? new Assembly(data.assembly) : this.assembly;\r\n this.module = data.module && !(data.module).toJSON ? new Module(data.module) : this.module;\r\n this.declaringType = data.declaringType && !(data.declaringType).toJSON ? new Type(data.declaringType) : this.declaringType;\r\n this.declaringMethod = data.declaringMethod && !(data.declaringMethod).toJSON ? new MethodBase(data.declaringMethod) : this.declaringMethod;\r\n this.reflectedType = data.reflectedType && !(data.reflectedType).toJSON ? new Type(data.reflectedType) : this.reflectedType;\r\n this.underlyingSystemType = data.underlyingSystemType && !(data.underlyingSystemType).toJSON ? new Type(data.underlyingSystemType) : this.underlyingSystemType;\r\n if (data.genericTypeArguments) {\r\n this.genericTypeArguments = [];\r\n for (let i = 0; i < data.genericTypeArguments.length; i++) {\r\n let item = data.genericTypeArguments[i];\r\n this.genericTypeArguments[i] = item && !(item).toJSON ? new Type(item) : item;\r\n }\r\n }\r\n this.structLayoutAttribute = data.structLayoutAttribute && !(data.structLayoutAttribute).toJSON ? new StructLayoutAttribute(data.structLayoutAttribute) : this.structLayoutAttribute;\r\n this.typeInitializer = data.typeInitializer && !(data.typeInitializer).toJSON ? new ConstructorInfo(data.typeInitializer) : this.typeInitializer;\r\n this.typeHandle = data.typeHandle && !(data.typeHandle).toJSON ? new RuntimeTypeHandle(data.typeHandle) : this.typeHandle;\r\n this.baseType = data.baseType && !(data.baseType).toJSON ? new Type(data.baseType) : this.baseType;\r\n if (data.genericTypeParameters) {\r\n this.genericTypeParameters = [];\r\n for (let i = 0; i < data.genericTypeParameters.length; i++) {\r\n let item = data.genericTypeParameters[i];\r\n this.genericTypeParameters[i] = item && !(item).toJSON ? new Type(item) : item;\r\n }\r\n }\r\n if (data.declaredConstructors) {\r\n this.declaredConstructors = [];\r\n for (let i = 0; i < data.declaredConstructors.length; i++) {\r\n let item = data.declaredConstructors[i];\r\n this.declaredConstructors[i] = item && !(item).toJSON ? new ConstructorInfo(item) : item;\r\n }\r\n }\r\n if (data.declaredEvents) {\r\n this.declaredEvents = [];\r\n for (let i = 0; i < data.declaredEvents.length; i++) {\r\n let item = data.declaredEvents[i];\r\n this.declaredEvents[i] = item && !(item).toJSON ? new EventInfo(item) : item;\r\n }\r\n }\r\n if (data.declaredFields) {\r\n this.declaredFields = [];\r\n for (let i = 0; i < data.declaredFields.length; i++) {\r\n let item = data.declaredFields[i];\r\n this.declaredFields[i] = item && !(item).toJSON ? new FieldInfo(item) : item;\r\n }\r\n }\r\n if (data.declaredMembers) {\r\n this.declaredMembers = [];\r\n for (let i = 0; i < data.declaredMembers.length; i++) {\r\n let item = data.declaredMembers[i];\r\n this.declaredMembers[i] = item && !(item).toJSON ? new MemberInfo(item) : item;\r\n }\r\n }\r\n if (data.declaredMethods) {\r\n this.declaredMethods = [];\r\n for (let i = 0; i < data.declaredMethods.length; i++) {\r\n let item = data.declaredMethods[i];\r\n this.declaredMethods[i] = item && !(item).toJSON ? new MethodInfo(item) : item;\r\n }\r\n }\r\n if (data.declaredNestedTypes) {\r\n this.declaredNestedTypes = [];\r\n for (let i = 0; i < data.declaredNestedTypes.length; i++) {\r\n let item = data.declaredNestedTypes[i];\r\n this.declaredNestedTypes[i] = item && !(item).toJSON ? new TypeInfo(item) : item;\r\n }\r\n }\r\n if (data.declaredProperties) {\r\n this.declaredProperties = [];\r\n for (let i = 0; i < data.declaredProperties.length; i++) {\r\n let item = data.declaredProperties[i];\r\n this.declaredProperties[i] = item && !(item).toJSON ? new PropertyInfo(item) : item;\r\n }\r\n }\r\n if (data.implementedInterfaces) {\r\n this.implementedInterfaces = [];\r\n for (let i = 0; i < data.implementedInterfaces.length; i++) {\r\n let item = data.implementedInterfaces[i];\r\n this.implementedInterfaces[i] = item && !(item).toJSON ? new Type(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).name = _data[\"name\"];\r\n if (Array.isArray(_data[\"customAttributes\"])) {\r\n (this).customAttributes = [] as any;\r\n for (let item of _data[\"customAttributes\"])\r\n (this).customAttributes!.push(CustomAttributeData.fromJS(item));\r\n }\r\n (this).isCollectible = _data[\"isCollectible\"];\r\n (this).metadataToken = _data[\"metadataToken\"];\r\n (this).isInterface = _data[\"isInterface\"];\r\n this.memberType = _data[\"memberType\"];\r\n (this).namespace = _data[\"namespace\"];\r\n (this).assemblyQualifiedName = _data[\"assemblyQualifiedName\"];\r\n (this).fullName = _data[\"fullName\"];\r\n this.assembly = _data[\"assembly\"] ? Assembly.fromJS(_data[\"assembly\"]) : undefined;\r\n this.module = _data[\"module\"] ? Module.fromJS(_data[\"module\"]) : undefined;\r\n (this).isNested = _data[\"isNested\"];\r\n this.declaringType = _data[\"declaringType\"] ? Type.fromJS(_data[\"declaringType\"]) : undefined;\r\n this.declaringMethod = _data[\"declaringMethod\"] ? MethodBase.fromJS(_data[\"declaringMethod\"]) : undefined;\r\n this.reflectedType = _data[\"reflectedType\"] ? Type.fromJS(_data[\"reflectedType\"]) : undefined;\r\n this.underlyingSystemType = _data[\"underlyingSystemType\"] ? Type.fromJS(_data[\"underlyingSystemType\"]) : undefined;\r\n (this).isTypeDefinition = _data[\"isTypeDefinition\"];\r\n (this).isArray = _data[\"isArray\"];\r\n (this).isByRef = _data[\"isByRef\"];\r\n (this).isPointer = _data[\"isPointer\"];\r\n (this).isConstructedGenericType = _data[\"isConstructedGenericType\"];\r\n (this).isGenericParameter = _data[\"isGenericParameter\"];\r\n (this).isGenericTypeParameter = _data[\"isGenericTypeParameter\"];\r\n (this).isGenericMethodParameter = _data[\"isGenericMethodParameter\"];\r\n (this).isGenericType = _data[\"isGenericType\"];\r\n (this).isGenericTypeDefinition = _data[\"isGenericTypeDefinition\"];\r\n (this).isSZArray = _data[\"isSZArray\"];\r\n (this).isVariableBoundArray = _data[\"isVariableBoundArray\"];\r\n (this).isByRefLike = _data[\"isByRefLike\"];\r\n (this).hasElementType = _data[\"hasElementType\"];\r\n if (Array.isArray(_data[\"genericTypeArguments\"])) {\r\n (this).genericTypeArguments = [] as any;\r\n for (let item of _data[\"genericTypeArguments\"])\r\n (this).genericTypeArguments!.push(Type.fromJS(item));\r\n }\r\n (this).genericParameterPosition = _data[\"genericParameterPosition\"];\r\n this.genericParameterAttributes = _data[\"genericParameterAttributes\"];\r\n this.attributes = _data[\"attributes\"];\r\n (this).isAbstract = _data[\"isAbstract\"];\r\n (this).isImport = _data[\"isImport\"];\r\n (this).isSealed = _data[\"isSealed\"];\r\n (this).isSpecialName = _data[\"isSpecialName\"];\r\n (this).isClass = _data[\"isClass\"];\r\n (this).isNestedAssembly = _data[\"isNestedAssembly\"];\r\n (this).isNestedFamANDAssem = _data[\"isNestedFamANDAssem\"];\r\n (this).isNestedFamily = _data[\"isNestedFamily\"];\r\n (this).isNestedFamORAssem = _data[\"isNestedFamORAssem\"];\r\n (this).isNestedPrivate = _data[\"isNestedPrivate\"];\r\n (this).isNestedPublic = _data[\"isNestedPublic\"];\r\n (this).isNotPublic = _data[\"isNotPublic\"];\r\n (this).isPublic = _data[\"isPublic\"];\r\n (this).isAutoLayout = _data[\"isAutoLayout\"];\r\n (this).isExplicitLayout = _data[\"isExplicitLayout\"];\r\n (this).isLayoutSequential = _data[\"isLayoutSequential\"];\r\n (this).isAnsiClass = _data[\"isAnsiClass\"];\r\n (this).isAutoClass = _data[\"isAutoClass\"];\r\n (this).isUnicodeClass = _data[\"isUnicodeClass\"];\r\n (this).isCOMObject = _data[\"isCOMObject\"];\r\n (this).isContextful = _data[\"isContextful\"];\r\n (this).isEnum = _data[\"isEnum\"];\r\n (this).isMarshalByRef = _data[\"isMarshalByRef\"];\r\n (this).isPrimitive = _data[\"isPrimitive\"];\r\n (this).isValueType = _data[\"isValueType\"];\r\n (this).isSignatureType = _data[\"isSignatureType\"];\r\n (this).isSecurityCritical = _data[\"isSecurityCritical\"];\r\n (this).isSecuritySafeCritical = _data[\"isSecuritySafeCritical\"];\r\n (this).isSecurityTransparent = _data[\"isSecurityTransparent\"];\r\n this.structLayoutAttribute = _data[\"structLayoutAttribute\"] ? StructLayoutAttribute.fromJS(_data[\"structLayoutAttribute\"]) : undefined;\r\n this.typeInitializer = _data[\"typeInitializer\"] ? ConstructorInfo.fromJS(_data[\"typeInitializer\"]) : undefined;\r\n this.typeHandle = _data[\"typeHandle\"] ? RuntimeTypeHandle.fromJS(_data[\"typeHandle\"]) : undefined;\r\n (this).guid = _data[\"guid\"];\r\n this.baseType = _data[\"baseType\"] ? Type.fromJS(_data[\"baseType\"]) : undefined;\r\n (this).isSerializable = _data[\"isSerializable\"];\r\n (this).containsGenericParameters = _data[\"containsGenericParameters\"];\r\n (this).isVisible = _data[\"isVisible\"];\r\n if (Array.isArray(_data[\"genericTypeParameters\"])) {\r\n (this).genericTypeParameters = [] as any;\r\n for (let item of _data[\"genericTypeParameters\"])\r\n (this).genericTypeParameters!.push(Type.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"declaredConstructors\"])) {\r\n (this).declaredConstructors = [] as any;\r\n for (let item of _data[\"declaredConstructors\"])\r\n (this).declaredConstructors!.push(ConstructorInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"declaredEvents\"])) {\r\n (this).declaredEvents = [] as any;\r\n for (let item of _data[\"declaredEvents\"])\r\n (this).declaredEvents!.push(EventInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"declaredFields\"])) {\r\n (this).declaredFields = [] as any;\r\n for (let item of _data[\"declaredFields\"])\r\n (this).declaredFields!.push(FieldInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"declaredMembers\"])) {\r\n (this).declaredMembers = [] as any;\r\n for (let item of _data[\"declaredMembers\"])\r\n (this).declaredMembers!.push(MemberInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"declaredMethods\"])) {\r\n (this).declaredMethods = [] as any;\r\n for (let item of _data[\"declaredMethods\"])\r\n (this).declaredMethods!.push(MethodInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"declaredNestedTypes\"])) {\r\n (this).declaredNestedTypes = [] as any;\r\n for (let item of _data[\"declaredNestedTypes\"])\r\n (this).declaredNestedTypes!.push(TypeInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"declaredProperties\"])) {\r\n (this).declaredProperties = [] as any;\r\n for (let item of _data[\"declaredProperties\"])\r\n (this).declaredProperties!.push(PropertyInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"implementedInterfaces\"])) {\r\n (this).implementedInterfaces = [] as any;\r\n for (let item of _data[\"implementedInterfaces\"])\r\n (this).implementedInterfaces!.push(Type.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TypeInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TypeInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.customAttributes)) {\r\n data[\"customAttributes\"] = [];\r\n for (let item of this.customAttributes)\r\n data[\"customAttributes\"].push(item.toJSON());\r\n }\r\n data[\"isCollectible\"] = this.isCollectible;\r\n data[\"metadataToken\"] = this.metadataToken;\r\n data[\"isInterface\"] = this.isInterface;\r\n data[\"memberType\"] = this.memberType;\r\n data[\"namespace\"] = this.namespace;\r\n data[\"assemblyQualifiedName\"] = this.assemblyQualifiedName;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"assembly\"] = this.assembly ? this.assembly.toJSON() : undefined;\r\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\r\n data[\"isNested\"] = this.isNested;\r\n data[\"declaringType\"] = this.declaringType ? this.declaringType.toJSON() : undefined;\r\n data[\"declaringMethod\"] = this.declaringMethod ? this.declaringMethod.toJSON() : undefined;\r\n data[\"reflectedType\"] = this.reflectedType ? this.reflectedType.toJSON() : undefined;\r\n data[\"underlyingSystemType\"] = this.underlyingSystemType ? this.underlyingSystemType.toJSON() : undefined;\r\n data[\"isTypeDefinition\"] = this.isTypeDefinition;\r\n data[\"isArray\"] = this.isArray;\r\n data[\"isByRef\"] = this.isByRef;\r\n data[\"isPointer\"] = this.isPointer;\r\n data[\"isConstructedGenericType\"] = this.isConstructedGenericType;\r\n data[\"isGenericParameter\"] = this.isGenericParameter;\r\n data[\"isGenericTypeParameter\"] = this.isGenericTypeParameter;\r\n data[\"isGenericMethodParameter\"] = this.isGenericMethodParameter;\r\n data[\"isGenericType\"] = this.isGenericType;\r\n data[\"isGenericTypeDefinition\"] = this.isGenericTypeDefinition;\r\n data[\"isSZArray\"] = this.isSZArray;\r\n data[\"isVariableBoundArray\"] = this.isVariableBoundArray;\r\n data[\"isByRefLike\"] = this.isByRefLike;\r\n data[\"hasElementType\"] = this.hasElementType;\r\n if (Array.isArray(this.genericTypeArguments)) {\r\n data[\"genericTypeArguments\"] = [];\r\n for (let item of this.genericTypeArguments)\r\n data[\"genericTypeArguments\"].push(item.toJSON());\r\n }\r\n data[\"genericParameterPosition\"] = this.genericParameterPosition;\r\n data[\"genericParameterAttributes\"] = this.genericParameterAttributes;\r\n data[\"attributes\"] = this.attributes;\r\n data[\"isAbstract\"] = this.isAbstract;\r\n data[\"isImport\"] = this.isImport;\r\n data[\"isSealed\"] = this.isSealed;\r\n data[\"isSpecialName\"] = this.isSpecialName;\r\n data[\"isClass\"] = this.isClass;\r\n data[\"isNestedAssembly\"] = this.isNestedAssembly;\r\n data[\"isNestedFamANDAssem\"] = this.isNestedFamANDAssem;\r\n data[\"isNestedFamily\"] = this.isNestedFamily;\r\n data[\"isNestedFamORAssem\"] = this.isNestedFamORAssem;\r\n data[\"isNestedPrivate\"] = this.isNestedPrivate;\r\n data[\"isNestedPublic\"] = this.isNestedPublic;\r\n data[\"isNotPublic\"] = this.isNotPublic;\r\n data[\"isPublic\"] = this.isPublic;\r\n data[\"isAutoLayout\"] = this.isAutoLayout;\r\n data[\"isExplicitLayout\"] = this.isExplicitLayout;\r\n data[\"isLayoutSequential\"] = this.isLayoutSequential;\r\n data[\"isAnsiClass\"] = this.isAnsiClass;\r\n data[\"isAutoClass\"] = this.isAutoClass;\r\n data[\"isUnicodeClass\"] = this.isUnicodeClass;\r\n data[\"isCOMObject\"] = this.isCOMObject;\r\n data[\"isContextful\"] = this.isContextful;\r\n data[\"isEnum\"] = this.isEnum;\r\n data[\"isMarshalByRef\"] = this.isMarshalByRef;\r\n data[\"isPrimitive\"] = this.isPrimitive;\r\n data[\"isValueType\"] = this.isValueType;\r\n data[\"isSignatureType\"] = this.isSignatureType;\r\n data[\"isSecurityCritical\"] = this.isSecurityCritical;\r\n data[\"isSecuritySafeCritical\"] = this.isSecuritySafeCritical;\r\n data[\"isSecurityTransparent\"] = this.isSecurityTransparent;\r\n data[\"structLayoutAttribute\"] = this.structLayoutAttribute ? this.structLayoutAttribute.toJSON() : undefined;\r\n data[\"typeInitializer\"] = this.typeInitializer ? this.typeInitializer.toJSON() : undefined;\r\n data[\"typeHandle\"] = this.typeHandle ? this.typeHandle.toJSON() : undefined;\r\n data[\"guid\"] = this.guid;\r\n data[\"baseType\"] = this.baseType ? this.baseType.toJSON() : undefined;\r\n data[\"isSerializable\"] = this.isSerializable;\r\n data[\"containsGenericParameters\"] = this.containsGenericParameters;\r\n data[\"isVisible\"] = this.isVisible;\r\n if (Array.isArray(this.genericTypeParameters)) {\r\n data[\"genericTypeParameters\"] = [];\r\n for (let item of this.genericTypeParameters)\r\n data[\"genericTypeParameters\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.declaredConstructors)) {\r\n data[\"declaredConstructors\"] = [];\r\n for (let item of this.declaredConstructors)\r\n data[\"declaredConstructors\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.declaredEvents)) {\r\n data[\"declaredEvents\"] = [];\r\n for (let item of this.declaredEvents)\r\n data[\"declaredEvents\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.declaredFields)) {\r\n data[\"declaredFields\"] = [];\r\n for (let item of this.declaredFields)\r\n data[\"declaredFields\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.declaredMembers)) {\r\n data[\"declaredMembers\"] = [];\r\n for (let item of this.declaredMembers)\r\n data[\"declaredMembers\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.declaredMethods)) {\r\n data[\"declaredMethods\"] = [];\r\n for (let item of this.declaredMethods)\r\n data[\"declaredMethods\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.declaredNestedTypes)) {\r\n data[\"declaredNestedTypes\"] = [];\r\n for (let item of this.declaredNestedTypes)\r\n data[\"declaredNestedTypes\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.declaredProperties)) {\r\n data[\"declaredProperties\"] = [];\r\n for (let item of this.declaredProperties)\r\n data[\"declaredProperties\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.implementedInterfaces)) {\r\n data[\"implementedInterfaces\"] = [];\r\n for (let item of this.implementedInterfaces)\r\n data[\"implementedInterfaces\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): TypeInfo {\r\n const json = this.toJSON();\r\n let result = new TypeInfo();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ITypeInfo {\r\n name?: string | undefined;\r\n customAttributes?: ICustomAttributeData[] | undefined;\r\n isCollectible?: boolean;\r\n metadataToken?: number;\r\n isInterface?: boolean;\r\n memberType?: MemberTypes;\r\n namespace?: string | undefined;\r\n assemblyQualifiedName?: string | undefined;\r\n fullName?: string | undefined;\r\n assembly?: IAssembly;\r\n module?: IModule;\r\n isNested?: boolean;\r\n declaringType?: IType;\r\n declaringMethod?: IMethodBase;\r\n reflectedType?: IType;\r\n underlyingSystemType?: IType;\r\n isTypeDefinition?: boolean;\r\n isArray?: boolean;\r\n isByRef?: boolean;\r\n isPointer?: boolean;\r\n isConstructedGenericType?: boolean;\r\n isGenericParameter?: boolean;\r\n isGenericTypeParameter?: boolean;\r\n isGenericMethodParameter?: boolean;\r\n isGenericType?: boolean;\r\n isGenericTypeDefinition?: boolean;\r\n isSZArray?: boolean;\r\n isVariableBoundArray?: boolean;\r\n isByRefLike?: boolean;\r\n hasElementType?: boolean;\r\n genericTypeArguments?: IType[] | undefined;\r\n genericParameterPosition?: number;\r\n genericParameterAttributes?: GenericParameterAttributes;\r\n attributes?: TypeAttributes;\r\n isAbstract?: boolean;\r\n isImport?: boolean;\r\n isSealed?: boolean;\r\n isSpecialName?: boolean;\r\n isClass?: boolean;\r\n isNestedAssembly?: boolean;\r\n isNestedFamANDAssem?: boolean;\r\n isNestedFamily?: boolean;\r\n isNestedFamORAssem?: boolean;\r\n isNestedPrivate?: boolean;\r\n isNestedPublic?: boolean;\r\n isNotPublic?: boolean;\r\n isPublic?: boolean;\r\n isAutoLayout?: boolean;\r\n isExplicitLayout?: boolean;\r\n isLayoutSequential?: boolean;\r\n isAnsiClass?: boolean;\r\n isAutoClass?: boolean;\r\n isUnicodeClass?: boolean;\r\n isCOMObject?: boolean;\r\n isContextful?: boolean;\r\n isEnum?: boolean;\r\n isMarshalByRef?: boolean;\r\n isPrimitive?: boolean;\r\n isValueType?: boolean;\r\n isSignatureType?: boolean;\r\n isSecurityCritical?: boolean;\r\n isSecuritySafeCritical?: boolean;\r\n isSecurityTransparent?: boolean;\r\n structLayoutAttribute?: IStructLayoutAttribute;\r\n typeInitializer?: IConstructorInfo;\r\n typeHandle?: IRuntimeTypeHandle;\r\n guid?: string;\r\n baseType?: IType;\r\n isSerializable?: boolean;\r\n containsGenericParameters?: boolean;\r\n isVisible?: boolean;\r\n genericTypeParameters?: IType[] | undefined;\r\n declaredConstructors?: IConstructorInfo[] | undefined;\r\n declaredEvents?: IEventInfo[] | undefined;\r\n declaredFields?: IFieldInfo[] | undefined;\r\n declaredMembers?: IMemberInfo[] | undefined;\r\n declaredMethods?: IMethodInfo[] | undefined;\r\n declaredNestedTypes?: ITypeInfo[] | undefined;\r\n declaredProperties?: IPropertyInfo[] | undefined;\r\n implementedInterfaces?: IType[] | undefined;\r\n}\r\n\r\nexport class UnitItemInsert implements IUnitItemInsert {\r\n madonvicha?: string | undefined;\r\n madonvi?: string | undefined;\r\n tendonvi?: string | undefined;\r\n loaiunit?: number | undefined;\r\n\r\n constructor(data?: IUnitItemInsert) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.madonvicha = _data[\"madonvicha\"];\r\n this.madonvi = _data[\"madonvi\"];\r\n this.tendonvi = _data[\"tendonvi\"];\r\n this.loaiunit = _data[\"loaiunit\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UnitItemInsert {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UnitItemInsert();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"madonvicha\"] = this.madonvicha;\r\n data[\"madonvi\"] = this.madonvi;\r\n data[\"tendonvi\"] = this.tendonvi;\r\n data[\"loaiunit\"] = this.loaiunit;\r\n return data;\r\n }\r\n\r\n clone(): UnitItemInsert {\r\n const json = this.toJSON();\r\n let result = new UnitItemInsert();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUnitItemInsert {\r\n madonvicha?: string | undefined;\r\n madonvi?: string | undefined;\r\n tendonvi?: string | undefined;\r\n loaiunit?: number | undefined;\r\n}\r\n\r\nexport class UnitMasterInsert implements IUnitMasterInsert {\r\n matusinh?: string | undefined;\r\n lstDmdonvi?: UnitItemInsert[] | undefined;\r\n\r\n constructor(data?: IUnitMasterInsert) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.lstDmdonvi) {\r\n this.lstDmdonvi = [];\r\n for (let i = 0; i < data.lstDmdonvi.length; i++) {\r\n let item = data.lstDmdonvi[i];\r\n this.lstDmdonvi[i] = item && !(item).toJSON ? new UnitItemInsert(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.matusinh = _data[\"matusinh\"];\r\n if (Array.isArray(_data[\"lstDmdonvi\"])) {\r\n this.lstDmdonvi = [] as any;\r\n for (let item of _data[\"lstDmdonvi\"])\r\n this.lstDmdonvi!.push(UnitItemInsert.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UnitMasterInsert {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UnitMasterInsert();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"matusinh\"] = this.matusinh;\r\n if (Array.isArray(this.lstDmdonvi)) {\r\n data[\"lstDmdonvi\"] = [];\r\n for (let item of this.lstDmdonvi)\r\n data[\"lstDmdonvi\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): UnitMasterInsert {\r\n const json = this.toJSON();\r\n let result = new UnitMasterInsert();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUnitMasterInsert {\r\n matusinh?: string | undefined;\r\n lstDmdonvi?: IUnitItemInsert[] | undefined;\r\n}\r\n\r\nexport class UnitMasterInsertApiResponse implements IUnitMasterInsertApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: UnitMasterInsert;\r\n\r\n constructor(data?: IUnitMasterInsertApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new UnitMasterInsert(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? UnitMasterInsert.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UnitMasterInsertApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UnitMasterInsertApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): UnitMasterInsertApiResponse {\r\n const json = this.toJSON();\r\n let result = new UnitMasterInsertApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUnitMasterInsertApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IUnitMasterInsert;\r\n}\r\n\r\nexport class UnitModel implements IUnitModel {\r\n code?: string | undefined;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IUnitModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UnitModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UnitModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n\r\n clone(): UnitModel {\r\n const json = this.toJSON();\r\n let result = new UnitModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUnitModel {\r\n code?: string | undefined;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class UnitSelectModel implements IUnitSelectModel {\r\n unitcode?: string | undefined;\r\n unitname?: string | undefined;\r\n loaiunit?: number | undefined;\r\n macha?: string | undefined;\r\n\r\n constructor(data?: IUnitSelectModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.unitcode = _data[\"unitcode\"];\r\n this.unitname = _data[\"unitname\"];\r\n this.loaiunit = _data[\"loaiunit\"];\r\n this.macha = _data[\"macha\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UnitSelectModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UnitSelectModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"unitcode\"] = this.unitcode;\r\n data[\"unitname\"] = this.unitname;\r\n data[\"loaiunit\"] = this.loaiunit;\r\n data[\"macha\"] = this.macha;\r\n return data;\r\n }\r\n\r\n clone(): UnitSelectModel {\r\n const json = this.toJSON();\r\n let result = new UnitSelectModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUnitSelectModel {\r\n unitcode?: string | undefined;\r\n unitname?: string | undefined;\r\n loaiunit?: number | undefined;\r\n macha?: string | undefined;\r\n}\r\n\r\nexport class UnitSelectModelApiResponse implements IUnitSelectModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: UnitSelectModel;\r\n\r\n constructor(data?: IUnitSelectModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new UnitSelectModel(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? UnitSelectModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UnitSelectModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UnitSelectModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): UnitSelectModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new UnitSelectModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUnitSelectModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IUnitSelectModel;\r\n}\r\n\r\nexport class UnitSelectModelIEnumerableApiResponse implements IUnitSelectModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: UnitSelectModel[] | undefined;\r\n\r\n constructor(data?: IUnitSelectModelIEnumerableApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new UnitSelectModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(UnitSelectModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UnitSelectModelIEnumerableApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UnitSelectModelIEnumerableApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): UnitSelectModelIEnumerableApiResponse {\r\n const json = this.toJSON();\r\n let result = new UnitSelectModelIEnumerableApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUnitSelectModelIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IUnitSelectModel[] | undefined;\r\n}\r\n\r\nexport class UpdateUserModel implements IUpdateUserModel {\r\n userData?: SysuserUpdateModel;\r\n listGroupId?: number[] | undefined;\r\n\r\n constructor(data?: IUpdateUserModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.userData = data.userData && !(data.userData).toJSON ? new SysuserUpdateModel(data.userData) : this.userData;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userData = _data[\"userData\"] ? SysuserUpdateModel.fromJS(_data[\"userData\"]) : undefined;\r\n if (Array.isArray(_data[\"listGroupId\"])) {\r\n this.listGroupId = [] as any;\r\n for (let item of _data[\"listGroupId\"])\r\n this.listGroupId!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateUserModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateUserModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userData\"] = this.userData ? this.userData.toJSON() : undefined;\r\n if (Array.isArray(this.listGroupId)) {\r\n data[\"listGroupId\"] = [];\r\n for (let item of this.listGroupId)\r\n data[\"listGroupId\"].push(item);\r\n }\r\n return data;\r\n }\r\n\r\n clone(): UpdateUserModel {\r\n const json = this.toJSON();\r\n let result = new UpdateUserModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUpdateUserModel {\r\n userData?: ISysuserUpdateModel;\r\n listGroupId?: number[] | undefined;\r\n}\r\n\r\nexport class UserDetailModel implements IUserDetailModel {\r\n username?: string | undefined;\r\n email?: string | undefined;\r\n fullname?: string | undefined;\r\n phone?: string | undefined;\r\n trangthai?: string | undefined;\r\n appName?: string | undefined;\r\n unitName?: string | undefined;\r\n phongBanName?: string | undefined;\r\n chucVuName?: string | undefined;\r\n loaiuser?: number | undefined;\r\n\r\n constructor(data?: IUserDetailModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.username = _data[\"username\"];\r\n this.email = _data[\"email\"];\r\n this.fullname = _data[\"fullname\"];\r\n this.phone = _data[\"phone\"];\r\n this.trangthai = _data[\"trangthai\"];\r\n this.appName = _data[\"appName\"];\r\n this.unitName = _data[\"unitName\"];\r\n this.phongBanName = _data[\"phongBanName\"];\r\n this.chucVuName = _data[\"chucVuName\"];\r\n this.loaiuser = _data[\"loaiuser\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserDetailModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserDetailModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"username\"] = this.username;\r\n data[\"email\"] = this.email;\r\n data[\"fullname\"] = this.fullname;\r\n data[\"phone\"] = this.phone;\r\n data[\"trangthai\"] = this.trangthai;\r\n data[\"appName\"] = this.appName;\r\n data[\"unitName\"] = this.unitName;\r\n data[\"phongBanName\"] = this.phongBanName;\r\n data[\"chucVuName\"] = this.chucVuName;\r\n data[\"loaiuser\"] = this.loaiuser;\r\n return data;\r\n }\r\n\r\n clone(): UserDetailModel {\r\n const json = this.toJSON();\r\n let result = new UserDetailModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUserDetailModel {\r\n username?: string | undefined;\r\n email?: string | undefined;\r\n fullname?: string | undefined;\r\n phone?: string | undefined;\r\n trangthai?: string | undefined;\r\n appName?: string | undefined;\r\n unitName?: string | undefined;\r\n phongBanName?: string | undefined;\r\n chucVuName?: string | undefined;\r\n loaiuser?: number | undefined;\r\n}\r\n\r\nexport class UserDetailModelApiResponse implements IUserDetailModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: UserDetailModel;\r\n\r\n constructor(data?: IUserDetailModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new UserDetailModel(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? UserDetailModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserDetailModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserDetailModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): UserDetailModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new UserDetailModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUserDetailModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IUserDetailModel;\r\n}\r\n\r\nexport class UserGroupModel implements IUserGroupModel {\r\n userId?: number;\r\n groupId?: number;\r\n\r\n constructor(data?: IUserGroupModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userId = _data[\"userId\"];\r\n this.groupId = _data[\"groupId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserGroupModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserGroupModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userId\"] = this.userId;\r\n data[\"groupId\"] = this.groupId;\r\n return data;\r\n }\r\n\r\n clone(): UserGroupModel {\r\n const json = this.toJSON();\r\n let result = new UserGroupModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUserGroupModel {\r\n userId?: number;\r\n groupId?: number;\r\n}\r\n\r\nexport class UserInfoModel implements IUserInfoModel {\r\n userid?: number;\r\n fullname?: string | undefined;\r\n password?: string | undefined;\r\n unitcode?: string | undefined;\r\n username?: string | undefined;\r\n appid?: string | undefined;\r\n loaiuser?: number | undefined;\r\n idChucvu?: number | undefined;\r\n\r\n constructor(data?: IUserInfoModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userid = _data[\"userid\"];\r\n this.fullname = _data[\"fullname\"];\r\n this.password = _data[\"password\"];\r\n this.unitcode = _data[\"unitcode\"];\r\n this.username = _data[\"username\"];\r\n this.appid = _data[\"appid\"];\r\n this.loaiuser = _data[\"loaiuser\"];\r\n this.idChucvu = _data[\"idChucvu\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserInfoModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserInfoModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userid\"] = this.userid;\r\n data[\"fullname\"] = this.fullname;\r\n data[\"password\"] = this.password;\r\n data[\"unitcode\"] = this.unitcode;\r\n data[\"username\"] = this.username;\r\n data[\"appid\"] = this.appid;\r\n data[\"loaiuser\"] = this.loaiuser;\r\n data[\"idChucvu\"] = this.idChucvu;\r\n return data;\r\n }\r\n\r\n clone(): UserInfoModel {\r\n const json = this.toJSON();\r\n let result = new UserInfoModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUserInfoModel {\r\n userid?: number;\r\n fullname?: string | undefined;\r\n password?: string | undefined;\r\n unitcode?: string | undefined;\r\n username?: string | undefined;\r\n appid?: string | undefined;\r\n loaiuser?: number | undefined;\r\n idChucvu?: number | undefined;\r\n}\r\n\r\nexport class UserInfoModelApiResponse implements IUserInfoModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: UserInfoModel;\r\n\r\n constructor(data?: IUserInfoModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new UserInfoModel(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? UserInfoModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserInfoModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserInfoModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): UserInfoModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new UserInfoModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUserInfoModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IUserInfoModel;\r\n}\r\n\r\nexport class UserInfoModelListApiResponse implements IUserInfoModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: UserInfoModel[] | undefined;\r\n\r\n constructor(data?: IUserInfoModelListApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new UserInfoModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(UserInfoModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserInfoModelListApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserInfoModelListApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): UserInfoModelListApiResponse {\r\n const json = this.toJSON();\r\n let result = new UserInfoModelListApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUserInfoModelListApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IUserInfoModel[] | undefined;\r\n}\r\n\r\nexport class UserInsertViewModel implements IUserInsertViewModel {\r\n listApp?: AppForUserModel[] | undefined;\r\n listGroup?: GroupForUserModel[] | undefined;\r\n\r\n constructor(data?: IUserInsertViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.listApp) {\r\n this.listApp = [];\r\n for (let i = 0; i < data.listApp.length; i++) {\r\n let item = data.listApp[i];\r\n this.listApp[i] = item && !(item).toJSON ? new AppForUserModel(item) : item;\r\n }\r\n }\r\n if (data.listGroup) {\r\n this.listGroup = [];\r\n for (let i = 0; i < data.listGroup.length; i++) {\r\n let item = data.listGroup[i];\r\n this.listGroup[i] = item && !(item).toJSON ? new GroupForUserModel(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"listApp\"])) {\r\n this.listApp = [] as any;\r\n for (let item of _data[\"listApp\"])\r\n this.listApp!.push(AppForUserModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"listGroup\"])) {\r\n this.listGroup = [] as any;\r\n for (let item of _data[\"listGroup\"])\r\n this.listGroup!.push(GroupForUserModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserInsertViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserInsertViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.listApp)) {\r\n data[\"listApp\"] = [];\r\n for (let item of this.listApp)\r\n data[\"listApp\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.listGroup)) {\r\n data[\"listGroup\"] = [];\r\n for (let item of this.listGroup)\r\n data[\"listGroup\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): UserInsertViewModel {\r\n const json = this.toJSON();\r\n let result = new UserInsertViewModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUserInsertViewModel {\r\n listApp?: IAppForUserModel[] | undefined;\r\n listGroup?: IGroupForUserModel[] | undefined;\r\n}\r\n\r\nexport class UserInsertViewModelApiResponse implements IUserInsertViewModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: UserInsertViewModel;\r\n\r\n constructor(data?: IUserInsertViewModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new UserInsertViewModel(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? UserInsertViewModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserInsertViewModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserInsertViewModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): UserInsertViewModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new UserInsertViewModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUserInsertViewModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IUserInsertViewModel;\r\n}\r\n\r\nexport class UserSelect implements IUserSelect {\r\n userid?: number;\r\n unitcode?: string | undefined;\r\n fullname?: string | undefined;\r\n username?: string | undefined;\r\n phongban?: string | undefined;\r\n\r\n constructor(data?: IUserSelect) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userid = _data[\"userid\"];\r\n this.unitcode = _data[\"unitcode\"];\r\n this.fullname = _data[\"fullname\"];\r\n this.username = _data[\"username\"];\r\n this.phongban = _data[\"phongban\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserSelect {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserSelect();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userid\"] = this.userid;\r\n data[\"unitcode\"] = this.unitcode;\r\n data[\"fullname\"] = this.fullname;\r\n data[\"username\"] = this.username;\r\n data[\"phongban\"] = this.phongban;\r\n return data;\r\n }\r\n\r\n clone(): UserSelect {\r\n const json = this.toJSON();\r\n let result = new UserSelect();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUserSelect {\r\n userid?: number;\r\n unitcode?: string | undefined;\r\n fullname?: string | undefined;\r\n username?: string | undefined;\r\n phongban?: string | undefined;\r\n}\r\n\r\nexport class UserSelectIEnumerableApiResponse implements IUserSelectIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: UserSelect[] | undefined;\r\n\r\n constructor(data?: IUserSelectIEnumerableApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n if (data.data) {\r\n this.data = [];\r\n for (let i = 0; i < data.data.length; i++) {\r\n let item = data.data[i];\r\n this.data[i] = item && !(item).toJSON ? new UserSelect(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(UserSelect.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserSelectIEnumerableApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserSelectIEnumerableApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): UserSelectIEnumerableApiResponse {\r\n const json = this.toJSON();\r\n let result = new UserSelectIEnumerableApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUserSelectIEnumerableApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IUserSelect[] | undefined;\r\n}\r\n\r\nexport class UserTuDienViewModel implements IUserTuDienViewModel {\r\n tuDienId?: number;\r\n tenTuDien?: string | undefined;\r\n\r\n constructor(data?: IUserTuDienViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.tuDienId = _data[\"tuDienId\"];\r\n this.tenTuDien = _data[\"tenTuDien\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserTuDienViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserTuDienViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"tuDienId\"] = this.tuDienId;\r\n data[\"tenTuDien\"] = this.tenTuDien;\r\n return data;\r\n }\r\n\r\n clone(): UserTuDienViewModel {\r\n const json = this.toJSON();\r\n let result = new UserTuDienViewModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUserTuDienViewModel {\r\n tuDienId?: number;\r\n tenTuDien?: string | undefined;\r\n}\r\n\r\nexport class UserUnitViewModel implements IUserUnitViewModel {\r\n unitCode?: string | undefined;\r\n unitName?: string | undefined;\r\n\r\n constructor(data?: IUserUnitViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.unitCode = _data[\"unitCode\"];\r\n this.unitName = _data[\"unitName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserUnitViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserUnitViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"unitCode\"] = this.unitCode;\r\n data[\"unitName\"] = this.unitName;\r\n return data;\r\n }\r\n\r\n clone(): UserUnitViewModel {\r\n const json = this.toJSON();\r\n let result = new UserUnitViewModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUserUnitViewModel {\r\n unitCode?: string | undefined;\r\n unitName?: string | undefined;\r\n}\r\n\r\nexport class UserUpdateDetailViewModel implements IUserUpdateDetailViewModel {\r\n user?: SysuserEntity;\r\n userGroups?: UserGroupModel[] | undefined;\r\n units?: UserUnitViewModel[] | undefined;\r\n tuDien?: UserTuDienViewModel[] | undefined;\r\n app?: UserViewAppModel[] | undefined;\r\n chucVu?: ChucVuSelectModel;\r\n\r\n constructor(data?: IUserUpdateDetailViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.user = data.user && !(data.user).toJSON ? new SysuserEntity(data.user) : this.user;\r\n if (data.userGroups) {\r\n this.userGroups = [];\r\n for (let i = 0; i < data.userGroups.length; i++) {\r\n let item = data.userGroups[i];\r\n this.userGroups[i] = item && !(item).toJSON ? new UserGroupModel(item) : item;\r\n }\r\n }\r\n if (data.units) {\r\n this.units = [];\r\n for (let i = 0; i < data.units.length; i++) {\r\n let item = data.units[i];\r\n this.units[i] = item && !(item).toJSON ? new UserUnitViewModel(item) : item;\r\n }\r\n }\r\n if (data.tuDien) {\r\n this.tuDien = [];\r\n for (let i = 0; i < data.tuDien.length; i++) {\r\n let item = data.tuDien[i];\r\n this.tuDien[i] = item && !(item).toJSON ? new UserTuDienViewModel(item) : item;\r\n }\r\n }\r\n if (data.app) {\r\n this.app = [];\r\n for (let i = 0; i < data.app.length; i++) {\r\n let item = data.app[i];\r\n this.app[i] = item && !(item).toJSON ? new UserViewAppModel(item) : item;\r\n }\r\n }\r\n this.chucVu = data.chucVu && !(data.chucVu).toJSON ? new ChucVuSelectModel(data.chucVu) : this.chucVu;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.user = _data[\"user\"] ? SysuserEntity.fromJS(_data[\"user\"]) : undefined;\r\n if (Array.isArray(_data[\"userGroups\"])) {\r\n this.userGroups = [] as any;\r\n for (let item of _data[\"userGroups\"])\r\n this.userGroups!.push(UserGroupModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"units\"])) {\r\n this.units = [] as any;\r\n for (let item of _data[\"units\"])\r\n this.units!.push(UserUnitViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"tuDien\"])) {\r\n this.tuDien = [] as any;\r\n for (let item of _data[\"tuDien\"])\r\n this.tuDien!.push(UserTuDienViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"app\"])) {\r\n this.app = [] as any;\r\n for (let item of _data[\"app\"])\r\n this.app!.push(UserViewAppModel.fromJS(item));\r\n }\r\n this.chucVu = _data[\"chucVu\"] ? ChucVuSelectModel.fromJS(_data[\"chucVu\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserUpdateDetailViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserUpdateDetailViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"user\"] = this.user ? this.user.toJSON() : undefined;\r\n if (Array.isArray(this.userGroups)) {\r\n data[\"userGroups\"] = [];\r\n for (let item of this.userGroups)\r\n data[\"userGroups\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.units)) {\r\n data[\"units\"] = [];\r\n for (let item of this.units)\r\n data[\"units\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.tuDien)) {\r\n data[\"tuDien\"] = [];\r\n for (let item of this.tuDien)\r\n data[\"tuDien\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.app)) {\r\n data[\"app\"] = [];\r\n for (let item of this.app)\r\n data[\"app\"].push(item.toJSON());\r\n }\r\n data[\"chucVu\"] = this.chucVu ? this.chucVu.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): UserUpdateDetailViewModel {\r\n const json = this.toJSON();\r\n let result = new UserUpdateDetailViewModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUserUpdateDetailViewModel {\r\n user?: ISysuserEntity;\r\n userGroups?: IUserGroupModel[] | undefined;\r\n units?: IUserUnitViewModel[] | undefined;\r\n tuDien?: IUserTuDienViewModel[] | undefined;\r\n app?: IUserViewAppModel[] | undefined;\r\n chucVu?: IChucVuSelectModel;\r\n}\r\n\r\nexport class UserUpdateDetailViewModelApiResponse implements IUserUpdateDetailViewModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: UserUpdateDetailViewModel;\r\n\r\n constructor(data?: IUserUpdateDetailViewModelApiResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.data = data.data && !(data.data).toJSON ? new UserUpdateDetailViewModel(data.data) : this.data;\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.message = _data[\"message\"];\r\n this.data = _data[\"data\"] ? UserUpdateDetailViewModel.fromJS(_data[\"data\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserUpdateDetailViewModelApiResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserUpdateDetailViewModelApiResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"message\"] = this.message;\r\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): UserUpdateDetailViewModelApiResponse {\r\n const json = this.toJSON();\r\n let result = new UserUpdateDetailViewModelApiResponse();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUserUpdateDetailViewModelApiResponse {\r\n code?: string | undefined;\r\n message?: string | undefined;\r\n data?: IUserUpdateDetailViewModel;\r\n}\r\n\r\nexport class UserViewAppModel implements IUserViewAppModel {\r\n id?: number;\r\n appName?: string | undefined;\r\n appId?: number;\r\n\r\n constructor(data?: IUserViewAppModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.appName = _data[\"appName\"];\r\n this.appId = _data[\"appId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserViewAppModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserViewAppModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"appName\"] = this.appName;\r\n data[\"appId\"] = this.appId;\r\n return data;\r\n }\r\n\r\n clone(): UserViewAppModel {\r\n const json = this.toJSON();\r\n let result = new UserViewAppModel();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUserViewAppModel {\r\n id?: number;\r\n appName?: string | undefined;\r\n appId?: number;\r\n}\r\n\r\nexport class Vbpqdonvi implements IVbpqdonvi {\r\n lookupId?: number;\r\n lookupValue?: string | undefined;\r\n\r\n constructor(data?: IVbpqdonvi) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.lookupId = _data[\"lookupId\"];\r\n this.lookupValue = _data[\"lookupValue\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Vbpqdonvi {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Vbpqdonvi();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"lookupId\"] = this.lookupId;\r\n data[\"lookupValue\"] = this.lookupValue;\r\n return data;\r\n }\r\n\r\n clone(): Vbpqdonvi {\r\n const json = this.toJSON();\r\n let result = new Vbpqdonvi();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IVbpqdonvi {\r\n lookupId?: number;\r\n lookupValue?: string | undefined;\r\n}\r\n\r\nexport class Vbpqlinhvuc implements IVbpqlinhvuc {\r\n lookupId?: number;\r\n lookupValue?: string | undefined;\r\n\r\n constructor(data?: IVbpqlinhvuc) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.lookupId = _data[\"lookupId\"];\r\n this.lookupValue = _data[\"lookupValue\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Vbpqlinhvuc {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Vbpqlinhvuc();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"lookupId\"] = this.lookupId;\r\n data[\"lookupValue\"] = this.lookupValue;\r\n return data;\r\n }\r\n\r\n clone(): Vbpqlinhvuc {\r\n const json = this.toJSON();\r\n let result = new Vbpqlinhvuc();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IVbpqlinhvuc {\r\n lookupId?: number;\r\n lookupValue?: string | undefined;\r\n}\r\n\r\nexport class Vbpqloaivanban implements IVbpqloaivanban {\r\n lookupId?: number;\r\n lookupValue?: string | undefined;\r\n\r\n constructor(data?: IVbpqloaivanban) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.lookupId = _data[\"lookupId\"];\r\n this.lookupValue = _data[\"lookupValue\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Vbpqloaivanban {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Vbpqloaivanban();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"lookupId\"] = this.lookupId;\r\n data[\"lookupValue\"] = this.lookupValue;\r\n return data;\r\n }\r\n\r\n clone(): Vbpqloaivanban {\r\n const json = this.toJSON();\r\n let result = new Vbpqloaivanban();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IVbpqloaivanban {\r\n lookupId?: number;\r\n lookupValue?: string | undefined;\r\n}\r\n\r\nexport class Vbpqnganh implements IVbpqnganh {\r\n lookupId?: number;\r\n lookupValue?: string | undefined;\r\n\r\n constructor(data?: IVbpqnganh) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.lookupId = _data[\"lookupId\"];\r\n this.lookupValue = _data[\"lookupValue\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Vbpqnganh {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Vbpqnganh();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"lookupId\"] = this.lookupId;\r\n data[\"lookupValue\"] = this.lookupValue;\r\n return data;\r\n }\r\n\r\n clone(): Vbpqnganh {\r\n const json = this.toJSON();\r\n let result = new Vbpqnganh();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IVbpqnganh {\r\n lookupId?: number;\r\n lookupValue?: string | undefined;\r\n}\r\n\r\nexport class Vbpqtinhtranghieuluc implements IVbpqtinhtranghieuluc {\r\n lookupId?: number;\r\n lookupValue?: string | undefined;\r\n\r\n constructor(data?: IVbpqtinhtranghieuluc) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.lookupId = _data[\"lookupId\"];\r\n this.lookupValue = _data[\"lookupValue\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Vbpqtinhtranghieuluc {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Vbpqtinhtranghieuluc();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"lookupId\"] = this.lookupId;\r\n data[\"lookupValue\"] = this.lookupValue;\r\n return data;\r\n }\r\n\r\n clone(): Vbpqtinhtranghieuluc {\r\n const json = this.toJSON();\r\n let result = new Vbpqtinhtranghieuluc();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IVbpqtinhtranghieuluc {\r\n lookupId?: number;\r\n lookupValue?: string | undefined;\r\n}\r\n\r\nexport class Vbpqvanbantienganh implements IVbpqvanbantienganh {\r\n lookupId?: number;\r\n lookupValue?: string | undefined;\r\n\r\n constructor(data?: IVbpqvanbantienganh) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.lookupId = _data[\"lookupId\"];\r\n this.lookupValue = _data[\"lookupValue\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Vbpqvanbantienganh {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Vbpqvanbantienganh();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"lookupId\"] = this.lookupId;\r\n data[\"lookupValue\"] = this.lookupValue;\r\n return data;\r\n }\r\n\r\n clone(): Vbpqvanbantienganh {\r\n const json = this.toJSON();\r\n let result = new Vbpqvanbantienganh();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IVbpqvanbantienganh {\r\n lookupId?: number;\r\n lookupValue?: string | undefined;\r\n}\r\n\r\nexport class WindowSpecification implements IWindowSpecification {\r\n databaseSpecificCreator?: IDbSpecificCreator;\r\n readonly parameters?: DbParameter[] | undefined;\r\n\r\n constructor(data?: IWindowSpecification) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n this.databaseSpecificCreator = data.databaseSpecificCreator && !(data.databaseSpecificCreator).toJSON ? new IDbSpecificCreator(data.databaseSpecificCreator) : this.databaseSpecificCreator;\r\n if (data.parameters) {\r\n this.parameters = [];\r\n for (let i = 0; i < data.parameters.length; i++) {\r\n let item = data.parameters[i];\r\n this.parameters[i] = item && !(item).toJSON ? new DbParameter(item) : item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.databaseSpecificCreator = _data[\"databaseSpecificCreator\"] ? IDbSpecificCreator.fromJS(_data[\"databaseSpecificCreator\"]) : undefined;\r\n if (Array.isArray(_data[\"parameters\"])) {\r\n (this).parameters = [] as any;\r\n for (let item of _data[\"parameters\"])\r\n (this).parameters!.push(DbParameter.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): WindowSpecification {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WindowSpecification();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"databaseSpecificCreator\"] = this.databaseSpecificCreator ? this.databaseSpecificCreator.toJSON() : undefined;\r\n if (Array.isArray(this.parameters)) {\r\n data[\"parameters\"] = [];\r\n for (let item of this.parameters)\r\n data[\"parameters\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): WindowSpecification {\r\n const json = this.toJSON();\r\n let result = new WindowSpecification();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IWindowSpecification {\r\n databaseSpecificCreator?: IIDbSpecificCreator;\r\n parameters?: IDbParameter[] | undefined;\r\n}\r\n\r\nexport interface FileParameter {\r\n data: any;\r\n fileName: string;\r\n}\r\n\r\nexport interface FileResponse {\r\n data: Blob;\r\n status: number;\r\n fileName?: string;\r\n headers?: { [name: string]: any };\r\n}\r\n\r\nexport class SwaggerException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isSwaggerException = true;\r\n\r\n static isSwaggerException(obj: any): obj is SwaggerException {\r\n return obj.isSwaggerException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable {\r\n if (result !== null && result !== undefined)\r\n return _observableThrow(result);\r\n else\r\n return _observableThrow(new SwaggerException(message, status, response, headers, null));\r\n}\r\n\r\nfunction blobToText(blob: any): Observable {\r\n return new Observable((observer: any) => {\r\n if (!blob) {\r\n observer.next(\"\");\r\n observer.complete();\r\n } else {\r\n let reader = new FileReader();\r\n reader.onload = event => {\r\n observer.next((event.target as any).result);\r\n observer.complete();\r\n };\r\n reader.readAsText(blob);\r\n }\r\n });\r\n}","import { Observable } from 'rxjs';\r\n\r\nexport interface User {\r\n name: string;\r\n picture: string;\r\n}\r\n\r\nexport interface Contacts {\r\n user: User;\r\n type: string;\r\n}\r\n\r\nexport interface RecentUsers extends Contacts {\r\n time: number;\r\n}\r\n\r\nexport abstract class UserData {\r\n abstract getUsers(): Observable;\r\n abstract getContacts(): Observable;\r\n abstract getRecentUsers(): Observable;\r\n}\r\n","import {\r\n HttpErrorResponse,\r\n HttpEvent,\r\n HttpHandler,\r\n HttpInterceptor,\r\n HttpRequest,\r\n HttpResponse\r\n} from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { throwError } from 'rxjs';\r\nimport { catchError, finalize, map } from 'rxjs/operators';\r\nimport { AuthService } from '../auth.service';\r\nimport { TokenService } from '../token.service';\r\n\r\n@Injectable()\r\nexport class AuthInterceptor implements HttpInterceptor {\r\n constructor(\r\n private router: Router,\r\n private tokenService: TokenService,\r\n private authService: AuthService,\r\n private spinner: NgxSpinnerService\r\n ) {}\r\n\r\n pendingRequestsCount = 0;\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): any {\r\n this.pendingRequestsCount ++;\r\n this.spinner.show();\r\n const token = this.tokenService.getToken();\r\n if (token) {\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: 'Bearer ' + token,\r\n },\r\n });\r\n }\r\n\r\n if (!request.url.endsWith('/UploadFile')) {\r\n if (!request.headers.has('Content-Type')) {\r\n request = request.clone({\r\n setHeaders: {\r\n 'content-type': 'application/json',\r\n },\r\n });\r\n }\r\n }\r\n\r\n request = request.clone({\r\n headers: request.headers\r\n .set('Accept', 'application/json')\r\n .set('Cache-Control', 'no-cache, no-store, must-revalidate')\r\n .set('Pragma', 'no-cache')\r\n .set('Expires', '0'),\r\n });\r\n\r\n return next.handle(request).pipe(\r\n map((event: HttpEvent) => {\r\n if (event instanceof HttpResponse) {\r\n // console.log('event--->>>', event);\r\n }\r\n return event;\r\n }),\r\n catchError((error: HttpErrorResponse) => {\r\n // console.log(error.error.error);\r\n if (error.status === 401) {\r\n if (error.error.error === 'invalid_token') {\r\n this.authService\r\n .refreshToken()\r\n .subscribe(() => {\r\n location.reload();\r\n });\r\n } else {\r\n this.router\r\n .navigate(['login'])\r\n .then((_) => {}\r\n // console.log('redirect to login')\r\n );\r\n }\r\n }\r\n return throwError(error);\r\n }),\r\n finalize(() => {\r\n this.pendingRequestsCount --;\r\n if (this.pendingRequestsCount === 0) {\r\n this.spinner.hide();\r\n }\r\n })\r\n );\r\n }\r\n}\r\n","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { UserService } from './users.service';\r\n\r\nconst SERVICES = [\r\n UserService,\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ],\r\n providers: [\r\n ...SERVICES,\r\n ],\r\n})\r\nexport class MockDataModule {\r\n static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: MockDataModule,\r\n providers: [\r\n ...SERVICES,\r\n ],\r\n };\r\n }\r\n}\r\n","import { of as observableOf, Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { Contacts, RecentUsers, UserData } from '../data/users';\r\n\r\n@Injectable()\r\nexport class UserService extends UserData {\r\n\r\n private time: Date = new Date;\r\n\r\n private users = {\r\n nick: { name: 'Nick Jones', picture: 'assets/images/nick.png' },\r\n eva: { name: 'Eva Moor', picture: 'assets/images/eva.png' },\r\n jack: { name: 'Jack Williams', picture: 'assets/images/jack.png' },\r\n lee: { name: 'Lee Wong', picture: 'assets/images/lee.png' },\r\n alan: { name: 'Alan Thompson', picture: 'assets/images/alan.png' },\r\n kate: { name: 'Kate Martinez', picture: 'assets/images/kate.png' },\r\n };\r\n private types = {\r\n mobile: 'mobile',\r\n home: 'home',\r\n work: 'work',\r\n };\r\n private contacts: Contacts[] = [\r\n { user: this.users.nick, type: this.types.mobile },\r\n { user: this.users.eva, type: this.types.home },\r\n { user: this.users.jack, type: this.types.mobile },\r\n { user: this.users.lee, type: this.types.mobile },\r\n { user: this.users.alan, type: this.types.home },\r\n { user: this.users.kate, type: this.types.work },\r\n ];\r\n private recentUsers: RecentUsers[] = [\r\n { user: this.users.alan, type: this.types.home, time: this.time.setHours(21, 12)},\r\n { user: this.users.eva, type: this.types.home, time: this.time.setHours(17, 45)},\r\n { user: this.users.nick, type: this.types.mobile, time: this.time.setHours(5, 29)},\r\n { user: this.users.lee, type: this.types.mobile, time: this.time.setHours(11, 24)},\r\n { user: this.users.jack, type: this.types.mobile, time: this.time.setHours(10, 45)},\r\n { user: this.users.kate, type: this.types.work, time: this.time.setHours(9, 42)},\r\n { user: this.users.kate, type: this.types.work, time: this.time.setHours(9, 31)},\r\n { user: this.users.jack, type: this.types.mobile, time: this.time.setHours(8, 0)},\r\n ];\r\n\r\n getUsers(): Observable {\r\n return observableOf(this.users);\r\n }\r\n\r\n getContacts(): Observable {\r\n return observableOf(this.contacts);\r\n }\r\n\r\n getRecentUsers(): Observable {\r\n return observableOf(this.recentUsers);\r\n }\r\n}\r\n","export function throwIfAlreadyLoaded(parentModule: any, moduleName: string) {\r\n if (parentModule) {\r\n throw new Error(`${moduleName} has already been loaded. Import Core modules in the AppModule only.`);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, BehaviorSubject, of, throwError } from 'rxjs';\r\nimport { NbMenuItem } from '@nebular/theme/components/menu/menu.service';\r\nimport { AuthService, IUserDataToken } from './auth.service';\r\nimport { CookieService } from 'ngx-cookie';\r\nimport { AppQthtApiService, TokenForRefresh } from './data/app-qtht.service';\r\nimport { catchError, tap } from 'rxjs/operators';\r\nimport { SUCCESS_RESPONSE } from './customs/constants';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\nconst ACCESS_TOKEN = 'access_token';\r\nconst EXPIRED_TOKEN = 'expire_token';\r\nconst USER_INFO = 'user_info';\r\nconst PROJECT_INVEST = 'project_invest';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TokenService {\r\n\r\n constructor (private cookieService: CookieService,\r\n private appQthtService: AppQthtApiService) {\r\n }\r\n\r\n setCookieExpired(expired: Date) {\r\n this.cookieService.put(EXPIRED_TOKEN, expired.toString(), {expires: expired});\r\n }\r\n\r\n getCookieExpired(): Date {\r\n const dt = this.cookieService.get(EXPIRED_TOKEN);\r\n if (dt === null || dt === undefined) {\r\n return null;\r\n }\r\n return new Date(dt);\r\n }\r\n\r\n setUserInfo(userInfo: any) {\r\n this.cookieService.putObject(USER_INFO, userInfo, { expires: this.getCookieExpired()});\r\n }\r\n\r\n getUserInfo(): Observable {\r\n const us = this.cookieService.getObject(USER_INFO);\r\n if (us === null || us === undefined) {\r\n return of(null);\r\n }\r\n return of(us as IUserDataToken);\r\n }\r\n\r\n removeCookie() {\r\n this.cookieService.removeAll();\r\n }\r\n\r\n getToken(): string {\r\n return localStorage.getItem(ACCESS_TOKEN);\r\n }\r\n\r\n saveToken(token): void {\r\n localStorage.setItem(ACCESS_TOKEN, token);\r\n }\r\n\r\n removeToken(): void {\r\n localStorage.removeItem(ACCESS_TOKEN);\r\n }\r\n\r\n getProjectInvest(): string {\r\n return localStorage.getItem(PROJECT_INVEST);\r\n }\r\n\r\n saveProjectInvest(project): Observable {\r\n localStorage.setItem(PROJECT_INVEST, project);\r\n const body = new TokenForRefresh({\r\n tag: project,\r\n // token: this.getToken()\r\n });\r\n return this.appQthtService.appAuthApiV1AuthRefreshToken(body)\r\n .pipe(\r\n tap(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.removeToken();\r\n this.saveToken(res.data.jwtToken);\r\n }\r\n }),\r\n catchError(TokenService.handleError)\r\n );\r\n }\r\n\r\n private static handleError(error: HttpErrorResponse): any {\r\n if (error.error instanceof ErrorEvent) {\r\n console.error('An error occurred:', error.error.message);\r\n } else {\r\n console.error(\r\n `Backend returned code ${error.status}, ` +\r\n `body was: ${error.error}`);\r\n }\r\n return throwError(\r\n 'Something bad happened; please try again later.');\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\nimport { filter } from 'rxjs/operators';\r\n\r\ndeclare const ga: any;\r\n\r\n@Injectable()\r\nexport class AnalyticsService {\r\n private enabled: boolean;\r\n\r\n constructor(private location: Location, private router: Router) {\r\n this.enabled = false;\r\n }\r\n\r\n trackPageViews() {\r\n if (this.enabled) {\r\n this.router.events.pipe(\r\n filter((event) => event instanceof NavigationEnd),\r\n )\r\n .subscribe(() => {\r\n ga('send', {hitType: 'pageview', page: this.location.path()});\r\n });\r\n }\r\n }\r\n\r\n trackEvent(eventName: string) {\r\n if (this.enabled) {\r\n ga('send', 'event', eventName);\r\n }\r\n }\r\n}\r\n","export { AnalyticsService } from './analytics.service';\r\nexport { SeoService } from './seo.service';\r\n","import { Injectable, Inject, PLATFORM_ID, OnDestroy } from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { NB_DOCUMENT } from '@nebular/theme';\r\nimport { filter, takeUntil } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class SeoService implements OnDestroy {\r\n\r\n private readonly destroy$ = new Subject();\r\n private readonly dom: Document;\r\n private readonly isBrowser: boolean;\r\n private linkCanonical: HTMLLinkElement;\r\n\r\n constructor(\r\n private router: Router,\r\n @Inject(NB_DOCUMENT) document,\r\n @Inject(PLATFORM_ID) platformId,\r\n ) {\r\n this.isBrowser = isPlatformBrowser(platformId);\r\n this.dom = document;\r\n\r\n if (this.isBrowser) {\r\n this.createCanonicalTag();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n createCanonicalTag() {\r\n this.linkCanonical = this.dom.createElement('link');\r\n this.linkCanonical.setAttribute('rel', 'canonical');\r\n this.dom.head.appendChild(this.linkCanonical);\r\n this.linkCanonical.setAttribute('href', this.getCanonicalUrl());\r\n }\r\n\r\n trackCanonicalChanges() {\r\n if (!this.isBrowser) {\r\n return;\r\n }\r\n\r\n this.router.events.pipe(\r\n filter((event) => event instanceof NavigationEnd),\r\n takeUntil(this.destroy$),\r\n )\r\n .subscribe(() => {\r\n this.linkCanonical.setAttribute('href', this.getCanonicalUrl());\r\n });\r\n }\r\n\r\n private getCanonicalUrl(): string {\r\n return this.dom.location.origin + this.dom.location.pathname;\r\n }\r\n}\r\n","import { Sort } from './sort';\r\nimport { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\n\r\n/* tslint:disable-next-line */\r\n@Directive({ selector: '[appSort]' })\r\nexport class SortDirective {\r\n constructor(private targetElem: ElementRef) {}\r\n @Input() appSort: Array;\r\n @HostListener('click')\r\n sortData() {\r\n const sort = new Sort();\r\n const elem = this.targetElem.nativeElement;\r\n const order = elem.getAttribute('data-order');\r\n const type = elem.getAttribute('data-type');\r\n const property = elem.getAttribute('data-name');\r\n if (order === 'desc') {\r\n this.appSort.sort(sort.startSort(property, order, type));\r\n elem.setAttribute('data-order', 'asc');\r\n } else {\r\n this.appSort.sort(sort.startSort(property, order, type));\r\n elem.setAttribute('data-order', 'desc');\r\n }\r\n }\r\n}\r\n","export class Sort {\r\n private sortOrder = 1;\r\n private collator = new Intl.Collator(undefined, {\r\n numeric : true,\r\n sensitivity: 'base'\r\n });\r\n\r\n constructor() {}\r\n\r\n public startSort(property, order, type = '') {\r\n if (order === 'desc') {\r\n this.sortOrder = -1;\r\n }\r\n return (a, b) => {\r\n if (type === 'date') {\r\n return this.sortData(new Date(a[property]), new Date(b[property]));\r\n } else {\r\n return this.collator.compare(a[property], b[property]) * this.sortOrder;\r\n }\r\n };\r\n }\r\n\r\n private sortData(a, b) {\r\n if (a < b) {\r\n return -1 * this.sortOrder;\r\n } else if (a > b) {\r\n return 1 * this.sortOrder;\r\n } else {\r\n return 0 * this.sortOrder;\r\n }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngx-footer',\r\n styleUrls: ['./footer.component.scss'],\r\n template: ``,\r\n // \r\n // Created with ♥ by Akveo 2019\r\n // \r\n //
\r\n // \r\n // \r\n // \r\n // \r\n //
\r\n})\r\nexport class FooterComponent {\r\n}\r\n","import { STATUS_ACTION, SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { QuanLyThongBaoService, ViewModelThongBao } from './../../../modules/app-congan-admin/quan-ly-thong-bao/quan-ly-thong-bao.service';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from './../../../@core/auth.service';\r\nimport { TokenService } from './../../../@core/token.service';\r\nimport { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { NbMediaBreakpointsService, NbMenuService, NbSidebarService, NbThemeService } from '@nebular/theme';\r\n\r\nimport { UserData } from '../../../@core/data/users';\r\nimport { map, takeUntil, filter } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { UserInfoComponent } from 'app/@theme/pages/user-info/user-info.component';\r\nimport { NotificationComponent } from './notification/notification.component';\r\nimport { ChangePassWordComponent } from 'app/@theme/pages/change-password/change-password.component';\r\nimport { DanhMucNguoiDungComponent } from 'app/modules/app-congan-admin/danh-muc-nguoi-dung/danh-muc-nguoi-dung/danh-muc-nguoi-dung/danh-muc-nguoi-dung.component';\r\n\r\n@Component({\r\n selector: 'ngx-header',\r\n styleUrls: ['./header.component.scss'],\r\n templateUrl: './header.component.html'\r\n})\r\nexport class HeaderComponent implements OnInit, OnDestroy {\r\n private destroy$: Subject = new Subject();\r\n userPictureOnly: boolean = false;\r\n user: any;\r\n title:string = 'Quản lý nhà trọ - BG';\r\n\r\n themes = [\r\n {\r\n value: 'default',\r\n name: 'Light'\r\n },\r\n {\r\n value: 'dark',\r\n name: 'Dark'\r\n },\r\n {\r\n value: 'cosmic',\r\n name: 'Cosmic'\r\n },\r\n {\r\n value: 'corporate',\r\n name: 'Corporate'\r\n }\r\n ];\r\n\r\n currentTheme = 'default';\r\n\r\n userMenu = [{ title: 'Thông tin tài khoản' }, { title: 'Đổi mật khẩu' }, { title: 'Đăng xuất' }];\r\n\r\n constructor(\r\n private sidebarService: NbSidebarService,\r\n private menuService: NbMenuService,\r\n private themeService: NbThemeService,\r\n private tokenService: TokenService,\r\n private breakpointService: NbMediaBreakpointsService,\r\n private authService: AuthService,\r\n private ThongBaoservice: QuanLyThongBaoService,\r\n private router: Router,\r\n private dialog: MatDialog,\r\n private commonService: CommonService\r\n ) {}\r\n\r\n ngOnInit() {\r\n if (window.location.hostname.includes('nhatrochuyendoiso')) {\r\n this.title = 'Nhà trọ Chuyển Đổi Số'\r\n } \r\n this.currentTheme = this.themeService.currentTheme;\r\n this.tokenService.getUserInfo().subscribe((users: any) => (this.user = users));\r\n const { xl } = this.breakpointService.getBreakpointsMap();\r\n this.themeService\r\n .onMediaQueryChange()\r\n .pipe(\r\n map(([, currentBreakpoint]) => currentBreakpoint.width < xl),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe((isLessThanXl: boolean) => (this.userPictureOnly = isLessThanXl));\r\n\r\n this.themeService\r\n .onThemeChange()\r\n .pipe(\r\n map(({ name }) => name),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe((themeName) => (this.currentTheme = themeName));\r\n this.selectNotifications();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n changeTheme(themeName: string) {\r\n this.themeService.changeTheme(themeName);\r\n }\r\n\r\n toggleSidebar(): boolean {\r\n this.sidebarService.toggle(true, 'menu-sidebar');\r\n\r\n return false;\r\n }\r\n\r\n selectToolbar() {\r\n const menuService = new NbMenuService();\r\n let status = true;\r\n menuService.onItemClick().subscribe((menu) => {\r\n switch (menu.item.title) {\r\n case 'Đăng xuất':\r\n if (status) {\r\n this.authService.logout();\r\n this.router.navigate(['']).then((url) => {\r\n location.reload();\r\n });\r\n status = false;\r\n }\r\n break;\r\n case 'Đổi mật khẩu':\r\n if (status) {\r\n const data = {\r\n userId: this.user.Id\r\n };\r\n this.dialog\r\n .open(ChangePassWordComponent, this.commonService.configDialog('40%', { data: data }))\r\n .afterClosed()\r\n .subscribe(() => {});\r\n status = false;\r\n }\r\n break;\r\n case 'Thông tin tài khoản':\r\n if (status) {\r\n const data = {\r\n userId: this.user.Id\r\n };\r\n this.dialog\r\n .open(\r\n DanhMucNguoiDungComponent,\r\n this.commonService.configDialog('40%', { data: data, action: STATUS_ACTION.detail, id: data.userId })\r\n )\r\n .afterClosed()\r\n .subscribe(() => {});\r\n status = false;\r\n }\r\n break;\r\n }\r\n });\r\n }\r\n\r\n lstNotification: any;\r\n numberNotification: number;\r\n hidden = false;\r\n selectNotifications() {\r\n this.ThongBaoservice.selectAll().subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstNotification = result.data.slice(0, 10);\r\n this.numberNotification = this.lstNotification.filter((x) => x.entity.trangthaixem === 0).length;\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n\r\n notification() {\r\n const title = `Chi tiết quản lý thông báo`;\r\n this.dialog\r\n .open(NotificationComponent, this.commonService.configDialog('60%', { title: title }))\r\n .afterClosed()\r\n .subscribe(() => {\r\n this.selectNotifications();\r\n });\r\n }\r\n navigateHome() {\r\n this.router.navigate['/welcome'];\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n {{title}}\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { STATUS_ACTION, SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { QuanLyThongBaoService, ViewModelThongBao } from 'app/modules/app-congan-admin/quan-ly-thong-bao/quan-ly-thong-bao.service';\r\nimport { FeedBackComponent } from 'app/modules/app-congan-admin/quan-ly-thong-bao/quan-ly-thong-bao/quan-ly-thong-bao-feedback/quan-ly-thong-bao-feedback.component';\r\nimport { QuanLyThongBaoComponent } from 'app/modules/app-congan-admin/quan-ly-thong-bao/quan-ly-thong-bao/quan-ly-thong-bao/quan-ly-thong-bao.component';\r\n\r\n@Component({\r\n selector: 'ngx-notification',\r\n templateUrl: './notification.component.html',\r\n styleUrls: ['./notification.component.scss']\r\n})\r\nexport class NotificationComponent implements OnInit {\r\n\r\n constructor(private ThongBaoservice: QuanLyThongBaoService,\r\n private dialog: MatDialog,\r\n private commonService: CommonService) { }\r\n\r\n ngOnInit(): void {\r\n this.selectNotifications();\r\n }\r\n\r\n lstNotification: any;\r\n selectNotifications() {\r\n this.ThongBaoservice.selectAll().subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstNotification = result.data.sort((a,b) => a.trangthai - b.trangthai);\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n\r\n notification(item: ViewModelThongBao) {\r\n const title = `Chi tiết quản lý thông báo`;\r\n this.dialog.open(QuanLyThongBaoComponent,\r\n this.commonService.configDialog('80%', {\r\n id: item.id, title: title,\r\n action: STATUS_ACTION.detail, data: item\r\n })).afterClosed().subscribe(() => { this.selectNotifications(); });\r\n this.chageStatus(item.id);\r\n }\r\n\r\n feedback(item: any) {\r\n this.dialog.open(FeedBackComponent,\r\n this.commonService.configDialog('40%', {\r\n data: item\r\n })).afterClosed().subscribe(() => { });\r\n }\r\n\r\n chageStatus = (item) => {\r\n this.ThongBaoservice.actionDetail(item).subscribe(result => { });\r\n }\r\n\r\n deleteData(id: number) {\r\n if (confirm(`Xác nhận xóa`)) {\r\n this.ThongBaoservice.delete(id).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.selectNotifications();\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n }\r\n\r\n}\r\n","\r\n \r\n
\r\n
\r\n

Thông báo

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n
STTTiêu đềĐơn vị gửiThời gian nhận thông báoTrạng tháiHành động
{{ i+1 }} {{ item.chude}}{{ item.entity.tendvlap }}{{ item.entity.ngaygui | date: 'dd/MM/yyyy hh:mm'}}{{ !item.trangthai ? ('Chưa đọc') : (!item.noidungphanhoi ? 'Đã đọc' : 'Đã gửi phản hồi') }}\r\n   \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
","export * from './header/header.component';\r\nexport * from './footer/footer.component';\r\nexport * from './search-input/search-input.component';\r\nexport * from './switcher/switcher.component';\r\nexport * from './layout-direction-switcher/layout-direction-switcher.component';\r\n","import { Component, OnDestroy, Input } from '@angular/core';\r\nimport { NbLayoutDirectionService, NbLayoutDirection } from '@nebular/theme';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'ngx-layout-direction-switcher',\r\n template: `\r\n \r\n \r\n `,\r\n})\r\nexport class LayoutDirectionSwitcherComponent implements OnDestroy {\r\n\r\n protected destroy$ = new Subject();\r\n\r\n directions = NbLayoutDirection;\r\n currentDirection: NbLayoutDirection;\r\n\r\n @Input() vertical: boolean = false;\r\n\r\n constructor(private directionService: NbLayoutDirectionService) {\r\n this.currentDirection = this.directionService.getDirection();\r\n\r\n this.directionService.onDirectionChange()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(newDirection => this.currentDirection = newDirection);\r\n }\r\n\r\n toggleDirection(newDirection) {\r\n this.directionService.setDirection(newDirection);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import { Component, ViewEncapsulation, Input, Output, EventEmitter, OnInit } from '@angular/core';\r\n\r\ninterface ItemPerPageMap {\r\n key: string;\r\n value: number;\r\n}\r\n@Component({\r\n selector: 'ngx-pagination',\r\n templateUrl: './pagination.component.html',\r\n styleUrls: ['./pagination.component.scss'],\r\n encapsulation: ViewEncapsulation.Emulated\r\n})\r\nexport class MdPaginationComponent implements OnInit {\r\n @Input() totalPages: number;\r\n @Input() currentPage: number;\r\n @Output() pageChange: EventEmitter = new EventEmitter();\r\n @Output() pageSize: EventEmitter = new EventEmitter();\r\n\r\n selectRecordInPage: number = 10;\r\n activePage: number;\r\n lstRecordInPage: any[] = [\r\n { Value: 10, Text: '10 dòng' },\r\n { Value: 15, Text: '15 dòng' },\r\n { Value: 20, Text: '20 dòng' },\r\n { Value: 25, Text: '25 dòng' },\r\n ];\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.activePage = this.currentPage;\r\n let a = window.location.href.toString();\r\n if (a.includes('ds-khach-thue') || a.includes('ds-nha-tro')) {\r\n this.lstRecordInPage.push(\r\n { Value: 100, Text: '100 dòng' },{ Value: 150, Text: '150 dòng' },{ Value: 200, Text: '200 dòng' },{ Value: 300, Text: '300 dòng' },{ Value: 500, Text: '500 dòng' })\r\n }\r\n }\r\n\r\n previous() {\r\n if (this.activePage > 1) {\r\n this.activePage--;\r\n this.changeTotalItems();\r\n }\r\n }\r\n next() {\r\n if (this.activePage < this.totalPages) {\r\n this.activePage++;\r\n this.changeTotalItems();\r\n }\r\n }\r\n\r\n pageFirst() {\r\n if (this.activePage !== 1) {\r\n this.activePage = 1;\r\n this.changeTotalItems();\r\n }\r\n }\r\n\r\n pageLast() {\r\n if (this.activePage !== this.totalPages) {\r\n this.activePage = this.totalPages;\r\n this.changeTotalItems();\r\n }\r\n }\r\n\r\n changeNumberPage() {\r\n if (this.currentPage !== null && this.currentPage !== undefined && this.currentPage > 0 && this.currentPage <= this.totalPages) {\r\n this.activePage = this.currentPage;\r\n this.changeTotalItems();\r\n }\r\n }\r\n\r\n pageNumber: 1;\r\n changeTotalItems() {\r\n return this.pageChange.emit(this.activePage);\r\n }\r\n\r\n changePerPage() {\r\n this.activePage = 1;\r\n return this.pageSize.emit(this.selectRecordInPage);\r\n }\r\n\r\n}\r\n","
    \r\n
  • \r\n
    \r\n \r\n \r\n {{item.Text}}\r\n \r\n \r\n
    \r\n
  • \r\n
  • \r\n ««\r\n
  • \r\n
  • \r\n «\r\n
  • \r\n
  • \r\n
    \r\n \r\n \r\n trong {{totalPages | number}}\r\n
    \r\n
  • \r\n
  • \r\n »\r\n
  • \r\n
  • \r\n »»\r\n
  • \r\n
","import { Component, ElementRef, EventEmitter, Output, ViewChild } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngx-search-input',\r\n styleUrls: ['./search-input.component.scss'],\r\n template: `\r\n \r\n \r\n `,\r\n})\r\nexport class SearchInputComponent {\r\n @ViewChild('input', { static: true }) input: ElementRef;\r\n\r\n @Output() search: EventEmitter = new EventEmitter();\r\n\r\n isInputShown = false;\r\n\r\n showInput() {\r\n this.isInputShown = true;\r\n this.input.nativeElement.focus();\r\n }\r\n\r\n hideInput() {\r\n this.isInputShown = false;\r\n }\r\n\r\n onInput(val: string) {\r\n this.search.emit(val);\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngx-switcher',\r\n styleUrls: ['./switcher.component.scss'],\r\n template: `\r\n \r\n `,\r\n})\r\nexport class SwitcherComponent {\r\n @Input() firstValue: any;\r\n @Input() secondValue: any;\r\n\r\n @Input() firstValueLabel: string;\r\n @Input() secondValueLabel: string;\r\n\r\n @Input() vertical: boolean;\r\n\r\n @Input() value: any;\r\n @Output() valueChange = new EventEmitter();\r\n\r\n isFirstValue() {\r\n return this.value === this.firstValue;\r\n }\r\n\r\n isSecondValue() {\r\n return this.value === this.secondValue;\r\n }\r\n\r\n currentValueLabel() {\r\n return this.isFirstValue()\r\n ? this.firstValueLabel\r\n : this.secondValueLabel;\r\n }\r\n\r\n changeValue() {\r\n this.value = this.isFirstValue()\r\n ? this.secondValue\r\n : this.firstValue;\r\n\r\n this.valueChange.emit(this.value);\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { LBL_DISPLAY } from 'app/@core/customs/constants';\r\n\r\n@Component({\r\n selector: 'ngx-btn-add-sync',\r\n templateUrl: './btn-add-sync.component.html',\r\n styleUrls: ['./btn-add-sync.component.scss']\r\n})\r\nexport class BtnAddSyncComponent implements OnInit {\r\n @Input() disabled: boolean;\r\n @Input() color: string;\r\n @Input() text: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.text = this.text ?? LBL_DISPLAY.add;\r\n this.disabled = this.disabled ?? false;\r\n this.color = this.color ?? 'success';\r\n }\r\n}\r\n","","import { Component, Input, OnInit } from '@angular/core';\r\nimport { LBL_DISPLAY } from 'app/@core/customs/constants';\r\n\r\n@Component({\r\n selector: 'ngx-btn-add',\r\n templateUrl: './btn-add.component.html',\r\n styleUrls: ['./btn-add.component.scss']\r\n})\r\nexport class BtnAddComponent implements OnInit {\r\n @Input() disabled: boolean;\r\n @Input() color: string;\r\n @Input() text: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.text = this.text ?? LBL_DISPLAY.add;\r\n this.disabled = this.disabled ?? false;\r\n this.color = this.color ?? 'primary';\r\n }\r\n}\r\n","","import { Component, Input, OnInit } from '@angular/core';\r\nimport { LBL_DISPLAY } from 'app/@core/customs/constants';\r\n\r\n@Component({\r\n selector: 'ngx-btn-back',\r\n templateUrl: './btn-back.component.html',\r\n styleUrls: ['./btn-back.component.scss']\r\n})\r\nexport class BtnBackComponent implements OnInit {\r\n @Input() disabled: boolean;\r\n @Input() color: string;\r\n @Input() text: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.text = this.text ?? LBL_DISPLAY.back;\r\n this.disabled = this.disabled ?? false;\r\n this.color = this.color ?? 'outline-secondary';\r\n }\r\n}\r\n","","import { Component, Input, OnInit } from '@angular/core';\r\nimport { LBL_DISPLAY } from 'app/@core/customs/constants';\r\n\r\n@Component({\r\n selector: 'ngx-btn-close',\r\n templateUrl: './btn-close.component.html',\r\n styleUrls: ['./btn-close.component.scss']\r\n})\r\nexport class BtnCloseComponent implements OnInit {\r\n @Input() disabled: boolean;\r\n @Input() color: string;\r\n @Input() text: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.text = this.text ?? LBL_DISPLAY.close;\r\n this.disabled = this.disabled ?? false;\r\n this.color = this.color ?? 'outline-secondary';\r\n }\r\n}\r\n","","import { Component, Input, OnInit } from '@angular/core';\r\nimport { LBL_DISPLAY } from 'app/@core/customs/constants';\r\n\r\n@Component({\r\n selector: 'ngx-btn-config',\r\n templateUrl: './btn-config.component.html',\r\n styleUrls: ['./btn-config.component.scss']\r\n})\r\nexport class BtnConfigComponent implements OnInit {\r\n @Input() disabled: boolean;\r\n @Input() color: string;\r\n @Input() text: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.text = this.text ?? LBL_DISPLAY.config;\r\n this.disabled = this.disabled ?? false;\r\n this.color = this.color ?? 'primary';\r\n }\r\n}\r\n","","import { Component, Input, OnInit } from '@angular/core';\r\nimport { LBL_DISPLAY } from 'app/@core/customs/constants';\r\n\r\n@Component({\r\n selector: 'ngx-btn-confirm',\r\n templateUrl: './btn-confirm.component.html',\r\n styleUrls: ['./btn-confirm.component.scss']\r\n})\r\nexport class BtnConfirmComponent implements OnInit {\r\n @Input() disabled: boolean;\r\n @Input() color: string;\r\n @Input() text: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.text = this.text ?? LBL_DISPLAY.confirm;\r\n this.disabled = this.disabled ?? false;\r\n this.color = this.color ?? 'success';\r\n }\r\n}\r\n","","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngx-btn-default',\r\n templateUrl: './btn-default.component.html'\r\n})\r\nexport class BtnDefaultComponent implements OnInit {\r\n @Input() disabled: boolean;\r\n @Input() color: string;\r\n @Input() text: string;\r\n @Input() icon: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.text = this.text;\r\n this.disabled = this.disabled ?? false;\r\n this.color = this.color ?? 'seccondary';\r\n this.icon = this.icon;\r\n }\r\n}\r\n","","import { Component, Input, OnInit } from '@angular/core';\r\nimport { LBL_DISPLAY } from 'app/@core/customs/constants';\r\n\r\n@Component({\r\n selector: 'ngx-btn-delete',\r\n templateUrl: './btn-delete.component.html',\r\n styleUrls: ['./btn-delete.component.scss']\r\n})\r\nexport class BtnDeleteComponent implements OnInit {\r\n @Input() disabled: boolean;\r\n @Input() color: string;\r\n @Input() text: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.text = this.text ?? LBL_DISPLAY.delete;\r\n this.disabled = this.disabled ?? false;\r\n this.color = this.color ?? 'danger';\r\n }\r\n}\r\n","","import { Component, Input, OnInit } from '@angular/core';\r\nimport { LBL_DISPLAY } from 'app/@core/customs/constants';\r\n\r\n@Component({\r\n selector: 'ngx-btn-download',\r\n templateUrl: './btn-download.component.html',\r\n styleUrls: ['./btn-download.component.scss']\r\n})\r\nexport class BtnDownloadComponent implements OnInit {\r\n @Input() disabled: boolean;\r\n @Input() color: string;\r\n @Input() text: string;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.text = this.text ?? LBL_DISPLAY.download;\r\n this.disabled = this.disabled ?? false;\r\n this.color = this.color ?? 'success';\r\n }\r\n\r\n}\r\n","","import { Component, Input, OnInit } from '@angular/core';\r\nimport { LBL_DISPLAY } from 'app/@core/customs/constants';\r\n\r\nclass Guid {\r\n static newGuid() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\r\n const r = Math.random() * 16 | 0, v = c === 'x' ? r : (r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n }\r\n }\r\n@Component({\r\n selector: 'ngx-btn-file',\r\n templateUrl: './btn-file.component.html',\r\n styleUrls: ['./btn-file.component.scss']\r\n})\r\nexport class BtnFileComponent implements OnInit {\r\n lbl: any = LBL_DISPLAY;\r\n @Input() multiple: boolean;\r\n idFile: string = Guid.newGuid();\r\n constructor() { }\r\n\r\n ngOnInit(): void { }\r\n}\r\n","\r\n \r\n \r\n\r\n\r\n \r\n \r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { LBL_DISPLAY } from 'app/@core/customs/constants';\r\n\r\n@Component({\r\n selector: 'ngx-btn-refresh',\r\n templateUrl: './btn-refresh.component.html',\r\n styleUrls: ['./btn-refresh.component.scss']\r\n})\r\nexport class BtnRefreshComponent implements OnInit {\r\n @Input() disabled: boolean;\r\n @Input() color: string;\r\n @Input() text: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.text = this.text ?? LBL_DISPLAY.refresh;\r\n this.disabled = this.disabled ?? false;\r\n this.color = this.color ?? 'outline-secondary';\r\n }\r\n}\r\n","","import { Component, Input, OnInit } from '@angular/core';\r\nimport { LBL_DISPLAY } from 'app/@core/customs/constants';\r\n\r\n@Component({\r\n selector: 'ngx-btn-save',\r\n templateUrl: './btn-save.component.html',\r\n styleUrls: ['./btn-save.component.scss']\r\n})\r\nexport class BtnSaveComponent implements OnInit {\r\n @Input() disabled: boolean;\r\n @Input() color: string;\r\n @Input() text: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.text = this.text ?? LBL_DISPLAY.save;\r\n this.disabled = this.disabled ?? false;\r\n this.color = this.color ?? 'primary';\r\n }\r\n}\r\n","","import { Component, Input, OnInit } from '@angular/core';\r\nimport { LBL_DISPLAY } from 'app/@core/customs/constants';\r\n\r\n@Component({\r\n selector: 'ngx-btn-search',\r\n templateUrl: './btn-search.component.html',\r\n styleUrls: ['./btn-search.component.scss']\r\n})\r\nexport class BtnSearchComponent implements OnInit {\r\n @Input() disabled: boolean;\r\n @Input() color: string;\r\n @Input() text: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.text = this.text ?? LBL_DISPLAY.search;\r\n this.disabled = this.disabled ?? false;\r\n this.color = this.color ?? 'primary';\r\n }\r\n}\r\n","","import { LBL_DISPLAY } from './../../../../../@core/customs/constants';\r\nimport { Component, ViewEncapsulation, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngx-btn-submit',\r\n templateUrl: './btn-submit.component.html',\r\n styleUrls: ['./btn-submit.component.scss'],\r\n encapsulation: ViewEncapsulation.Emulated\r\n})\r\nexport class BtnSubmitComponent implements OnInit {\r\n @Input() text: string;\r\n @Input() color: string;\r\n @Input() disabled: boolean;\r\n @Input() icon: string;\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.text = this.text ?? LBL_DISPLAY.save;\r\n this.icon = this.icon ?? 'fas fa-save';\r\n this.disabled = this.disabled ?? false;\r\n this.color = this.color ?? 'primary';\r\n }\r\n}\r\n","\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngx-btn-sync',\r\n templateUrl: './btn-sync.component.html',\r\n styleUrls: ['./btn-sync.component.scss']\r\n})\r\nexport class BtnSyncComponent implements OnInit {\r\n @Input() disabled: boolean;\r\n @Input() color: string;\r\n @Input() text: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.disabled = this.disabled ?? false;\r\n this.color = this.color ?? 'primary';\r\n }\r\n}\r\n","","import { Component, Input, OnInit } from '@angular/core';\r\nimport { LBL_DISPLAY } from 'app/@core/customs/constants';\r\n\r\n@Component({\r\n selector: 'ngx-btn-update-sync',\r\n templateUrl: './btn-update-sync.component.html',\r\n styleUrls: ['./btn-update-sync.component.scss']\r\n})\r\nexport class BtnUpdateSyncComponent implements OnInit {\r\n @Input() disabled: boolean;\r\n @Input() color: string;\r\n @Input() text: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.text = this.text ?? LBL_DISPLAY.add;\r\n this.disabled = this.disabled ?? false;\r\n this.color = this.color ?? 'waring';\r\n }\r\n}\r\n","","import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'ngx-delete-dialog',\r\n templateUrl: './delete-dialog.component.html',\r\n styleUrls: ['./delete-dialog.component.scss']\r\n})\r\nexport class DeleteDialogComponent implements OnInit {\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public label: string,\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n close(result: boolean = false) {\r\n this.dialogRef.close(result);\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n
Thông báo
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n  \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'ngx-input-dialog',\r\n templateUrl: './input-dialog.component.html',\r\n styleUrls: ['./input-dialog.component.scss']\r\n})\r\nexport class InputDialogComponent implements OnInit {\r\n\r\n\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: { title: string, inputLable: string, type: string },\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n close(result: string) {\r\n this.dialogRef.close(result);\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n
\r\n {{data.title}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n  \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Component, Inject, Input, OnInit } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'ngx-notification-dialog',\r\n templateUrl: './notification-dialog.component.html',\r\n styleUrls: ['./notification-dialog.component.scss']\r\n})\r\nexport class NotificationDialogComponent implements OnInit {\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public label: string,\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.label = this.label ?? 'Thông báo';\r\n }\r\n\r\n close() {\r\n this.dialogRef.close(false);\r\n }\r\n}\r\n","\r\n \r\n
\r\n
\r\n
\r\n {{label}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngx-clipboard-list-check',\r\n templateUrl: './icon-clipboard-list-check.component.html'\r\n})\r\nexport class IconClipboardListCheckComponent {\r\n constructor() {\r\n }\r\n}\r\n","\r\n \r\n\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngx-icon-delete',\r\n templateUrl: './icon-delete.component.html',\r\n styleUrls: ['./icon-delete.component.scss']\r\n})\r\nexport class IconDeleteComponent {\r\n constructor() {\r\n }\r\n}\r\n","","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngx-icon-edit',\r\n templateUrl: './icon-edit.component.html',\r\n styleUrls: ['./icon-edit.component.scss']\r\n})\r\nexport class IconEditComponent {\r\n constructor() {\r\n }\r\n}\r\n","","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngx-icon-eye',\r\n templateUrl: './icon-eye.component.html',\r\n styleUrls: ['./icon-eye.component.scss']\r\n})\r\nexport class IconEyeComponent {\r\n constructor() {\r\n }\r\n}\r\n","\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngx-icon-info',\r\n templateUrl: './icon-info.component.html',\r\n styleUrls: ['./icon-info.component.scss']\r\n})\r\nexport class IconInfoComponent {\r\n constructor() {\r\n }\r\n}\r\n","","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngx-icon-maps',\r\n templateUrl: './icon-maps.component.html',\r\n styleUrls: ['./icon-maps.component.scss']\r\n})\r\nexport class IconMapsComponent {\r\n constructor() {\r\n }\r\n}\r\n","","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngx-icon-minus',\r\n templateUrl: './icon-minus.component.html',\r\n styleUrls: ['./icon-minus.component.scss']\r\n})\r\nexport class IconMinusComponent {\r\n constructor() {\r\n }\r\n}\r\n","\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngx-paper-plane',\r\n templateUrl: './icon-paper-plane.component.html'\r\n})\r\nexport class IconPaperPlaneComponent {\r\n constructor() {\r\n }\r\n}\r\n","\r\n \r\n\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngx-icon-plus',\r\n templateUrl: './icon-plus.component.html',\r\n styleUrls: ['./icon-plus.component.scss']\r\n})\r\nexport class IconPlusComponent {\r\n constructor() {\r\n }\r\n}\r\n","\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngx-icon-reply',\r\n templateUrl: './icon-reply.component.html',\r\n styleUrls: ['./icon-reply.component.scss']\r\n})\r\nexport class IconReplyComponent {\r\n constructor() {\r\n }\r\n}\r\n","","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngx-icon-share',\r\n templateUrl: './icon-share.component.html',\r\n styleUrls: ['./icon-share.component.scss']\r\n})\r\nexport class IconShareComponent {\r\n constructor() {\r\n }\r\n}\r\n","","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngx-users-config',\r\n templateUrl: './icon-users-config.component.html'\r\n})\r\nexport class IconUsersConfigComponent {\r\n constructor() {\r\n }\r\n}\r\n","\r\n \r\n\r\n","import { AfterViewInit, Component, HostListener, Inject, Input, OnChanges, OnInit, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { TelerikReportViewerComponent } from '@progress/telerik-angular-report-viewer';\r\nimport { environment } from 'environments/environment';\r\n\r\n@Component({\r\n selector: 'ngx-report',\r\n templateUrl: './report.component.html',\r\n styleUrls: ['./report.component.scss']\r\n})\r\nexport class ReportComponent implements AfterViewInit, OnChanges {\r\n @Input() report: string;\r\n @Input() parameters: any = {};\r\n @Input() scale: number;\r\n environmentReport: string = environment.APP_CONGAN_URL;\r\n @ViewChild('viewer1', { static: false }) viewer: TelerikReportViewerComponent;\r\n\r\n viewerContainerStyle = {\r\n position: 'absolute',\r\n left: '5px',\r\n right: '5px',\r\n top: '40px',\r\n bottom: '5px',\r\n overflow: 'hidden',\r\n clear: 'both',\r\n ['font-family']: 'ms sans serif'\r\n };\r\n\r\n scrHeight: any;\r\n scrWidth: any;\r\n @HostListener('window:resize', ['$event'])\r\n getScreenSize(event?) {\r\n this.scrHeight = window.innerHeight;\r\n this.scrWidth = window.innerWidth;\r\n }\r\n\r\n heightReport: string;\r\n widthReport: string;\r\n constructor() {\r\n this.getScreenSize();\r\n this.heightReport = ((this.scrHeight / 100) * 70) + 'px';\r\n this.widthReport = ((this.scrWidth / 100) * 60) + 'px';\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.setReportSource();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setReportSource();\r\n }\r\n\r\n ready() {\r\n }\r\n viewerToolTipOpening(e: any, args: any) {\r\n }\r\n\r\n setReportSource(): void {\r\n const rs = {\r\n report: this.report,\r\n parameters: this.parameters\r\n } as unknown as JSON;\r\n if (this.viewer)\r\n this.viewer.setReportSource(rs);\r\n }\r\n}\r\n","
\r\n \r\n\r\n
\r\n\r\n","import { CommonService } from '../../../@core/customs/common.service';\r\nimport { Router } from '@angular/router';\r\nimport { Component, OnInit } from '@angular/core';\r\n@Component({\r\n selector: 'ngx-cong-an-layout',\r\n styleUrls: ['cong-an-layout.component.scss'],\r\n templateUrl: './cong-an-layout.component.html',\r\n})\r\nexport class CongAnLayoutComponent implements OnInit {\r\n constructor(\r\n private commonService: CommonService,\r\n private router: Router) {\r\n }\r\n ngOnInit(): void {\r\n }\r\n}\r\n","\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-footer-hn',\r\n templateUrl: './footer-hn.component.html',\r\n styleUrls: ['./footer-hn.component.scss']\r\n})\r\nexport class FooterHnComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n}","\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
IOS (Iphone, Ipad)
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
ANDROID(SamSung, ...)
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

© Copyright 2023 by Công ty Công nghệ B&T

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { Location, LocationStrategy, PathLocationStrategy } from '@angular/common';\r\nimport { environment } from 'environments/environment';\r\nimport { NbMenuService } from '@nebular/theme';\r\n\r\n@Component({\r\n selector: 'app-header-hn',\r\n templateUrl: './header-hn.component.html',\r\n styleUrls: ['./header-hn.component.scss'],\r\n providers: [\r\n Location, {\r\n provide: LocationStrategy,\r\n useClass: PathLocationStrategy\r\n }\r\n]\r\n})\r\nexport class HeaderHnComponent implements OnInit {\r\n\r\n basePath = environment.APP_CONGAN_PATH;\r\n location: any;\r\n navbarClass: any;\r\n\r\n constructor(\r\n private router: Router,\r\n location: Location\r\n ) {\r\n this.router.events\r\n .subscribe((event) => {\r\n if ( event instanceof NavigationEnd ) {\r\n this.location = this.router.url;\r\n if (this.location == '/index-8' || this.location == '/index-9' || this.location == '/index-11'){\r\n this.navbarClass = 'navbar-area navbar-style-two';\r\n } else {\r\n this.navbarClass = 'navbar-area';\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {}\r\n\r\n userMenu = [{ title: 'Nhà trọ'}, { title: 'Tin tức'}, { title: 'Tiện ích'}, { title: 'Đăng nhập'}];\r\n userPictureOnly: boolean = true;\r\n name:string;\r\n\r\n navClick() {\r\n const menuService = new NbMenuService();\r\n let status = true;\r\n menuService.onItemClick().subscribe((menu) => {\r\n switch (menu.item.title) {\r\n case 'Nhà trọ':\r\n if (status) {\r\n this.router.navigate(['home/nhatro']);\r\n status = false;\r\n }\r\n break;\r\n case 'Tin tức':\r\n if (status) {\r\n this.router.navigate(['home/tintuc']);\r\n status = false;\r\n }\r\n break;\r\n case 'Tiện ích':\r\n if (status) {\r\n this.router.navigate(['web-home/congdan']);\r\n status = false;\r\n }\r\n break;\r\n case 'Đăng nhập':\r\n if (status) {\r\n this.router.navigate(['login']);\r\n status = false;\r\n }\r\n break;\r\n }\r\n });\r\n }\r\n\r\n\r\n}\r\n","\r\n ","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngx-web-footer',\r\n templateUrl: './web-footer.component.html',\r\n styleUrls: ['./web-footer.component.scss']\r\n})\r\nexport class WebFooterComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
IOS (Iphone, Ipad)
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
ANDROID(SamSung, ...)
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

© Copyright 2022 by CA tỉnh Bắc Giang

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { Location, LocationStrategy, PathLocationStrategy } from '@angular/common';\r\nimport { environment } from 'environments/environment';\r\nimport { NbMenuService } from '@nebular/theme';\r\n\r\n\r\n@Component({\r\n selector: 'ngx-web-header',\r\n templateUrl: './web-header.component.html',\r\n styleUrls: ['./web-header.component.scss'],\r\n providers: [\r\n Location, {\r\n provide: LocationStrategy,\r\n useClass: PathLocationStrategy\r\n }\r\n ]\r\n})\r\nexport class WebHeaderComponent implements OnInit {\r\n basePath = environment.APP_CONGAN_PATH;\r\n location: any;\r\n navbarClass: any;\r\n\r\n constructor(\r\n private router: Router,\r\n location: Location\r\n ) {\r\n this.router.events\r\n .subscribe((event) => {\r\n if ( event instanceof NavigationEnd ) {\r\n this.location = this.router.url;\r\n if (this.location == '/index-8' || this.location == '/index-9' || this.location == '/index-11'){\r\n this.navbarClass = 'navbar-area navbar-style-two';\r\n } else {\r\n this.navbarClass = 'navbar-area';\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {}\r\n\r\n userMenu = [{ title: 'Nhà trọ'}, { title: 'Tin tức'}, { title: 'Tiện ích'}, { title: 'Đăng nhập'}];\r\n userPictureOnly: boolean = true;\r\n name:string;\r\n\r\n navClick() {\r\n const menuService = new NbMenuService();\r\n let status = true;\r\n menuService.onItemClick().subscribe((menu) => {\r\n switch (menu.item.title) {\r\n case 'Nhà trọ':\r\n if (status) {\r\n this.router.navigate(['home/nhatro']);\r\n status = false;\r\n }\r\n break;\r\n case 'Tin tức':\r\n if (status) {\r\n this.router.navigate(['home/tintuc']);\r\n status = false;\r\n }\r\n break;\r\n case 'Tiện ích':\r\n if (status) {\r\n this.router.navigate(['web-home/congdan']);\r\n status = false;\r\n }\r\n break;\r\n case 'Đăng nhập':\r\n if (status) {\r\n this.router.navigate(['login']);\r\n status = false;\r\n }\r\n break;\r\n }\r\n });\r\n }\r\n\r\n}\r\n","\r\n","export * from './one-column/one-column.layout';\r\nexport * from './two-columns/two-columns.layout';\r\nexport * from './three-columns/three-columns.layout';\r\n","import { CommonService } from '../../../@core/customs/common.service';\r\nimport { Router } from '@angular/router';\r\nimport { Component, OnInit } from '@angular/core';\r\n@Component({\r\n selector: 'ngx-khai-bao-tt-layout',\r\n templateUrl: './khai-bao-tt-layout.component.html',\r\n})\r\nexport class KhaiBaoTtLayoutComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n}\r\n","\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngx-one-column-layout',\r\n styleUrls: ['./one-column.layout.scss'],\r\n template: `\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n `,\r\n})\r\nexport class OneColumnLayoutComponent {}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngx-three-columns-layout',\r\n styleUrls: ['./three-columns.layout.scss'],\r\n template: `\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n `,\r\n})\r\nexport class ThreeColumnsLayoutComponent {}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngx-two-columns-layout',\r\n styleUrls: ['./two-columns.layout.scss'],\r\n template: `\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n `,\r\n})\r\nexport class TwoColumnsLayoutComponent {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Form } from '@angular/forms';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { AppQthtApiService, ChangePasswordModel } from 'app/@core/data/app-qtht.service';\r\n\r\n@Component({\r\n selector: 'ngx-change-password',\r\n templateUrl: './change-password.component.html',\r\n styleUrls: ['./change-password.component.scss']\r\n})\r\nexport class ChangePassWordComponent implements OnInit {\r\n\r\n constructor(\r\n private serviceqtht: AppQthtApiService,\r\n private dialogref: MatDialogRef,\r\n private commonService: CommonService\r\n ) { }\r\n\r\n postData: ChangePasswordModel = new ChangePasswordModel({\r\n oldPassword: null,\r\n newPassword: null\r\n });\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n chagnePass = (frm: Form) => {\r\n this.serviceqtht.appQthtApiV1SysUserChangePassword(this.postData).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Đổi mật khẩu thành công!');\r\n this.dialogref.close(true);\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n
\r\n Thông tin người dùng\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n  \r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import { Router } from '@angular/router';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { NbMenuItem } from '@nebular/theme';\r\nimport { MenuService } from './menu.service';\r\nimport { SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { AuthService } from 'app/@core/auth.service';\r\nimport { ListMenuModel } from 'app/@core/data/app-qtht.service';\r\n\r\n@Component({\r\n selector: 'ngx-menu',\r\n styleUrls: ['menu.component.scss'],\r\n templateUrl: './menu.component.html',\r\n})\r\nexport class MenuComponent implements OnInit {\r\n menu: NbMenuItem[] = [];\r\n\r\n\r\n constructor(private menuService: MenuService,\r\n private authService: AuthService,\r\n private router: Router) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.authService.checkTokenExpired()) {\r\n let checkLoadMenu = false;\r\n this.menuService.getNbMenuItem().subscribe(result => {\r\n if (result.length !== 0 || checkLoadMenu) {\r\n this.menu = result;\r\n } else {\r\n this.menuService.getMenuByUserLogin().subscribe(menu => {\r\n if (menu.code === SUCCESS_RESPONSE) {\r\n this.loadMenu(menu.data);\r\n this.menuService.setRoutingSaveCheckRole(menu.data);\r\n checkLoadMenu = true;\r\n }\r\n },\r\n (() => {\r\n this.authService.logout();\r\n this.router.navigate(['/congan/home']);\r\n }));\r\n }\r\n });\r\n } else {\r\n this.authService.logout();\r\n this.router.navigate(['/congan/home']);\r\n }\r\n }\r\n\r\n\r\n loadMenu(lst: ListMenuModel[]) {\r\n lst.filter(c => (c.parent === null || c.parent === '')).forEach(element => {\r\n const itemMenu = new NbMenuItem();\r\n itemMenu.icon = element.iconClass;\r\n itemMenu.title = element.text;\r\n itemMenu.link = element.state;\r\n itemMenu.expanded = true;\r\n if (lst.findIndex(c => c.parent === element.value) !== -1) {\r\n itemMenu.children = this.loadMenuChildrent(element, lst);\r\n }\r\n this.menu.push(itemMenu);\r\n });\r\n this.menuService.setNbMenuItem(this.menu);\r\n }\r\n\r\n loadMenuChildrent(item: ListMenuModel, lst: ListMenuModel[]) {\r\n const result = [];\r\n lst.filter(c => c.parent === item.value).forEach(element => {\r\n const itemChilrent = new NbMenuItem;\r\n itemChilrent.icon = element.iconClass;\r\n itemChilrent.title = element.text;\r\n itemChilrent.link = element.state;\r\n if (lst.findIndex(t => t.parent === element.value) !== -1) {\r\n itemChilrent.children = this.loadMenuChildrent(element, lst);\r\n }\r\n result.push(itemChilrent);\r\n });\r\n return result;\r\n }\r\n\r\n // menu = MENU_ITEMS;\r\n\r\n // NbMenuItem[] = [\r\n // {\r\n // title: 'Dashboard',\r\n // icon: 'home-outline',\r\n // link: '/pages/dashboard',\r\n // home: true,\r\n // },\r\n // {\r\n // title: 'FEATURES',\r\n // group: true,\r\n // },\r\n // {\r\n // title: 'Auth',\r\n // icon: 'lock-outline',\r\n // children: [\r\n // {\r\n // title: 'Login',\r\n // link: '/auth/login',\r\n // },\r\n // {\r\n // title: 'Register',\r\n // link: '/auth/register',\r\n // },\r\n // {\r\n // title: 'Request Password',\r\n // link: '/auth/request-password',\r\n // },\r\n // {\r\n // title: 'Reset Password',\r\n // link: '/auth/reset-password',\r\n // },\r\n // ],\r\n // },\r\n\r\n}\r\n","\r\n\r\n \r\n \r\n","import { SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { AppQthtApiService, ListMenuModel, ListMenuModelListApiResponse } from './../../../@core/data/app-qtht.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { NbMenuItem } from '@nebular/theme';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MenuService {\r\n private menuItemsChangedCallback: BehaviorSubject;\r\n private routingChangedCallback: BehaviorSubject;\r\n constructor (\r\n private api: AppQthtApiService\r\n // private logger: LoggerService\r\n ) {\r\n this.menuItemsChangedCallback = new BehaviorSubject([]);\r\n this.routingChangedCallback = new BehaviorSubject([]);\r\n }\r\n\r\n getNbMenuItem(): Observable {\r\n return this.menuItemsChangedCallback;\r\n }\r\n\r\n setNbMenuItem(lstMenu: NbMenuItem[]) {\r\n this.menuItemsChangedCallback.next(lstMenu);\r\n }\r\n\r\n getRoutingSaveCheckRole(): BehaviorSubject {\r\n return this.routingChangedCallback;\r\n }\r\n\r\n setRoutingSaveCheckRole(lst: ListMenuModel[]) {\r\n this.routingChangedCallback.next(lst);\r\n }\r\n\r\n getMenuByUserLogin(): Observable {\r\n // this.logger.log(`BookQuotaService: get book quota detail`);\r\n // return this.api.token(1);\r\n return this.api.appQthtApiV1MenuGetMenuByUserLogin();\r\n }\r\n\r\n resetMenuWhenLogin() {\r\n this.menuItemsChangedCallback = new BehaviorSubject([]);\r\n }\r\n\r\n // create(target: BookQuotaCreateModel) {\r\n // this.logger.log(`BookQuotaService: create BookQuota by ${target}`);\r\n // return this.api.apiMdMdBookQuotaCreateBookQuotaPost(target);\r\n // }\r\n\r\n // update(target: BookQuotaCreateModel): Observable {\r\n // this.logger.log(`BookQuotaService: update book quota by ${target}`);\r\n // return this.api.apiMdMdBookQuotaUpdateBookQuotaPost(target);\r\n // }\r\n\r\n // delete(code: string): Observable {\r\n // this.logger.log(`BookQuotaService: update book quota by ${code}`);\r\n // return this.api.apiMdMdBookQuotaDeleteBookQuotaPost(code);\r\n // }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'ngxCapitalize' })\r\nexport class CapitalizePipe implements PipeTransform {\r\n\r\n transform(input: string): string {\r\n return input && input.length\r\n ? (input.charAt(0).toUpperCase() + input.slice(1).toLowerCase())\r\n : input;\r\n }\r\n}\r\n","export * from './capitalize.pipe';\r\nexport * from './plural.pipe';\r\nexport * from './round.pipe';\r\nexport * from './timing.pipe';\r\nexport * from './number-with-commas.pipe';\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'ngxNumberWithCommas' })\r\nexport class NumberWithCommasPipe implements PipeTransform {\r\n\r\n transform(input: number): string {\r\n return new Intl.NumberFormat().format(input);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'ngxPlural' })\r\nexport class PluralPipe implements PipeTransform {\r\n\r\n transform(input: number, label: string, pluralLabel: string = ''): string {\r\n input = input || 0;\r\n return input === 1\r\n ? `${input} ${label}`\r\n : pluralLabel\r\n ? `${input} ${pluralLabel}`\r\n : `${input} ${label}s`;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'ngxRound' })\r\nexport class RoundPipe implements PipeTransform {\r\n\r\n transform(input: number): number {\r\n return Math.round(input);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'timing' })\r\nexport class TimingPipe implements PipeTransform {\r\n transform(time: number): string {\r\n if (time) {\r\n const minutes = Math.floor(time / 60);\r\n const seconds = Math.floor(time % 60);\r\n return `${this.initZero(minutes)}${minutes}:${this.initZero(seconds)}${seconds}`;\r\n }\r\n\r\n return '00:00';\r\n }\r\n\r\n private initZero(time: number): string {\r\n return time < 10 ? '0' : '';\r\n }\r\n}\r\n","import { NbJSThemeOptions, CORPORATE_THEME as baseTheme } from '@nebular/theme';\r\n\r\nconst baseThemeVariables = baseTheme.variables;\r\n\r\nexport const CORPORATE_THEME = {\r\n name: 'corporate',\r\n base: 'corporate',\r\n variables: {\r\n temperature: {\r\n arcFill: [ '#ffa36b', '#ffa36b', '#ff9e7a', '#ff9888', '#ff8ea0' ],\r\n arcEmpty: baseThemeVariables.bg2,\r\n thumbBg: baseThemeVariables.bg2,\r\n thumbBorder: '#ffa36b',\r\n },\r\n\r\n solar: {\r\n gradientLeft: baseThemeVariables.primary,\r\n gradientRight: baseThemeVariables.primary,\r\n shadowColor: 'rgba(0, 0, 0, 0)',\r\n secondSeriesFill: baseThemeVariables.bg2,\r\n radius: ['80%', '90%'],\r\n },\r\n\r\n traffic: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n\r\n yAxisSplitLine: 'rgba(0, 0, 0, 0)',\r\n\r\n lineBg: baseThemeVariables.primary,\r\n lineShadowBlur: '0',\r\n itemColor: baseThemeVariables.border4,\r\n itemBorderColor: baseThemeVariables.border4,\r\n itemEmphasisBorderColor: baseThemeVariables.primaryLight,\r\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n shadowLineShadow: 'rgba(0, 0, 0, 0)',\r\n gradFrom: baseThemeVariables.bg,\r\n gradTo: baseThemeVariables.bg,\r\n },\r\n\r\n electricity: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipLineColor: baseThemeVariables.fgText,\r\n tooltipLineWidth: '0',\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n\r\n axisLineColor: baseThemeVariables.border3,\r\n xAxisTextColor: baseThemeVariables.fg,\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n itemBorderColor: baseThemeVariables.primary,\r\n lineStyle: 'solid',\r\n lineWidth: '4',\r\n lineGradFrom: baseThemeVariables.primary,\r\n lineGradTo: baseThemeVariables.primary,\r\n lineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n areaGradFrom: 'rgba(0, 0, 0, 0)',\r\n areaGradTo: 'rgba(0, 0, 0, 0)',\r\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n },\r\n\r\n bubbleMap: {\r\n titleColor: baseThemeVariables.fgText,\r\n areaColor: baseThemeVariables.bg4,\r\n areaHoverColor: baseThemeVariables.fgHighlight,\r\n areaBorderColor: baseThemeVariables.border5,\r\n },\r\n\r\n profitBarAnimationEchart: {\r\n textColor: baseThemeVariables.fgText,\r\n\r\n firstAnimationBarColor: baseThemeVariables.primary,\r\n secondAnimationBarColor: baseThemeVariables.success,\r\n\r\n splitLineStyleOpacity: '1',\r\n splitLineStyleWidth: '1',\r\n splitLineStyleColor: baseThemeVariables.separator,\r\n\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '16',\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipBorderWidth: '1',\r\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\r\n },\r\n\r\n trafficBarEchart: {\r\n gradientFrom: baseThemeVariables.warningLight,\r\n gradientTo: baseThemeVariables.warning,\r\n shadow: baseThemeVariables.warningLight,\r\n shadowBlur: '0',\r\n\r\n axisTextColor: baseThemeVariables.fgText,\r\n axisFontSize: '12',\r\n\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n },\r\n\r\n countryOrders: {\r\n countryBorderColor: baseThemeVariables.border4,\r\n countryFillColor: baseThemeVariables.bg4,\r\n countryBorderWidth: '1',\r\n hoveredCountryBorderColor: baseThemeVariables.primary,\r\n hoveredCountryFillColor: baseThemeVariables.primaryLight,\r\n hoveredCountryBorderWidth: '1',\r\n\r\n chartAxisLineColor: baseThemeVariables.border4,\r\n chartAxisTextColor: baseThemeVariables.fg,\r\n chartAxisFontSize: '16',\r\n chartGradientTo: baseThemeVariables.primary,\r\n chartGradientFrom: baseThemeVariables.primaryLight,\r\n chartAxisSplitLine: baseThemeVariables.separator,\r\n chartShadowLineColor: baseThemeVariables.primaryLight,\r\n\r\n chartLineBottomShadowColor: baseThemeVariables.primary,\r\n\r\n chartInnerLineColor: baseThemeVariables.bg2,\r\n },\r\n\r\n echarts: {\r\n bg: baseThemeVariables.bg,\r\n textColor: baseThemeVariables.fgText,\r\n axisLineColor: baseThemeVariables.fgText,\r\n splitLineColor: baseThemeVariables.separator,\r\n itemHoverShadowColor: 'rgba(0, 0, 0, 0.5)',\r\n tooltipBackgroundColor: baseThemeVariables.primary,\r\n areaOpacity: '0.7',\r\n },\r\n\r\n chartjs: {\r\n axisLineColor: baseThemeVariables.separator,\r\n textColor: baseThemeVariables.fgText,\r\n },\r\n\r\n orders: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\r\n tooltipLineWidth: '0',\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '20',\r\n\r\n axisLineColor: baseThemeVariables.border4,\r\n axisFontSize: '16',\r\n axisTextColor: baseThemeVariables.fg,\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n itemBorderColor: baseThemeVariables.primary,\r\n lineStyle: 'solid',\r\n lineWidth: '4',\r\n\r\n // first line\r\n firstAreaGradFrom: baseThemeVariables.bg3,\r\n firstAreaGradTo: baseThemeVariables.bg3,\r\n firstShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n\r\n // second line\r\n secondLineGradFrom: baseThemeVariables.primary,\r\n secondLineGradTo: baseThemeVariables.primary,\r\n\r\n secondAreaGradFrom: 'rgba(0, 0, 0, 0)',\r\n secondAreaGradTo: 'rgba(0, 0, 0, 0)',\r\n secondShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n\r\n // third line\r\n thirdLineGradFrom: baseThemeVariables.success,\r\n thirdLineGradTo: baseThemeVariables.successLight,\r\n\r\n thirdAreaGradFrom: 'rgba(0, 0, 0, 0)',\r\n thirdAreaGradTo: 'rgba(0, 0, 0, 0)',\r\n thirdShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n },\r\n\r\n profit: {\r\n bg: baseThemeVariables.bg,\r\n textColor: baseThemeVariables.fgText,\r\n axisLineColor: baseThemeVariables.border4,\r\n splitLineColor: baseThemeVariables.separator,\r\n areaOpacity: '1',\r\n\r\n axisFontSize: '16',\r\n axisTextColor: baseThemeVariables.fg,\r\n\r\n // first bar\r\n firstLineGradFrom: baseThemeVariables.bg3,\r\n firstLineGradTo: baseThemeVariables.bg3,\r\n firstLineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n // second bar\r\n secondLineGradFrom: baseThemeVariables.primary,\r\n secondLineGradTo: baseThemeVariables.primary,\r\n secondLineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n // third bar\r\n thirdLineGradFrom: baseThemeVariables.success,\r\n thirdLineGradTo: baseThemeVariables.success,\r\n thirdLineShadow: 'rgba(0, 0, 0, 0)',\r\n },\r\n\r\n orderProfitLegend: {\r\n firstItem: baseThemeVariables.success,\r\n secondItem: baseThemeVariables.primary,\r\n thirdItem: baseThemeVariables.bg3,\r\n },\r\n\r\n visitors: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\r\n tooltipLineWidth: '1',\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '20',\r\n\r\n axisLineColor: baseThemeVariables.border4,\r\n axisFontSize: '16',\r\n axisTextColor: baseThemeVariables.fg,\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n itemBorderColor: baseThemeVariables.primary,\r\n lineStyle: 'dotted',\r\n lineWidth: '6',\r\n lineGradFrom: '#ffffff',\r\n lineGradTo: '#ffffff',\r\n lineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n areaGradFrom: baseThemeVariables.primary,\r\n areaGradTo: baseThemeVariables.primaryLight,\r\n\r\n innerLineStyle: 'solid',\r\n innerLineWidth: '1',\r\n\r\n innerAreaGradFrom: baseThemeVariables.success,\r\n innerAreaGradTo: baseThemeVariables.success,\r\n },\r\n\r\n visitorsLegend: {\r\n firstIcon: baseThemeVariables.success,\r\n secondIcon: baseThemeVariables.primary,\r\n },\r\n\r\n visitorsPie: {\r\n firstPieGradientLeft: baseThemeVariables.success,\r\n firstPieGradientRight: baseThemeVariables.success,\r\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n firstPieRadius: ['65%', '90%'],\r\n\r\n secondPieGradientLeft: baseThemeVariables.warning,\r\n secondPieGradientRight: baseThemeVariables.warningLight,\r\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n secondPieRadius: ['63%', '92%'],\r\n shadowOffsetX: '-4',\r\n shadowOffsetY: '-4',\r\n },\r\n\r\n visitorsPieLegend: {\r\n firstSection: baseThemeVariables.warning,\r\n secondSection: baseThemeVariables.success,\r\n },\r\n\r\n earningPie: {\r\n radius: ['65%', '100%'],\r\n center: ['50%', '50%'],\r\n\r\n fontSize: '22',\r\n\r\n firstPieGradientLeft: baseThemeVariables.success,\r\n firstPieGradientRight: baseThemeVariables.success,\r\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n\r\n secondPieGradientLeft: baseThemeVariables.primary,\r\n secondPieGradientRight: baseThemeVariables.primary,\r\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n\r\n thirdPieGradientLeft: baseThemeVariables.warning,\r\n thirdPieGradientRight: baseThemeVariables.warning,\r\n thirdPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n },\r\n\r\n earningLine: {\r\n gradFrom: baseThemeVariables.primary,\r\n gradTo: baseThemeVariables.primary,\r\n\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '16',\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipBorderWidth: '1',\r\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\r\n },\r\n },\r\n} as NbJSThemeOptions;\r\n","import { NbJSThemeOptions, COSMIC_THEME as baseTheme } from '@nebular/theme';\r\n\r\nconst baseThemeVariables = baseTheme.variables;\r\n\r\nexport const COSMIC_THEME = {\r\n name: 'cosmic',\r\n base: 'cosmic',\r\n variables: {\r\n temperature: {\r\n arcFill: [ '#2ec7fe', '#31ffad', '#7bff24', '#fff024', '#f7bd59' ],\r\n arcEmpty: baseThemeVariables.bg2,\r\n thumbBg: '#ffffff',\r\n thumbBorder: '#ffffff',\r\n },\r\n\r\n solar: {\r\n gradientLeft: baseThemeVariables.primary,\r\n gradientRight: baseThemeVariables.primary,\r\n shadowColor: 'rgba(0, 0, 0, 0)',\r\n secondSeriesFill: baseThemeVariables.bg2,\r\n radius: ['70%', '90%'],\r\n },\r\n\r\n traffic: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'box-shadow: 0px 2px 46px 0 rgba(50, 50, 89); border-radius: 10px; padding: 4px 16px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n lineBg: baseThemeVariables.border2,\r\n lineShadowBlur: '14',\r\n itemColor: baseThemeVariables.border2,\r\n itemBorderColor: baseThemeVariables.border2,\r\n itemEmphasisBorderColor: baseThemeVariables.primary,\r\n shadowLineDarkBg: baseThemeVariables.border3,\r\n shadowLineShadow: baseThemeVariables.border3,\r\n gradFrom: baseThemeVariables.bg,\r\n gradTo: baseThemeVariables.bg2,\r\n },\r\n\r\n electricity: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipLineColor: baseThemeVariables.fgText,\r\n tooltipLineWidth: '0',\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'box-shadow: 0px 2px 46px 0 rgba(0, 255, 170, 0.35); border-radius: 10px; padding: 8px 24px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n\r\n axisLineColor: baseThemeVariables.border3,\r\n xAxisTextColor: baseThemeVariables.fg,\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n itemBorderColor: baseThemeVariables.border2,\r\n lineStyle: 'dotted',\r\n lineWidth: '6',\r\n lineGradFrom: baseThemeVariables.success,\r\n lineGradTo: baseThemeVariables.warning,\r\n lineShadow: baseThemeVariables.bg4,\r\n\r\n areaGradFrom: baseThemeVariables.bg2,\r\n areaGradTo: baseThemeVariables.bg3,\r\n shadowLineDarkBg: baseThemeVariables.bg3,\r\n },\r\n\r\n bubbleMap: {\r\n titleColor: baseThemeVariables.fgText,\r\n areaColor: baseThemeVariables.bg4,\r\n areaHoverColor: baseThemeVariables.fgHighlight,\r\n areaBorderColor: baseThemeVariables.border5,\r\n },\r\n\r\n profitBarAnimationEchart: {\r\n textColor: baseThemeVariables.fgText,\r\n\r\n firstAnimationBarColor: baseThemeVariables.primary,\r\n secondAnimationBarColor: baseThemeVariables.success,\r\n\r\n splitLineStyleOpacity: '1',\r\n splitLineStyleWidth: '1',\r\n splitLineStyleColor: baseThemeVariables.border2,\r\n\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '16',\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipBorderWidth: '1',\r\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\r\n },\r\n\r\n trafficBarEchart: {\r\n gradientFrom: baseThemeVariables.warningLight,\r\n gradientTo: baseThemeVariables.warning,\r\n shadow: baseThemeVariables.warningLight,\r\n shadowBlur: '5',\r\n\r\n axisTextColor: baseThemeVariables.fgText,\r\n axisFontSize: '12',\r\n\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n },\r\n\r\n countryOrders: {\r\n countryBorderColor: baseThemeVariables.border4,\r\n countryFillColor: baseThemeVariables.bg3,\r\n countryBorderWidth: '1',\r\n hoveredCountryBorderColor: baseThemeVariables.primary,\r\n hoveredCountryFillColor: baseThemeVariables.primaryLight,\r\n hoveredCountryBorderWidth: '1',\r\n\r\n chartAxisLineColor: baseThemeVariables.border4,\r\n chartAxisTextColor: baseThemeVariables.fg,\r\n chartAxisFontSize: '16',\r\n chartGradientTo: baseThemeVariables.primary,\r\n chartGradientFrom: baseThemeVariables.primaryLight,\r\n chartAxisSplitLine: baseThemeVariables.separator,\r\n chartShadowLineColor: baseThemeVariables.primaryLight,\r\n\r\n chartLineBottomShadowColor: baseThemeVariables.primary,\r\n\r\n chartInnerLineColor: baseThemeVariables.bg2,\r\n },\r\n\r\n echarts: {\r\n bg: baseThemeVariables.bg,\r\n textColor: baseThemeVariables.fgText,\r\n axisLineColor: baseThemeVariables.fgText,\r\n splitLineColor: baseThemeVariables.separator,\r\n itemHoverShadowColor: 'rgba(0, 0, 0, 0.5)',\r\n tooltipBackgroundColor: baseThemeVariables.primary,\r\n areaOpacity: '1',\r\n },\r\n\r\n chartjs: {\r\n axisLineColor: baseThemeVariables.separator,\r\n textColor: baseThemeVariables.fgText,\r\n },\r\n\r\n orders: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\r\n tooltipLineWidth: '0',\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '20',\r\n\r\n axisLineColor: baseThemeVariables.border4,\r\n axisFontSize: '16',\r\n axisTextColor: baseThemeVariables.fg,\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n itemBorderColor: baseThemeVariables.primary,\r\n lineStyle: 'solid',\r\n lineWidth: '4',\r\n\r\n // first line\r\n firstAreaGradFrom: baseThemeVariables.bg2,\r\n firstAreaGradTo: baseThemeVariables.bg2,\r\n firstShadowLineDarkBg: baseThemeVariables.bg2,\r\n\r\n // second line\r\n secondLineGradFrom: baseThemeVariables.primary,\r\n secondLineGradTo: baseThemeVariables.primary,\r\n\r\n secondAreaGradFrom: 'rgba(161, 110, 255, 0.8)',\r\n secondAreaGradTo: 'rgba(161, 110, 255, 0.5)',\r\n secondShadowLineDarkBg: baseThemeVariables.primary,\r\n\r\n // third line\r\n thirdLineGradFrom: baseThemeVariables.success,\r\n thirdLineGradTo: baseThemeVariables.successLight,\r\n\r\n thirdAreaGradFrom: 'rgba(0, 214, 143, 0.7)',\r\n thirdAreaGradTo: 'rgba(0, 214, 143, 0.4)',\r\n thirdShadowLineDarkBg: baseThemeVariables.success,\r\n },\r\n\r\n profit: {\r\n bg: baseThemeVariables.bg,\r\n textColor: baseThemeVariables.fgText,\r\n axisLineColor: baseThemeVariables.border4,\r\n splitLineColor: baseThemeVariables.separator,\r\n areaOpacity: '1',\r\n\r\n axisFontSize: '16',\r\n axisTextColor: baseThemeVariables.fg,\r\n\r\n // first bar\r\n firstLineGradFrom: baseThemeVariables.bg2,\r\n firstLineGradTo: baseThemeVariables.bg2,\r\n firstLineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n // second bar\r\n secondLineGradFrom: baseThemeVariables.primary,\r\n secondLineGradTo: baseThemeVariables.primary,\r\n secondLineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n // third bar\r\n thirdLineGradFrom: baseThemeVariables.success,\r\n thirdLineGradTo: baseThemeVariables.successLight,\r\n thirdLineShadow: 'rgba(0, 0, 0, 0)',\r\n },\r\n\r\n orderProfitLegend: {\r\n firstItem: baseThemeVariables.success,\r\n secondItem: baseThemeVariables.primary,\r\n thirdItem: baseThemeVariables.bg2,\r\n },\r\n\r\n visitors: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\r\n tooltipLineWidth: '1',\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '20',\r\n\r\n axisLineColor: baseThemeVariables.border4,\r\n axisFontSize: '16',\r\n axisTextColor: baseThemeVariables.fg,\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n itemBorderColor: baseThemeVariables.primary,\r\n lineStyle: 'dotted',\r\n lineWidth: '6',\r\n lineGradFrom: '#ffffff',\r\n lineGradTo: '#ffffff',\r\n lineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n areaGradFrom: baseThemeVariables.primary,\r\n areaGradTo: baseThemeVariables.primaryLight,\r\n\r\n innerLineStyle: 'solid',\r\n innerLineWidth: '1',\r\n\r\n innerAreaGradFrom: baseThemeVariables.success,\r\n innerAreaGradTo: baseThemeVariables.success,\r\n },\r\n\r\n visitorsLegend: {\r\n firstIcon: baseThemeVariables.success,\r\n secondIcon: baseThemeVariables.primary,\r\n },\r\n\r\n visitorsPie: {\r\n firstPieGradientLeft: baseThemeVariables.success,\r\n firstPieGradientRight: baseThemeVariables.successLight,\r\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n firstPieRadius: ['70%', '90%'],\r\n\r\n secondPieGradientLeft: baseThemeVariables.warning,\r\n secondPieGradientRight: baseThemeVariables.warningLight,\r\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n secondPieRadius: ['60%', '95%'],\r\n shadowOffsetX: '0',\r\n shadowOffsetY: '3',\r\n },\r\n\r\n visitorsPieLegend: {\r\n firstSection: baseThemeVariables.warning,\r\n secondSection: baseThemeVariables.success,\r\n },\r\n\r\n earningPie: {\r\n radius: ['65%', '100%'],\r\n center: ['50%', '50%'],\r\n\r\n fontSize: '22',\r\n\r\n firstPieGradientLeft: baseThemeVariables.success,\r\n firstPieGradientRight: baseThemeVariables.success,\r\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n\r\n secondPieGradientLeft: baseThemeVariables.primary,\r\n secondPieGradientRight: baseThemeVariables.primary,\r\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n\r\n thirdPieGradientLeft: baseThemeVariables.warning,\r\n thirdPieGradientRight: baseThemeVariables.warning,\r\n thirdPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n },\r\n\r\n earningLine: {\r\n gradFrom: baseThemeVariables.primary,\r\n gradTo: baseThemeVariables.primary,\r\n\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '16',\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipBorderWidth: '1',\r\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\r\n },\r\n },\r\n} as NbJSThemeOptions;\r\n","import { NbJSThemeOptions, DARK_THEME as baseTheme } from '@nebular/theme';\r\n\r\nconst baseThemeVariables = baseTheme.variables;\r\n\r\nexport const DARK_THEME = {\r\n name: 'dark',\r\n base: 'dark',\r\n variables: {\r\n temperature: {\r\n arcFill: [\r\n baseThemeVariables.primary,\r\n baseThemeVariables.primary,\r\n baseThemeVariables.primary,\r\n baseThemeVariables.primary,\r\n baseThemeVariables.primary,\r\n ],\r\n arcEmpty: baseThemeVariables.bg2,\r\n thumbBg: baseThemeVariables.bg2,\r\n thumbBorder: baseThemeVariables.primary,\r\n },\r\n\r\n solar: {\r\n gradientLeft: baseThemeVariables.primary,\r\n gradientRight: baseThemeVariables.primary,\r\n shadowColor: 'rgba(0, 0, 0, 0)',\r\n secondSeriesFill: baseThemeVariables.bg2,\r\n radius: ['80%', '90%'],\r\n },\r\n\r\n traffic: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n lineBg: baseThemeVariables.border4,\r\n lineShadowBlur: '1',\r\n itemColor: baseThemeVariables.border4,\r\n itemBorderColor: baseThemeVariables.border4,\r\n itemEmphasisBorderColor: baseThemeVariables.primary,\r\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n shadowLineShadow: 'rgba(0, 0, 0, 0)',\r\n gradFrom: baseThemeVariables.bg2,\r\n gradTo: baseThemeVariables.bg2,\r\n },\r\n\r\n electricity: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipLineColor: baseThemeVariables.fgText,\r\n tooltipLineWidth: '0',\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n\r\n axisLineColor: baseThemeVariables.border3,\r\n xAxisTextColor: baseThemeVariables.fg,\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n itemBorderColor: baseThemeVariables.primary,\r\n lineStyle: 'solid',\r\n lineWidth: '4',\r\n lineGradFrom: baseThemeVariables.primary,\r\n lineGradTo: baseThemeVariables.primary,\r\n lineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n areaGradFrom: baseThemeVariables.bg2,\r\n areaGradTo: baseThemeVariables.bg2,\r\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n },\r\n\r\n bubbleMap: {\r\n titleColor: baseThemeVariables.fgText,\r\n areaColor: baseThemeVariables.bg4,\r\n areaHoverColor: baseThemeVariables.fgHighlight,\r\n areaBorderColor: baseThemeVariables.border5,\r\n },\r\n\r\n profitBarAnimationEchart: {\r\n textColor: baseThemeVariables.fgText,\r\n\r\n firstAnimationBarColor: baseThemeVariables.primary,\r\n secondAnimationBarColor: baseThemeVariables.success,\r\n\r\n splitLineStyleOpacity: '1',\r\n splitLineStyleWidth: '1',\r\n splitLineStyleColor: baseThemeVariables.separator,\r\n\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '16',\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipBorderWidth: '1',\r\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\r\n },\r\n\r\n trafficBarEchart: {\r\n gradientFrom: baseThemeVariables.warningLight,\r\n gradientTo: baseThemeVariables.warning,\r\n shadow: baseThemeVariables.warningLight,\r\n shadowBlur: '0',\r\n\r\n axisTextColor: baseThemeVariables.fgText,\r\n axisFontSize: '12',\r\n\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n },\r\n\r\n countryOrders: {\r\n countryBorderColor: baseThemeVariables.border4,\r\n countryFillColor: baseThemeVariables.bg3,\r\n countryBorderWidth: '1',\r\n hoveredCountryBorderColor: baseThemeVariables.primary,\r\n hoveredCountryFillColor: baseThemeVariables.primaryLight,\r\n hoveredCountryBorderWidth: '1',\r\n\r\n chartAxisLineColor: baseThemeVariables.border4,\r\n chartAxisTextColor: baseThemeVariables.fg,\r\n chartAxisFontSize: '16',\r\n chartGradientTo: baseThemeVariables.primary,\r\n chartGradientFrom: baseThemeVariables.primaryLight,\r\n chartAxisSplitLine: baseThemeVariables.separator,\r\n chartShadowLineColor: baseThemeVariables.primaryLight,\r\n\r\n chartLineBottomShadowColor: baseThemeVariables.primary,\r\n\r\n chartInnerLineColor: baseThemeVariables.bg2,\r\n },\r\n\r\n echarts: {\r\n bg: baseThemeVariables.bg,\r\n textColor: baseThemeVariables.fgText,\r\n axisLineColor: baseThemeVariables.fgText,\r\n splitLineColor: baseThemeVariables.separator,\r\n itemHoverShadowColor: 'rgba(0, 0, 0, 0.5)',\r\n tooltipBackgroundColor: baseThemeVariables.primary,\r\n areaOpacity: '0.7',\r\n },\r\n\r\n chartjs: {\r\n axisLineColor: baseThemeVariables.separator,\r\n textColor: baseThemeVariables.fgText,\r\n },\r\n\r\n orders: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\r\n tooltipLineWidth: '0',\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '20',\r\n\r\n axisLineColor: baseThemeVariables.border4,\r\n axisFontSize: '16',\r\n axisTextColor: baseThemeVariables.fg,\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n itemBorderColor: baseThemeVariables.primary,\r\n lineStyle: 'solid',\r\n lineWidth: '4',\r\n\r\n // first line\r\n firstAreaGradFrom: baseThemeVariables.bg3,\r\n firstAreaGradTo: baseThemeVariables.bg3,\r\n firstShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n\r\n // second line\r\n secondLineGradFrom: baseThemeVariables.primary,\r\n secondLineGradTo: baseThemeVariables.primary,\r\n\r\n secondAreaGradFrom: 'rgba(51, 102, 255, 0.2)',\r\n secondAreaGradTo: 'rgba(51, 102, 255, 0)',\r\n secondShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n\r\n // third line\r\n thirdLineGradFrom: baseThemeVariables.success,\r\n thirdLineGradTo: baseThemeVariables.successLight,\r\n\r\n thirdAreaGradFrom: 'rgba(0, 214, 143, 0.2)',\r\n thirdAreaGradTo: 'rgba(0, 214, 143, 0)',\r\n thirdShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n },\r\n\r\n profit: {\r\n bg: baseThemeVariables.bg,\r\n textColor: baseThemeVariables.fgText,\r\n axisLineColor: baseThemeVariables.border4,\r\n splitLineColor: baseThemeVariables.separator,\r\n areaOpacity: '1',\r\n\r\n axisFontSize: '16',\r\n axisTextColor: baseThemeVariables.fg,\r\n\r\n // first bar\r\n firstLineGradFrom: baseThemeVariables.bg3,\r\n firstLineGradTo: baseThemeVariables.bg3,\r\n firstLineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n // second bar\r\n secondLineGradFrom: baseThemeVariables.primary,\r\n secondLineGradTo: baseThemeVariables.primary,\r\n secondLineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n // third bar\r\n thirdLineGradFrom: baseThemeVariables.success,\r\n thirdLineGradTo: baseThemeVariables.successLight,\r\n thirdLineShadow: 'rgba(0, 0, 0, 0)',\r\n },\r\n\r\n orderProfitLegend: {\r\n firstItem: baseThemeVariables.success,\r\n secondItem: baseThemeVariables.primary,\r\n thirdItem: baseThemeVariables.bg3,\r\n },\r\n\r\n visitors: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\r\n tooltipLineWidth: '0',\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '20',\r\n\r\n axisLineColor: baseThemeVariables.border4,\r\n axisFontSize: '16',\r\n axisTextColor: baseThemeVariables.fg,\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n itemBorderColor: baseThemeVariables.primary,\r\n lineStyle: 'dotted',\r\n lineWidth: '6',\r\n lineGradFrom: '#ffffff',\r\n lineGradTo: '#ffffff',\r\n lineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n areaGradFrom: baseThemeVariables.primary,\r\n areaGradTo: baseThemeVariables.primaryLight,\r\n\r\n innerLineStyle: 'solid',\r\n innerLineWidth: '1',\r\n\r\n innerAreaGradFrom: baseThemeVariables.success,\r\n innerAreaGradTo: baseThemeVariables.success,\r\n },\r\n\r\n visitorsLegend: {\r\n firstIcon: baseThemeVariables.success,\r\n secondIcon: baseThemeVariables.primary,\r\n },\r\n\r\n visitorsPie: {\r\n firstPieGradientLeft: baseThemeVariables.success,\r\n firstPieGradientRight: baseThemeVariables.success,\r\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n firstPieRadius: ['70%', '90%'],\r\n\r\n secondPieGradientLeft: baseThemeVariables.warning,\r\n secondPieGradientRight: baseThemeVariables.warningLight,\r\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n secondPieRadius: ['60%', '97%'],\r\n shadowOffsetX: '0',\r\n shadowOffsetY: '0',\r\n },\r\n\r\n visitorsPieLegend: {\r\n firstSection: baseThemeVariables.warning,\r\n secondSection: baseThemeVariables.success,\r\n },\r\n\r\n earningPie: {\r\n radius: ['65%', '100%'],\r\n center: ['50%', '50%'],\r\n\r\n fontSize: '22',\r\n\r\n firstPieGradientLeft: baseThemeVariables.success,\r\n firstPieGradientRight: baseThemeVariables.success,\r\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n\r\n secondPieGradientLeft: baseThemeVariables.primary,\r\n secondPieGradientRight: baseThemeVariables.primary,\r\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n\r\n thirdPieGradientLeft: baseThemeVariables.warning,\r\n thirdPieGradientRight: baseThemeVariables.warning,\r\n thirdPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n },\r\n\r\n earningLine: {\r\n gradFrom: baseThemeVariables.primary,\r\n gradTo: baseThemeVariables.primary,\r\n\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '16',\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipBorderWidth: '1',\r\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\r\n },\r\n },\r\n} as NbJSThemeOptions;\r\n","import { NbJSThemeOptions, DEFAULT_THEME as baseTheme } from '@nebular/theme';\r\n\r\nconst baseThemeVariables = baseTheme.variables;\r\n\r\nexport const DEFAULT_THEME = {\r\n name: 'default',\r\n base: 'default',\r\n variables: {\r\n temperature: {\r\n arcFill: [\r\n baseThemeVariables.primary,\r\n baseThemeVariables.primary,\r\n baseThemeVariables.primary,\r\n baseThemeVariables.primary,\r\n baseThemeVariables.primary,\r\n ],\r\n arcEmpty: baseThemeVariables.bg2,\r\n thumbBg: baseThemeVariables.bg2,\r\n thumbBorder: baseThemeVariables.primary,\r\n },\r\n\r\n solar: {\r\n gradientLeft: baseThemeVariables.primary,\r\n gradientRight: baseThemeVariables.primary,\r\n shadowColor: 'rgba(0, 0, 0, 0)',\r\n secondSeriesFill: baseThemeVariables.bg2,\r\n radius: ['80%', '90%'],\r\n },\r\n\r\n traffic: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n lineBg: baseThemeVariables.border4,\r\n lineShadowBlur: '1',\r\n itemColor: baseThemeVariables.border4,\r\n itemBorderColor: baseThemeVariables.border4,\r\n itemEmphasisBorderColor: baseThemeVariables.primary,\r\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n shadowLineShadow: 'rgba(0, 0, 0, 0)',\r\n gradFrom: baseThemeVariables.bg2,\r\n gradTo: baseThemeVariables.bg2,\r\n },\r\n\r\n electricity: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipLineColor: baseThemeVariables.fgText,\r\n tooltipLineWidth: '0',\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n\r\n axisLineColor: baseThemeVariables.border3,\r\n xAxisTextColor: baseThemeVariables.fg,\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n itemBorderColor: baseThemeVariables.primary,\r\n lineStyle: 'solid',\r\n lineWidth: '4',\r\n lineGradFrom: baseThemeVariables.primary,\r\n lineGradTo: baseThemeVariables.primary,\r\n lineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n areaGradFrom: baseThemeVariables.bg2,\r\n areaGradTo: baseThemeVariables.bg2,\r\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n },\r\n\r\n bubbleMap: {\r\n titleColor: baseThemeVariables.fgText,\r\n areaColor: baseThemeVariables.bg4,\r\n areaHoverColor: baseThemeVariables.fgHighlight,\r\n areaBorderColor: baseThemeVariables.border5,\r\n },\r\n\r\n profitBarAnimationEchart: {\r\n textColor: baseThemeVariables.fgText,\r\n\r\n firstAnimationBarColor: baseThemeVariables.primary,\r\n secondAnimationBarColor: baseThemeVariables.success,\r\n\r\n splitLineStyleOpacity: '1',\r\n splitLineStyleWidth: '1',\r\n splitLineStyleColor: baseThemeVariables.separator,\r\n\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '16',\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipBorderWidth: '1',\r\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\r\n },\r\n\r\n trafficBarEchart: {\r\n gradientFrom: baseThemeVariables.warningLight,\r\n gradientTo: baseThemeVariables.warning,\r\n shadow: baseThemeVariables.warningLight,\r\n shadowBlur: '0',\r\n\r\n axisTextColor: baseThemeVariables.fgText,\r\n axisFontSize: '12',\r\n\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n },\r\n\r\n countryOrders: {\r\n countryBorderColor: baseThemeVariables.border4,\r\n countryFillColor: baseThemeVariables.bg3,\r\n countryBorderWidth: '1',\r\n hoveredCountryBorderColor: baseThemeVariables.primary,\r\n hoveredCountryFillColor: baseThemeVariables.primaryLight,\r\n hoveredCountryBorderWidth: '1',\r\n\r\n chartAxisLineColor: baseThemeVariables.border4,\r\n chartAxisTextColor: baseThemeVariables.fg,\r\n chartAxisFontSize: '16',\r\n chartGradientTo: baseThemeVariables.primary,\r\n chartGradientFrom: baseThemeVariables.primaryLight,\r\n chartAxisSplitLine: baseThemeVariables.separator,\r\n chartShadowLineColor: baseThemeVariables.primaryLight,\r\n\r\n chartLineBottomShadowColor: baseThemeVariables.primary,\r\n\r\n chartInnerLineColor: baseThemeVariables.bg2,\r\n },\r\n\r\n echarts: {\r\n bg: baseThemeVariables.bg,\r\n textColor: baseThemeVariables.fgText,\r\n axisLineColor: baseThemeVariables.fgText,\r\n splitLineColor: baseThemeVariables.separator,\r\n itemHoverShadowColor: 'rgba(0, 0, 0, 0.5)',\r\n tooltipBackgroundColor: baseThemeVariables.primary,\r\n areaOpacity: '0.7',\r\n },\r\n\r\n chartjs: {\r\n axisLineColor: baseThemeVariables.separator,\r\n textColor: baseThemeVariables.fgText,\r\n },\r\n\r\n orders: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\r\n tooltipLineWidth: '0',\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '20',\r\n\r\n axisLineColor: baseThemeVariables.border4,\r\n axisFontSize: '16',\r\n axisTextColor: baseThemeVariables.fg,\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n itemBorderColor: baseThemeVariables.primary,\r\n lineStyle: 'solid',\r\n lineWidth: '4',\r\n\r\n // first line\r\n firstAreaGradFrom: baseThemeVariables.bg3,\r\n firstAreaGradTo: baseThemeVariables.bg3,\r\n firstShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n\r\n // second line\r\n secondLineGradFrom: baseThemeVariables.primary,\r\n secondLineGradTo: baseThemeVariables.primary,\r\n\r\n secondAreaGradFrom: 'rgba(51, 102, 255, 0.2)',\r\n secondAreaGradTo: 'rgba(51, 102, 255, 0)',\r\n secondShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n\r\n // third line\r\n thirdLineGradFrom: baseThemeVariables.success,\r\n thirdLineGradTo: baseThemeVariables.successLight,\r\n\r\n thirdAreaGradFrom: 'rgba(0, 214, 143, 0.2)',\r\n thirdAreaGradTo: 'rgba(0, 214, 143, 0)',\r\n thirdShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n },\r\n\r\n profit: {\r\n bg: baseThemeVariables.bg,\r\n textColor: baseThemeVariables.fgText,\r\n axisLineColor: baseThemeVariables.border4,\r\n splitLineColor: baseThemeVariables.separator,\r\n areaOpacity: '1',\r\n\r\n axisFontSize: '16',\r\n axisTextColor: baseThemeVariables.fg,\r\n\r\n // first bar\r\n firstLineGradFrom: baseThemeVariables.bg3,\r\n firstLineGradTo: baseThemeVariables.bg3,\r\n firstLineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n // second bar\r\n secondLineGradFrom: baseThemeVariables.primary,\r\n secondLineGradTo: baseThemeVariables.primary,\r\n secondLineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n // third bar\r\n thirdLineGradFrom: baseThemeVariables.success,\r\n thirdLineGradTo: baseThemeVariables.successLight,\r\n thirdLineShadow: 'rgba(0, 0, 0, 0)',\r\n },\r\n\r\n orderProfitLegend: {\r\n firstItem: baseThemeVariables.success,\r\n secondItem: baseThemeVariables.primary,\r\n thirdItem: baseThemeVariables.bg3,\r\n },\r\n\r\n visitors: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\r\n tooltipLineWidth: '1',\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '20',\r\n\r\n axisLineColor: baseThemeVariables.border4,\r\n axisFontSize: '16',\r\n axisTextColor: baseThemeVariables.fg,\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n itemBorderColor: baseThemeVariables.primary,\r\n lineStyle: 'dotted',\r\n lineWidth: '6',\r\n lineGradFrom: '#ffffff',\r\n lineGradTo: '#ffffff',\r\n lineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n areaGradFrom: baseThemeVariables.primary,\r\n areaGradTo: baseThemeVariables.primaryLight,\r\n\r\n innerLineStyle: 'solid',\r\n innerLineWidth: '1',\r\n\r\n innerAreaGradFrom: baseThemeVariables.success,\r\n innerAreaGradTo: baseThemeVariables.success,\r\n },\r\n\r\n visitorsLegend: {\r\n firstIcon: baseThemeVariables.success,\r\n secondIcon: baseThemeVariables.primary,\r\n },\r\n\r\n visitorsPie: {\r\n firstPieGradientLeft: baseThemeVariables.success,\r\n firstPieGradientRight: baseThemeVariables.success,\r\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n firstPieRadius: ['70%', '90%'],\r\n\r\n secondPieGradientLeft: baseThemeVariables.warning,\r\n secondPieGradientRight: baseThemeVariables.warningLight,\r\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n secondPieRadius: ['60%', '97%'],\r\n shadowOffsetX: '0',\r\n shadowOffsetY: '0',\r\n },\r\n\r\n visitorsPieLegend: {\r\n firstSection: baseThemeVariables.warning,\r\n secondSection: baseThemeVariables.success,\r\n },\r\n\r\n earningPie: {\r\n radius: ['65%', '100%'],\r\n center: ['50%', '50%'],\r\n\r\n fontSize: '22',\r\n\r\n firstPieGradientLeft: baseThemeVariables.success,\r\n firstPieGradientRight: baseThemeVariables.success,\r\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n\r\n secondPieGradientLeft: baseThemeVariables.primary,\r\n secondPieGradientRight: baseThemeVariables.primary,\r\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n\r\n thirdPieGradientLeft: baseThemeVariables.warning,\r\n thirdPieGradientRight: baseThemeVariables.warning,\r\n thirdPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n },\r\n\r\n earningLine: {\r\n gradFrom: baseThemeVariables.primary,\r\n gradTo: baseThemeVariables.primary,\r\n\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '16',\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipBorderWidth: '1',\r\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\r\n },\r\n },\r\n} as NbJSThemeOptions;\r\n","\r\nimport { IconDeleteComponent } from './components/template/icon/delete/icon-delete.component';\r\nimport { IconEditComponent } from './components/template/icon/edit/icon-edit.component';\r\nimport { IconInfoComponent } from './components/template/icon/info/icon-info.component';\r\nimport { BtnDeleteComponent } from './components/template/button/delete/btn-delete.component';\r\nimport { BtnFileComponent } from './components/template/button/file/btn-file.component';\r\nimport { BtnSyncComponent } from './components/template/button/sync/btn-sync.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport {\r\n NbActionsModule,\r\n NbLayoutModule,\r\n NbMenuModule,\r\n NbSearchModule,\r\n NbSidebarModule,\r\n NbUserModule,\r\n NbContextMenuModule,\r\n NbButtonModule,\r\n NbSelectModule,\r\n NbIconModule,\r\n NbThemeModule,\r\n NbCardModule,\r\n NbRadioModule,\r\n NbTabsetModule,\r\n NbToggleModule,\r\n NbTimepickerModule,\r\n} from '@nebular/theme';\r\nimport { NbEvaIconsModule } from '@nebular/eva-icons';\r\nimport { NbSecurityModule } from '@nebular/security';\r\n\r\nimport {\r\n FooterComponent,\r\n HeaderComponent,\r\n LayoutDirectionSwitcherComponent,\r\n SearchInputComponent,\r\n SwitcherComponent,\r\n} from './components';\r\nimport {\r\n CapitalizePipe,\r\n PluralPipe,\r\n RoundPipe,\r\n TimingPipe,\r\n NumberWithCommasPipe,\r\n} from './pipes';\r\nimport {\r\n OneColumnLayoutComponent,\r\n ThreeColumnsLayoutComponent,\r\n TwoColumnsLayoutComponent,\r\n} from './layouts';\r\nimport { DEFAULT_THEME } from './styles/theme.default';\r\nimport { COSMIC_THEME } from './styles/theme.cosmic';\r\nimport { CORPORATE_THEME } from './styles/theme.corporate';\r\nimport { DARK_THEME } from './styles/theme.dark';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { MdPaginationComponent } from './components/pagination/pagination.component';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { ConvertDatePipe } from 'app/@core/customs/common.service';\r\nimport { SortDirective } from 'app/@core/utils/sort.directive';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { BtnAddComponent } from './components/template/button/add/btn-add.component';\r\nimport { BtnSearchComponent } from './components/template/button/search/btn-search.component';\r\nimport { BtnSaveComponent } from './components/template/button/save/btn-save.component';\r\nimport { BtnRefreshComponent } from './components/template/button/refresh/btn-refresh.component';\r\nimport { BtnCloseComponent } from './components/template/button/close/btn-close.component';\r\nimport { BtnBackComponent } from './components/template/button/back/btn-back.component';\r\nimport { BtnSubmitComponent } from './components/template/button/submit/btn-submit.component';\r\nimport { BtnAddSyncComponent } from './components/template/button/add-sync/btn-add-sync.component';\r\nimport { BtnUpdateSyncComponent } from './components/template/button/update-sync/btn-update-sync.component';\r\nimport { BtnDownloadComponent } from './components/template/button/download/btn-download.component';\r\nimport { IconShareComponent } from './components/template/icon/share/icon-share.component';\r\nimport { IconReplyComponent } from './components/template/icon/reply/icon-reply.component';\r\nimport { IconPlusComponent } from './components/template/icon/plus/icon-plus.component';\r\nimport { IconMinusComponent } from './components/template/icon/minus/icon-minus.component';\r\nimport { ReportComponent } from './components/template/report/report.component';\r\nimport { TelerikReportingModule } from '@progress/telerik-angular-report-viewer';\r\nimport { NotificationComponent } from './components/header/notification/notification.component';\r\nimport { DeleteDialogComponent } from './components/template/dialog/delete/delete-dialog.component';\r\nimport { BtnConfirmComponent } from './components/template/button/confirm/btn-confirm.component';\r\nimport { InputDialogComponent } from './components/template/dialog/input/input-dialog.component';\r\nimport { IconEyeComponent } from './components/template/icon/eye/icon-eye.component';\r\nimport { NotificationDialogComponent } from './components/template/dialog/notification/notification-dialog.component';\r\nimport { IconUsersConfigComponent } from './components/template/icon/users-config/icon-users-config.component';\r\nimport { BtnDefaultComponent } from './components/template/button/default/btn-default.component';\r\nimport { IconMapsComponent } from './components/template/icon/maps/icon-maps.component';\r\nimport { IconClipboardListCheckComponent } from './components/template/icon/clipboard-list-check/icon-clipboard-list-check.component';\r\nimport { IconPaperPlaneComponent } from './components/template/icon/paper-plane/icon-paper-plane.component';\r\nimport { NgxCurrencyModule } from 'ngx-currency';\r\nimport { BtnConfigComponent } from './components/template/button/config/btn-config.component';\r\nimport { NgxSpinnerModule } from 'ngx-spinner';\r\nimport { EditorModule } from \"@progress/kendo-angular-editor\";\r\n\r\nconst BASE_MODULES = [\r\n CommonModule,\r\n FormsModule,\r\n NgSelectModule,\r\n NgxCurrencyModule,\r\n NgxSpinnerModule\r\n];\r\n\r\nconst MAT_MODULES = [\r\n MatDialogModule,\r\n MatTabsModule,\r\n];\r\n\r\nconst KENDO_UI = [\r\n TelerikReportingModule,\r\n EditorModule\r\n];\r\n\r\nconst NB_MODULES = [\r\n NbRadioModule,\r\n NbCardModule,\r\n NbLayoutModule,\r\n NbMenuModule,\r\n NbUserModule,\r\n NbActionsModule,\r\n NbSearchModule,\r\n NbSidebarModule,\r\n NbContextMenuModule,\r\n NbSecurityModule,\r\n NbButtonModule,\r\n NbSelectModule,\r\n NbIconModule,\r\n NbEvaIconsModule,\r\n NbTabsetModule,\r\n NbToggleModule,\r\n NbTimepickerModule\r\n];\r\nconst COMPONENTS = [\r\n SwitcherComponent,\r\n LayoutDirectionSwitcherComponent,\r\n HeaderComponent,\r\n FooterComponent,\r\n SearchInputComponent,\r\n OneColumnLayoutComponent,\r\n ThreeColumnsLayoutComponent,\r\n TwoColumnsLayoutComponent,\r\n MdPaginationComponent,\r\n BtnSubmitComponent,\r\n BtnAddComponent,\r\n BtnConfigComponent,\r\n BtnBackComponent,\r\n BtnCloseComponent,\r\n BtnRefreshComponent,\r\n BtnSaveComponent,\r\n BtnSearchComponent,\r\n BtnSyncComponent,\r\n BtnFileComponent,\r\n BtnDeleteComponent,\r\n BtnAddSyncComponent,\r\n BtnUpdateSyncComponent,\r\n BtnDownloadComponent,\r\n BtnConfirmComponent,\r\n IconInfoComponent,\r\n IconEditComponent,\r\n IconDeleteComponent,\r\n SortDirective,\r\n IconShareComponent,\r\n IconReplyComponent,\r\n IconPlusComponent,\r\n IconMinusComponent,\r\n IconEyeComponent,\r\n ReportComponent,\r\n DeleteDialogComponent,\r\n InputDialogComponent,\r\n NotificationDialogComponent,\r\n IconUsersConfigComponent,\r\n BtnDefaultComponent,\r\n IconMapsComponent,\r\n IconClipboardListCheckComponent,\r\n IconPaperPlaneComponent\r\n];\r\nconst PIPES = [\r\n CapitalizePipe,\r\n PluralPipe,\r\n RoundPipe,\r\n TimingPipe,\r\n NumberWithCommasPipe,\r\n ConvertDatePipe\r\n];\r\n\r\n@NgModule({\r\n imports: [...BASE_MODULES, ...NB_MODULES, ...MAT_MODULES, ...KENDO_UI],\r\n exports: [...BASE_MODULES, ...NB_MODULES, ...MAT_MODULES, ...PIPES, ...COMPONENTS, ...KENDO_UI],\r\n declarations: [...COMPONENTS, ...PIPES, NotificationComponent],\r\n})\r\nexport class ThemeModule {\r\n static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: ThemeModule,\r\n providers: [\r\n ...NbThemeModule.forRoot(\r\n {\r\n name: 'default',\r\n },\r\n [DEFAULT_THEME, COSMIC_THEME, CORPORATE_THEME, DARK_THEME],\r\n ).providers,\r\n ],\r\n };\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { DmcongtyIndexComponent } from './dmcongty-index/dmcongty-index.component';\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n children: [\r\n { path: '', component: DmcongtyIndexComponent },\r\n ]\r\n }\r\n];\r\n","import { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { CommonService } from \"app/@core/customs/common.service\";\r\nimport { STATUS_ACTION, SUCCESS_RESPONSE } from \"app/@core/customs/constants\";\r\nimport { AppCongAnApiService, ItemDmcongty } from \"app/@core/data/app-congan.service\";\r\nimport { DmcongtyService } from \"../dmcongty.service\";\r\n@Component({\r\n selector: 'ngx-dmcongty-edit',\r\n templateUrl: './dmcongty-edit.component.html',\r\n styleUrls: ['./dmcongty-edit.component.scss']\r\n\r\n})\r\nexport class DmcongtyEditComponent implements OnInit {\r\n constructor(\r\n private commonService: CommonService,\r\n private service: AppCongAnApiService,\r\n @Inject(MAT_DIALOG_DATA) public fromParent: { id: number, title: string, action: number},\r\n private dmCongTyService: DmcongtyService,\r\n private dialogRef: MatDialogRef\r\n ){\r\n if (this.fromParent.id){\r\n this.loadForm();\r\n }\r\n }\r\n\r\n target: ItemDmcongty = new ItemDmcongty();\r\n statusAction = STATUS_ACTION;\r\n validPhoneNumber: boolean = true;\r\n\r\n lstTrangThai =\r\n [{ key: 0, name: 'Không sử dụng'},\r\n { key: 1, name: 'Sử dụng'}];\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n submit(frm: NgForm){\r\n if (this.fromParent.action === STATUS_ACTION.create) {\r\n this.dmCongTyService.insert(this.target).subscribe((sub) => {\r\n if (sub.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Thêm mới thành công!');\r\n this.dialogRef.close(true);\r\n } else {\r\n this.commonService.toastrSuccess(sub.message);\r\n }\r\n });\r\n } else {\r\n this.dmCongTyService.update(this.target).subscribe((sub) => {\r\n if (sub.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Cập nhật thành công!');\r\n this.dialogRef.close(true);\r\n } else {\r\n this.commonService.toastrSuccess(sub.message);\r\n }\r\n });\r\n }\r\n }\r\n\r\n loadForm(){\r\n this.dmCongTyService.selectOne(this.fromParent.id).subscribe((sub) => {\r\n if (sub.code === SUCCESS_RESPONSE) {\r\n this.target.id = this.fromParent.id;\r\n this.target.masothue = sub.data.masothue;\r\n this.target.ten = sub.data.ten;\r\n this.target.sodienthoai = sub.data.sodienthoai;\r\n this.target.diachi = sub.data.diachi;\r\n this.target.nguoidaidien = sub.data.nguoidaidien;\r\n this.target.trangthai = sub.data.trangthai;\r\n }\r\n });\r\n }\r\n\r\n checkPhoneNum(){\r\n if (Number.isNaN(parseInt(this.target.sodienthoai))){\r\n this.validPhoneNumber = false;\r\n return;\r\n }\r\n this.validPhoneNumber = true;\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n
\r\n {{fromParent.title}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n Mã số thuế là bắt buộc\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n Tên công ty là bắt buộc\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n Địa chỉ là bắt buộc\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n Trạng thái là bắt buộc\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n  \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { PAGE_SIZE, STATUS_ACTION, SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport {\r\n AppCongAnApiService,\r\n PageDmcongty,\r\n ItemDmcongtyIEnumerablePageModelView\r\n} from 'app/@core/data/app-congan.service';\r\nimport { DeleteDialogComponent } from 'app/@theme/components/template/dialog/delete/delete-dialog.component';\r\nimport { DmcongtyEditComponent } from '../dmcongty-edit/dmcongty-edit.component';\r\n// import { DmcongtyEditComponent } from '../dmcongty-edit/dmcongty-edit.component';\r\n// import { DmcongtyCreateComponent } from '../dmcongty-create/dmcongty-create.component';\r\n// import { DmcongtyDetailComponent } from '../dmcongty-detail/dmcongty-detail.component.ts';\r\n\r\n@Component({\r\n selector: 'ngx-dmcongty-index',\r\n templateUrl: './dmcongty-index.component.html'\r\n})\r\n\r\nexport class DmcongtyIndexComponent implements OnInit {\r\n constructor(\r\n private commonService: CommonService,\r\n private dialog: MatDialog,\r\n private service: AppCongAnApiService) { }\r\n\r\n pageModel: PageDmcongty = new PageDmcongty({\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE\r\n });\r\n target: ItemDmcongtyIEnumerablePageModelView = new ItemDmcongtyIEnumerablePageModelView();\r\n totalPage: number;\r\n ngOnInit(): void {\r\n this.loadData();\r\n }\r\n\r\n loadData(): void {\r\n this.service.appCongAnApiV1DmcongtyPostPagingDmcongty(this.pageModel).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target = res.data;\r\n this.totalPage = res.data.totalPage;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n searchPage() {\r\n this.pageModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n resetPage() {\r\n this.pageModel.strKey = null;\r\n this.searchPage();\r\n }\r\n\r\n openCreateDialog() {\r\n this.dialog.open(DmcongtyEditComponent,\r\n this.commonService.configDialog('80%', { title: \"Thêm mới công ty\", action: STATUS_ACTION.create })).afterClosed().subscribe(res => {\r\n this.loadData();\r\n });\r\n }\r\n\r\n openDetailDialog(key: number) {\r\n this.dialog.open(DmcongtyEditComponent,\r\n this.commonService.configDialog('80%', { title: \"Chi tiết công ty\", id: key, action: STATUS_ACTION.detail})).afterClosed().subscribe(() => {\r\n this.loadData();\r\n });\r\n }\r\n\r\n openEditDialog(key: number) {\r\n this.dialog.open(DmcongtyEditComponent,\r\n this.commonService.configDialog('80%', { title: \"Cập nhật công ty\", id: key, action: STATUS_ACTION.edit})).afterClosed().subscribe(() => {\r\n this.loadData();\r\n });\r\n }\r\n\r\n deleteData(key: number, title: string) {\r\n this.dialog.open(DeleteDialogComponent,\r\n this.commonService.configDialog('30%', `Xác nhận xóa công ty ${title}?`))\r\n .afterClosed().subscribe((dialog) => {\r\n if (dialog) {\r\n this.service.appCongAnApiV1DmcongtyPostDeleteDmcongty(key).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.loadData();\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","\r\n \r\n
\r\n
\r\n

Danh mục công ty

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n  \r\n \r\n  \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n
STTMã số thuếTên công tyĐịa chỉSố điện thoạiNgười đại diệnTrạng tháiHành động
{{(i + 1) + ((pageModel.currentPage - 1) * pageModel.pageSize)}}{{item.masothue}}{{item.ten}}{{item.diachi}}{{item.sodienthoai}}{{item.nguoidaidien}}\r\n {{item.trangthai === 1 ? 'Sử dụng' : 'Không sử dụng'}}\r\n \r\n   \r\n \r\n   \r\n \r\n   \r\n \r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
0\" class=\"row\">\r\n
\r\n
\r\n Tổng số bản ghi: {{target?.recordsCount}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Không có dữ liệu.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n","import {\r\n ApiResponse,\r\n AppCongAnApiService,\r\n ItemDmcongty,\r\n ItemDmcongtyApiResponse,\r\n ItemDmcongtyIEnumerablePageModelViewApiResponse,\r\n ObjectIEnumerablePageModelViewApiResponse,\r\n PageDmcongty,\r\n SearchModel,\r\n SysunitEntityApiResponse,\r\n} from '../../../@core/data/app-congan.service';\r\nimport { Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { STATUS_ACTION } from '../../../@core/customs/constants';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class DmcongtyService {\r\n statusAction = STATUS_ACTION;\r\n constructor(private api: AppCongAnApiService) { }\r\n\r\n paging(body: PageDmcongty): Observable {\r\n return this.api.appCongAnApiV1DmcongtyPostPagingDmcongty(body);\r\n }\r\n\r\n insert(body: ItemDmcongty): Observable {\r\n return this.api.appCongAnApiV1DmcongtyPostInsertDmcongty(body);\r\n }\r\n\r\n selectOne(key: number): Observable {\r\n return this.api.appCongAnApiV1DmcongtyGetOneDmcongtyCus(key);\r\n }\r\n\r\n update(body: ItemDmcongty): Observable {\r\n return this.api.appCongAnApiV1DmcongtyPostUpdateDmcongty(body);\r\n }\r\n\r\n delete(key: number): Observable {\r\n return this.api.appCongAnApiV1DmcongtyPostDeleteDmcongty(key);\r\n }\r\n\r\n changeStatus(id: number): Observable {\r\n return this.api.appCongAnApiV1DonViChangeStatus(id.toString());\r\n }\r\n\r\n getFolder(): string {\r\n return 'TinhHinhAnNinh';\r\n }\r\n\r\n getType(): number {\r\n return 1111;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { DanhMucDanTocIndexComponent } from './danh-muc-dan-toc/danh-muc-dan-toc-index/danh-muc-dan-toc-index.component';\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n children: [\r\n { path: '', component: DanhMucDanTocIndexComponent },\r\n ]\r\n }\r\n];\r\n","import { Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { STATUS_ACTION } from 'app/@core/customs/constants';\r\nimport {\r\n ApiResponse,\r\n AppCongAnApiService,\r\n ObjectIEnumerableApiResponse,\r\n ObjectIEnumerablePageModelViewApiResponse,\r\n SearchModel\r\n} from 'app/@core/data/app-congan.service';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class DanhMucDanTocService {\r\n statusAction = STATUS_ACTION;\r\n constructor(private api: AppCongAnApiService) { }\r\n\r\n paging(body: SearchModel | undefined): Observable {\r\n return this.api.appCongAnApiV1DmDanTocPaging(body);\r\n }\r\n\r\n selectAll(): Observable {\r\n return this.api.appCongAnApiV1DmDanTocSelectAll();\r\n }\r\n\r\n syncData(): Observable {\r\n return this.api.appCongAnApiV1DmDanTocSyncData();\r\n }\r\n}\r\n","import { CommonService } from 'app/@core/customs/common.service';\r\nimport { SUCCESS_RESPONSE, SUCCESS_NOTICE } from 'app/@core/customs/constants';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { PAGE_SIZE } from 'app/@core/customs/constants';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { SearchModel } from 'app/@core/data/app-congan.service';\r\nimport { DanhMucDanTocService } from '../../danh-muc-dan-toc.service';\r\n\r\n@Component({\r\n selector: 'ngx-danh-muc-dan-toc-index',\r\n templateUrl: './danh-muc-dan-toc-index.component.html',\r\n styleUrls: ['./danh-muc-dan-toc-index.component.scss']\r\n})\r\nexport class DanhMucDanTocIndexComponent implements OnInit {\r\n\r\n constructor(\r\n private service: DanhMucDanTocService,\r\n private commonService: CommonService,\r\n private dialog: MatDialog\r\n ) { }\r\n\r\n totalPage: number;\r\n searchModel: SearchModel = new SearchModel({\r\n trangThai: null,\r\n sapXep: null,\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE,\r\n search: null,\r\n column: null\r\n });\r\n\r\n target: any = {\r\n data: []\r\n };\r\n file: any[] = [];\r\n isLoading: boolean = true;\r\n title: string = 'Danh mục dân tộc';\r\n\r\n ngOnInit(): void {\r\n this.loadData();\r\n }\r\n\r\n loadData() {\r\n this.service.paging(this.searchModel).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.target = result.data;\r\n this.totalPage = result.data.totalPage;\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n this.isLoading = false;\r\n });\r\n }\r\n\r\n syncData() {\r\n this.service.syncData().subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess(SUCCESS_NOTICE);\r\n this.resetPage();\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n\r\n searchPage() {\r\n this.searchModel.search = this.searchModel.search;\r\n this.loadData();\r\n }\r\n\r\n resetPage() {\r\n this.searchModel.search = null;\r\n this.searchPage();\r\n }\r\n}\r\n","\r\n \r\n
\r\n
\r\n

{{title}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n  \r\n  \r\n \r\n  \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
STTMã dân tộcTên dân tộcQĐ Ban hành, QĐ sửa đổiNgày ban hành QĐCơ quan ban hành QĐ
{{(i + 1) + ((searchModel.currentPage - 1) * searchModel.pageSize)}}{{item.madantoc}}{{item.tendantoc}}{{item.qdbanhanhqdsuadoi}}{{item.ngaybanhanhqd}}{{item.coquanbanhanhqd}}
\r\n
\r\n
\r\n
0\" class=\"row\">\r\n
\r\n
\r\n Tổng số bản ghi: {{target?.recordsCount}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Không có dữ liệu.\r\n
\r\n
\r\n
\r\n
\r\n
","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { DmdiabanIndexComponent } from './dmdiaban-index/dmdiaban-index.component';\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n children: [\r\n { path: '', component: DmdiabanIndexComponent },\r\n ]\r\n }\r\n];\r\n","import { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { CommonService } from \"app/@core/customs/common.service\";\r\nimport { STATUS_ACTION, SUCCESS_RESPONSE } from \"app/@core/customs/constants\";\r\nimport { AppCongAnApiService, ItemDmcongty } from \"app/@core/data/app-congan.service\";\r\nimport { fromEvent, observable, Observable} from \"rxjs\";\r\nimport { debounceTime } from \"rxjs/operators\";\r\nimport { CapDiaBan, CapDiaBanEnum, DmDiabanService } from \"../dmdiaban.service\";\r\n\r\n\r\n@Component({\r\n selector: 'ngx-dmdiaban-edit',\r\n templateUrl: './dmdiaban-edit.component.html',\r\n styleUrls: ['./dmdiaban-edit.component.scss']\r\n\r\n})\r\nexport class DmdiabanEditComponent implements OnInit {\r\n constructor(\r\n private commonService: CommonService,\r\n private service: AppCongAnApiService,\r\n @Inject(MAT_DIALOG_DATA) public fromParent: { id: string, title: string, action: number},\r\n private dmDiaBanService: DmDiabanService,\r\n private dialogRef: MatDialogRef\r\n ){\r\n }\r\n\r\n target: any = {};\r\n statusAction = STATUS_ACTION;\r\n lstCapDiaBan = CapDiaBan.filter(c => c.key > 3);\r\n lstDiaBanCha: any[] = [];\r\n trungMa: boolean;\r\n maGoc: string;\r\n\r\n tinh: any = {};\r\n lstTinh: any[] = [];\r\n maTinh: any = {};\r\n\r\n lstHuyen: any[] = [];\r\n huyen: any = {};\r\n maHuyen: any = {};\r\n\r\n\r\n lstXa: any[] = [];\r\n xa: any = {};\r\n maXa: any = {};\r\n\r\n lstTrangThai =\r\n [{ key: false, name: 'Không sử dụng'},\r\n { key: true, name: 'Sử dụng'}];\r\n maCha: string;\r\n\r\n ngOnInit(): void {\r\n this.commonService.getUserInfo().subscribe(res => {\r\n this.service.appCongAnApiV1TaiKhoanSelectOne(res.Id).subscribe(result => {\r\n this.maHuyen = result.data.mahuyen;\r\n this.searchDiaBanCon(this.maHuyen);\r\n this.maXa = result.data.maxa;\r\n });\r\n });\r\n this.maGoc = '';\r\n this.service.appCongAnApiV1DmDiaBanGetByMaDiabanCus('24').subscribe((sub) => {\r\n this.lstTinh = sub.data;\r\n this.maTinh = '24';\r\n });\r\n this.service.appCongAnApiV1DmDiaBanGetByMaChaDiabanCus('24').subscribe((sub) => {\r\n this.lstHuyen = sub.data;\r\n });\r\n if (this.fromParent.id){\r\n this.loadForm();\r\n }\r\n\r\n }\r\n\r\n submit(frm: NgForm){\r\n if (this.fromParent.action === STATUS_ACTION.create) {\r\n switch (this.target.level){\r\n case CapDiaBanEnum.thon :\r\n const tmpXa = this.lstXa.find(f => f.ma === this.maXa);\r\n this.target.makey = tmpXa.makey + '.' + this.target.ma;\r\n this.target.maCha = tmpXa.ma;\r\n break;\r\n case CapDiaBanEnum.xa :\r\n const tmpHuyen = this.lstHuyen.find(f => f.ma === this.maHuyen);\r\n this.target.makey = tmpHuyen.makey + '.' + this.target.ma;\r\n this.target.maCha = tmpHuyen.ma;\r\n break;\r\n case CapDiaBanEnum.huyen :\r\n const tmpTinh = this.lstTinh.find(f => f.ma === this.maTinh);\r\n this.target.makey = tmpTinh.makey + '.' + this.target.ma;\r\n this.target.maCha = tmpTinh.ma;\r\n break;\r\n default : this.target.makey = this.target.ma;\r\n break;\r\n }\r\n }\r\n\r\n if (this.fromParent.action === STATUS_ACTION.create) {\r\n this.dmDiaBanService.insert(this.target).subscribe((sub) => {\r\n if (sub.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Thêm mới thành công!');\r\n this.dialogRef.close(true);\r\n } else {\r\n this.commonService.toastrSuccess(sub.message);\r\n }\r\n });\r\n } else {\r\n this.dmDiaBanService.update(this.target, this.fromParent.id).subscribe((sub) => {\r\n if (sub.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Cập nhật thành công!');\r\n this.dialogRef.close(true);\r\n } else {\r\n this.commonService.toastrSuccess(sub.message);\r\n }\r\n });\r\n }\r\n }\r\n\r\n loadForm(){\r\n this.dmDiaBanService.selectOne(this.fromParent.id).subscribe(async (sub) => {\r\n if (sub.code === SUCCESS_RESPONSE) {\r\n this.target.id = this.fromParent.id;\r\n this.target.ma = sub.data.ma;\r\n this.maGoc = this.target.ma;\r\n this.target.ten = sub.data.ten;\r\n this.target.level = sub.data.level;\r\n this.target.macha = sub.data.maCha;\r\n this.target.islocal = sub.data.islocal;\r\n this.maCha = this.target.macha;\r\n\r\n if (this.target.level > 1) {\r\n for (let i = this.target.level - 1; i >= 1; i--) {\r\n await this.searchDiaBanConAsc(i)\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n loadDiaBanCha(){\r\n if (this.target.level !== 1){\r\n this.service.appCongAnApiV1DmDiaBanGetByLevelDiabanCus(this.target.level - 1).subscribe((sub) => {\r\n if (sub.code === SUCCESS_RESPONSE){\r\n this.lstDiaBanCha = sub.data;\r\n }\r\n });\r\n }\r\n }\r\n\r\n checkExistMa(){\r\n if (this.target.ma && this.target.ma.trim() !== this.maGoc){\r\n this.service.appCongAnApiV1DmDiaBanGetByMaDiabanCus(this.target.ma).subscribe((sub) => {\r\n this.trungMa = true;\r\n if (sub.code === SUCCESS_RESPONSE && sub.data.length > 0) {\r\n this.commonService.toastrDanger('Đã tồn tại mã địa phương.');\r\n } else if (sub.code === SUCCESS_RESPONSE && sub.data.length === 0) {\r\n this.trungMa = false;\r\n }\r\n })\r\n }\r\n }\r\n\r\n searchDiaBanCon(ma: string){\r\n if (ma){\r\n this.service.appCongAnApiV1DmDiaBanGetByLevelAndMaDiabanCus(3, ma, false).subscribe((sub) => {\r\n this.lstXa = sub.data;\r\n });\r\n }\r\n }\r\n\r\n searchDiaBanConAsc = i => new Promise((resolve, reject) => {\r\n this.service.appCongAnApiV1DmDiaBanGetByLevelAndMaDiabanCus(i, this.maCha, true).subscribe(async (sub) => {\r\n if (i === 3 && sub.data){\r\n this.lstXa = sub.data;\r\n this.xa = this.lstXa.find(f => f.ma === this.maCha);\r\n this.maXa = this.xa.ma;\r\n this.maCha = this.xa.maCha;\r\n } else if (i === 2 && sub.data){\r\n this.huyen = this.lstHuyen.find(f => f.ma === this.maCha);\r\n this.maHuyen = this.huyen.ma;\r\n this.maCha = this.huyen.maCha;\r\n if (this.fromParent.action === STATUS_ACTION.edit) {\r\n this.searchDiaBanCon(this.huyen);\r\n }\r\n } else {\r\n return;\r\n }\r\n resolve(true);\r\n });\r\n})\r\n\r\n}\r\n","
\r\n \r\n \r\n
\r\n
\r\n {{fromParent.title}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n Cấp địa bàn hành chính là bắt buộc\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n Thuộc tỉnh là bắt buộc\r\n
\r\n
\r\n
\r\n\r\n
3 ? 'col-sm-3 col-md-3 col-xs-3 col-lg-3' : 'col-sm-6 col-md-6 col-xs-6 col-lg-6'\"\r\n *ngIf=\"target.level && target.level > 2\">\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {{target.level > 3 ? 'Địa bàn hành chính huyện' : 'Địa bàn hành chính cha'}} là bắt buộc\r\n
\r\n
\r\n
\r\n\r\n
3\">\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n Địa bàn hành chính xã là bắt buộc\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n Mã địa bàn hành chính là bắt buộc\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n Trạng thái là bắt buộc\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n  \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { filter } from 'rxjs/operators';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { STATUS_ACTION, SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport {\r\n AppCongAnApiService,\r\n PageDmcongty,\r\n ItemDmcongtyIEnumerablePageModelView,\r\n PageDiaban\r\n} from 'app/@core/data/app-congan.service';\r\nimport { PageModel } from 'app/@core/data/app-qtht.service';\r\nimport { DeleteDialogComponent } from 'app/@theme/components/template/dialog/delete/delete-dialog.component';\r\nimport { DmdiabanEditComponent } from '../dmdiaban-edit/dmdiaban-edit.component';\r\nimport { CapDiaBan } from '../dmdiaban.service';\r\n// import { DmcongtyEditComponent } from '../dmcongty-edit/dmcongty-edit.component';\r\n// import { DmcongtyCreateComponent } from '../dmcongty-create/dmcongty-create.component';\r\n// import { DmcongtyDetailComponent } from '../dmcongty-detail/dmcongty-detail.component.ts';\r\n\r\n@Component({\r\n selector: 'ngx-dmdiaban-index',\r\n templateUrl: './dmdiaban-index.component.html'\r\n})\r\n\r\nexport class DmdiabanIndexComponent implements OnInit {\r\n constructor(\r\n private commonService: CommonService,\r\n private dialog: MatDialog,\r\n private service: AppCongAnApiService) { }\r\n\r\n totalPage: number;\r\n pageModel: PageDiaban = new PageDiaban({\r\n pageSize: 10,\r\n currentPage: 1,\r\n strKey: ''\r\n });\r\n target: any = {};\r\n unitcode: string = '';\r\n ngOnInit(): void {\r\n this.commonService.getUserInfo().subscribe(res => {\r\n this.unitcode = res.UnitCode;\r\n })\r\n this.pageModel.strKey = this.unitcode;\r\n this.loadData();\r\n }\r\n\r\n loadData(): void {\r\n this.pageModel.strKey = this.pageModel.strKey.trim();\r\n this.service.appCongAnApiV1DmDiaBanPostPagingDiabanCus(this.pageModel)\r\n .subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target = res.data;\r\n this.totalPage = res.data.totalPage;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n searchPage() {\r\n if (this.pageModel.strKey == '')\r\n this.pageModel.strKey = this.unitcode;\r\n this.pageModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n resetPage() {\r\n this.pageModel.strKey = null;\r\n this.searchPage();\r\n }\r\n\r\n openCreateDialog() {\r\n this.dialog.open(DmdiabanEditComponent,\r\n this.commonService.configDialog('80%', { title: \"Thêm mới địa bàn\", action: STATUS_ACTION.create })).afterClosed().subscribe(res => {\r\n this.loadData();\r\n });\r\n }\r\n\r\n openDetailDialog(key: number) {\r\n this.dialog.open(DmdiabanEditComponent,\r\n this.commonService.configDialog('80%', { title: \"Chi tiết địa bàn\", id: key, action: STATUS_ACTION.detail })).afterClosed().subscribe(() => {\r\n this.loadData();\r\n });\r\n }\r\n\r\n openEditDialog(key: string, unitcode: string) {\r\n if (key.split('.').includes(this.unitcode)) {\r\n this.dialog.open(DmdiabanEditComponent,\r\n this.commonService.configDialog('80%', { title: \"Cập nhật địa bàn\", id: key, action: STATUS_ACTION.edit })).afterClosed().subscribe(() => {\r\n this.loadData();\r\n });\r\n } else {\r\n this.commonService.toastrWarning('Bạn không có quyền sửa địa bàn này!');\r\n }\r\n }\r\n\r\n deleteData(key: string, title: string) {\r\n if (key.split('.').includes(this.unitcode)) {\r\n this.dialog.open(DeleteDialogComponent,\r\n this.commonService.configDialog('30%', `Xác nhận xóa địa bàn ${title}?`))\r\n .afterClosed().subscribe((dialog) => {\r\n if (dialog) {\r\n this.service.appCongAnApiV1DmDiaBanPostDeleteDiaban(key).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.loadData();\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n });\r\n } else {\r\n this.commonService.toastrWarning('Bạn không có quyền xóa địa bàn này!');\r\n }\r\n }\r\n\r\n getCapDiaBan(level: number) {\r\n const cap = CapDiaBan.find(f => f.key === level);\r\n return cap ? cap.value : '';\r\n }\r\n}\r\n","\r\n \r\n
\r\n
\r\n

Danh mục địa bàn

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n  \r\n \r\n  \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n
TênCấpHành động
{{item.ma}}{{item.ten}}{{getCapDiaBan(item.level)}}\r\n   \r\n \r\n   \r\n \r\n   \r\n \r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
0\" class=\"row\">\r\n
\r\n
\r\n Tổng số bản ghi: {{target?.recordsCount}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Không có dữ liệu.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
","import {\r\n ApiResponse,\r\n AppCongAnApiService,\r\n ItemDiaban,\r\n ItemDiabanApiResponse,\r\n ItemDiabanIEnumerablePageModelViewApiResponse,\r\n ItemDmcongty,\r\n ItemDmcongtyApiResponse,\r\n ItemDmcongtyIEnumerablePageModelViewApiResponse,\r\n ObjectIEnumerablePageModelViewApiResponse,\r\n PageDiaban,\r\n PageDmcongty,\r\n SearchModel,\r\n SysunitEntityApiResponse,\r\n} from '../../../@core/data/app-congan.service';\r\nimport { Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { STATUS_ACTION } from '../../../@core/customs/constants';\r\nimport { PageModel } from 'app/@core/data/app-qtht.service';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class DmDiabanService {\r\n statusAction = STATUS_ACTION;\r\n constructor(private api: AppCongAnApiService) { }\r\n\r\n paging(body: PageDiaban): Observable {\r\n return this.api.appCongAnApiV1DmDiaBanPostPagingDiaban(body);\r\n }\r\n\r\n insert(body: ItemDiaban): Observable {\r\n return this.api.appCongAnApiV1DmDiaBanPostInsertDiaban(body);\r\n }\r\n\r\n selectOne(key: string): Observable {\r\n return this.api.appCongAnApiV1DmDiaBanGetOneDiabanCus(key);\r\n }\r\n\r\n update(body: ItemDiaban, makeycu: string): Observable {\r\n return this.api.appCongAnApiV1DmDiaBanPostUpdateDiabanCus(makeycu, body);\r\n }\r\n\r\n delete(key: string): Observable {\r\n return this.api.appCongAnApiV1DmDiaBanPostDeleteDiaban(key);\r\n }\r\n\r\n getFolder(): string {\r\n return 'TinhHinhAnNinh';\r\n }\r\n\r\n getType(): number {\r\n return 1111;\r\n }\r\n}\r\n\r\nexport const CapDiaBan = [\r\n { key: 2 , value: 'Huyện' },\r\n { key: 3 , value: 'Xã' },\r\n { key: 4 , value: 'Thôn' },\r\n]\r\n\r\nexport const CapDiaBanEnum = {\r\n tinh: 1,\r\n huyen: 2,\r\n xa: 3,\r\n thon: 4\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { DanhMucDonViIndexComponent } from './danh-muc-don-vi/danh-muc-don-vi-index/danh-muc-don-vi-index.component';\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n children: [\r\n { path: '', component: DanhMucDonViIndexComponent },\r\n ]\r\n }\r\n];\r\n","import {\r\n ApiResponse,\r\n AppCongAnApiService,\r\n ObjectIEnumerableApiResponse,\r\n ObjectIEnumerablePageModelViewApiResponse,\r\n SearchModel,\r\n SysunitEntity,\r\n SysunitEntityApiResponse,\r\n TaikhoanEntityApiResponse} from './../../../@core/data/app-congan.service';\r\nimport { Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { STATUS_ACTION } from 'app/@core/customs/constants';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class DanhMucDonViService {\r\n statusAction = STATUS_ACTION;\r\n constructor(private api: AppCongAnApiService) { }\r\n\r\n paging(body: SearchModel | undefined): Observable {\r\n return this.api.appCongAnApiV1DonViPagingDonViCustom(body);\r\n }\r\n\r\n selectOneTK(id: number): Observable {\r\n return this.api.appCongAnApiV1TaiKhoanSelectOne(id);\r\n }\r\n\r\n insert(body: SysunitEntity): Observable {\r\n return this.api.appCongAnApiV1DonViInsert(body);\r\n }\r\n\r\n getAllDiaBan(): Observable {\r\n return this.api.appCongAnApiV1DmDiaBanSelectAll();\r\n }\r\n\r\n selectOne(unitCode: string): Observable {\r\n return this.api.appCongAnApiV1DonViSelectOneWithUnitCode(unitCode);\r\n }\r\n\r\n update(body: SysunitEntity): Observable {\r\n return this.api.appCongAnApiV1DonViUpdate(body);\r\n }\r\n\r\n delete(unitCode: string): Observable {\r\n return this.api.appCongAnApiV1DonViDeleteUnitCus(unitCode);\r\n }\r\n\r\n changeStatus(unitCode: string): Observable {\r\n return this.api.appCongAnApiV1DonViChangeStatus(unitCode);\r\n }\r\n\r\n getFolder(): string {\r\n return 'TinhHinhAnNinh';\r\n }\r\n\r\n getType(): number {\r\n return 1111;\r\n }\r\n}\r\n\r\nexport class ViewModel {\r\n ma: string;\r\n ten: string;\r\n tang: string;\r\n songuoitoida: number;\r\n loaiphong: string;\r\n cachtinhtien: string;\r\n mota: string;\r\n unitcode: string;\r\n}\r\n\r\n","import { CommonService } from 'app/@core/customs/common.service';\r\nimport { SUCCESS_RESPONSE, SUCCESS_NOTICE, STATUS_ACTION } from 'app/@core/customs/constants';\r\nimport { DanhMucDonViService } from './../../danh-muc-don-vi.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { PageModel } from 'app/@core/data/app-dmht.service';\r\nimport { PAGE_SIZE } from 'app/@core/customs/constants';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DanhMucDonViComponent } from '../danh-muc-don-vi/danh-muc-don-vi.component';\r\nimport { SearchModel } from 'app/@core/data/app-congan.service';\r\nimport { SelectedKhachThueComponent } from 'app/modules/app-congan-admin/quan-ly-hop-dong/quan-ly-hop-dong/chon-khach-thue/chon-khach-thue.component';\r\nimport { DeleteDialogComponent } from 'app/@theme/components/template/dialog/delete/delete-dialog.component';\r\n\r\n@Component({\r\n selector: 'ngx-danh-muc-don-vi-index',\r\n templateUrl: './danh-muc-don-vi-index.component.html',\r\n styleUrls: ['./danh-muc-don-vi-index.component.scss']\r\n})\r\nexport class DanhMucDonViIndexComponent implements OnInit {\r\n constructor(private sevice: DanhMucDonViService, private commonService: CommonService, private dialog: MatDialog) {}\r\n\r\n totalPage: number;\r\n searchModel: SearchModel = new SearchModel({\r\n trangThai: null,\r\n sapXep: null,\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE,\r\n search: null,\r\n column: null\r\n });\r\n\r\n initSearchModel() {\r\n this.searchModel.trangThai = 0;\r\n this.searchModel.sapXep = 0;\r\n }\r\n\r\n target: any = {\r\n data: []\r\n };\r\n file: any[] = [];\r\n isLoading: boolean = true;\r\n title: string = 'Danh mục đơn vị';\r\n lstTrangThai = [\r\n { id: 0, name: 'Không sử dụng' },\r\n { id: 1, name: 'Sử dụng' }\r\n ];\r\n\r\n ngOnInit(): void {\r\n this.loadData();\r\n this.initSearchModel();\r\n }\r\n\r\n unitcode: string = '';\r\n loadData() {\r\n this.commonService.getUserInfo().subscribe((res) => {\r\n this.unitcode = res.UnitCode;\r\n });\r\n this.sevice.paging(this.searchModel).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.target = result.data;\r\n this.totalPage = result.data.totalPage;\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n this.isLoading = false;\r\n });\r\n }\r\n\r\n getTrangthai(item) {\r\n const check = item ? 1 : 0;\r\n return this.lstTrangThai.find((c) => c.id === check)?.name ?? null;\r\n }\r\n\r\n changeTrangthai(event) {\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n changeSapxep(event) {\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n searchPage() {\r\n this.searchModel.currentPage = 1;\r\n this.searchModel.search = this.searchModel.search?.trim();\r\n this.loadData();\r\n }\r\n\r\n resetPage() {\r\n this.searchModel.search = null;\r\n this.searchPage();\r\n }\r\n\r\n openCreateDialog() {\r\n const title = `Thêm mới ${this.title.toLowerCase()}`;\r\n this.dialog\r\n .open(DanhMucDonViComponent, this.commonService.configDialog('80%', { id: null, title: title, action: STATUS_ACTION.create }))\r\n .afterClosed()\r\n .subscribe((result) => {\r\n if (result === true) {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n\r\n detailData(id: string) {\r\n const title = `Chi tiết ${this.title.toLowerCase()}`;\r\n this.dialog\r\n .open(\r\n DanhMucDonViComponent,\r\n this.commonService.configDialog('80%', { id: id.toString(), title: title, action: STATUS_ACTION.detail })\r\n )\r\n .afterClosed()\r\n .subscribe(() => {});\r\n }\r\n\r\n editData(id: string, unitcode: string) {\r\n if (unitcode === this.unitcode) {\r\n const title = `Sửa ${this.title.toLowerCase()}`;\r\n this.dialog\r\n .open(\r\n DanhMucDonViComponent,\r\n this.commonService.configDialog('80%', { id: id.toString(), title: title, action: STATUS_ACTION.edit })\r\n )\r\n .afterClosed()\r\n .subscribe((result) => {\r\n if (result === true) {\r\n this.loadData();\r\n }\r\n });\r\n } else {\r\n this.commonService.toastrWarning('Bạn không có quyền thực hiện thao tác này!');\r\n }\r\n }\r\n\r\n deleteData(id: string, unitcode: string) {\r\n if (unitcode === this.unitcode) {\r\n this.dialog\r\n .open(DeleteDialogComponent, this.commonService.configDialog('30%', 'Xác nhận xóa dữ liệu.'))\r\n .afterClosed()\r\n .subscribe((data) => {\r\n if (data) {\r\n this.sevice.delete(id).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.loadData();\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n });\r\n } else {\r\n this.commonService.toastrWarning('Bạn không có quyền thực hiện thao tác này!');\r\n }\r\n }\r\n\r\n changeStatus(unitCode: string) {\r\n this.sevice.changeStatus(unitCode).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.loadData();\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n\r\n // shareData(id: number) {\r\n // const title = `Chia sẻ ${this.title.toLowerCase()}`;\r\n // this.dialog.open(QLNhaTroShareComponent, this.commonService.configDialog('30%',\r\n // { id: id, title: title }))\r\n // .afterClosed().subscribe(res => {\r\n // if (res) this.loadData();\r\n // });\r\n // }\r\n\r\n // recoverData(id: number) {\r\n // const title = `Thu hồi ${this.title.toLowerCase()}`;\r\n // this.dialog.open(QLNhaTroRecoverComponent, this.commonService.configDialog('30%',\r\n // { id: id, title: title }))\r\n // .afterClosed().subscribe(res => {\r\n // if (res) this.loadData();\r\n // });\r\n // }\r\n\r\n checkAll: boolean = false;\r\n eventChecked = (item) => {\r\n if (!item && this.target.data.length > 0) {\r\n this.target.data.forEach((c) => {\r\n c.checked = this.checkAll;\r\n });\r\n } else {\r\n this.checkAll = this.target.data.filter((c) => !c.checked).length === 0;\r\n }\r\n };\r\n\r\n deleteChecked = () => {\r\n const lstDelete = this.target.data?.filter((c) => c.checked === true);\r\n };\r\n\r\n openFormKhach = () => {\r\n this.dialog\r\n .open(SelectedKhachThueComponent, this.commonService.configDialog('50%', { testData: 'data' }))\r\n .afterClosed()\r\n .subscribe((result) => {\r\n if (result === true) {\r\n }\r\n });\r\n };\r\n}\r\n","\r\n \r\n
\r\n
\r\n

{{title}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n  \r\n \r\n  \r\n \r\n  \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
STTMã đơn vịTên đơn vịĐịa bànTrạng tháiHành động
{{(i + 1) + ((searchModel.currentPage - 1) * searchModel.pageSize)}}{{item.maDonVi}}{{item.tenDonVi}}{{item.diaBan}}\r\n \r\n {{getTrangthai(item.trangthai)}}\r\n  \r\n \r\n \r\n   \r\n \r\n   \r\n \r\n   \r\n \r\n
\r\n
\r\n
\r\n
0\" class=\"row\">\r\n
\r\n
\r\n Tổng số bản ghi: {{target?.recordsCount}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Không có dữ liệu.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { DUPLICATE_RESPONE, STATUS_ACTION } from './../../../../../@core/customs/constants';\r\nimport { NgForm } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { SysunitEntity } from './../../../../../@core/data/app-congan.service';\r\nimport { CommonService } from './../../../../../@core/customs/common.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { DanhMucDonViService } from '../../danh-muc-don-vi.service';\r\nimport { DanhMucNguoiDungService } from 'app/modules/app-congan-admin/danh-muc-nguoi-dung/danh-muc-nguoi-dung.service';\r\n\r\n\r\n@Component({\r\n selector: 'ngx-danh-muc-don-vi',\r\n templateUrl: './danh-muc-don-vi.component.html',\r\n styleUrls: ['./danh-muc-don-vi.component.scss']\r\n})\r\nexport class DanhMucDonViComponent implements OnInit {\r\n\r\n constructor(\r\n private commonService: CommonService,\r\n public service: DanhMucDonViService,\r\n private serviceNguoiDung: DanhMucNguoiDungService,\r\n @Inject(MAT_DIALOG_DATA) public fromParent: { id: string, title: string, action: number },\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n\r\n target: SysunitEntity = new SysunitEntity();\r\n\r\n trangThaiCheck: boolean = true;\r\n\r\n lstTinh: any[] = [];\r\n lstHuyen: any[] = [];\r\n lstXa: any[] = [];\r\n\r\n lstXaFiltered: any[] = [];\r\n\r\n STATUS_ACTION = STATUS_ACTION;\r\n\r\n lstDonVi: any[] = [];\r\n\r\n showInput = {\r\n tinh: true,\r\n huyen: false,\r\n xa: false\r\n };\r\n\r\n checkShowInput(ma) {\r\n if (ma) {\r\n const item = this.lstDonVi.find(c => c.unitCode === ma);\r\n if (item.capDonVi === '1') {\r\n this.showInput = {\r\n tinh: true,\r\n huyen: true,\r\n xa: false\r\n };\r\n this.target.maTinh = null;\r\n this.target.maHuyen = null;\r\n this.target.maTinh = item.idTinh;\r\n } else {\r\n this.showInput = {\r\n tinh: true,\r\n huyen: true,\r\n xa: true\r\n };\r\n this.target.maTinh = item.idTinh;\r\n this.target.maHuyen = item.idHuyen;\r\n this.target.maXa = null;\r\n\r\n if (this.target.maHuyen){\r\n this.lstXaFiltered = this.lstXa.filter(x => x.maCha == this.target.maHuyen);\r\n } else {\r\n this.lstXaFiltered = this.lstXa;\r\n }\r\n }\r\n } else {\r\n this.showInput = {\r\n tinh: true,\r\n huyen: false,\r\n xa: false\r\n };\r\n this.target.maHuyen = null;\r\n this.target.maXa = null;\r\n }\r\n }\r\n\r\n getDataInsert(): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getDataInsert();\r\n this.commonService.getUserInfo().subscribe(res => {\r\n // this.target.unitcode = res.UnitCode;\r\n this.service.selectOneTK(res.Id).subscribe(result => {\r\n this.target.macha = result.data.mahuyen;\r\n this.target.maHuyen = result.data.mahuyen;\r\n this.target.maXa = result.data.maxa;\r\n });\r\n });\r\n this.serviceNguoiDung.getViewCreate()\r\n .subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.getDataDiaBan(res.data.lstDiaBan);\r\n this.lstDonVi = res.data.lstDonVi.filter(c => c.capDonVi === '1' || c.capDonVi === '2');\r\n if (this.fromParent && this.fromParent.id !== null) {\r\n this.service.selectOne(this.fromParent.id).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.target = result.data;\r\n this.trangThaiCheck = this.target.trangthai === 1;\r\n this.target.isNew = false;\r\n this.target.fields = undefined;\r\n // this.checkShowInput(this.target.macha);\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n getDataDiaBan(lst) {\r\n if (lst.length > 0) {\r\n this.lstTinh = lst.filter(c => c.level === 1);\r\n this.lstHuyen = lst.filter(c => c.level === 2);\r\n this.lstXa = lst.filter(c => c.level === 3);\r\n this.lstXaFiltered = this.lstXa;\r\n if (this.lstTinh.length > 0) {\r\n this.target.maTinh = this.lstTinh[0].ma;\r\n }\r\n }\r\n }\r\n\r\n create(frm: NgForm) {\r\n if (this.fromParent.action === STATUS_ACTION.create) {\r\n this.target.trangthai = this.trangThaiCheck ? 1 : 0;\r\n this.target.ngaybanhanhqd = new Date();\r\n this.target.dinhdanhapp = 'APPCONGAN';\r\n this.target.capdonvi = (this.target.macha === null || this.target.macha === undefined) ? '1' :\r\n (Number(this.lstDonVi.find(c => c.unitCode === this.target.macha).capDonVi) + 1).toString();\r\n this.target.type = 1;\r\n this.service.insert(this.target).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close(true);\r\n } else if (result.code === DUPLICATE_RESPONE) {\r\n this.commonService.toastrWarning(\r\n 'Mã đơn vị đã tồn tại trên hệ thống !'\r\n );\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n } else {\r\n this.target.trangthai = this.trangThaiCheck ? 1 : 0;\r\n this.target.isNew = false;\r\n this.target.fields = undefined;\r\n this.service.update(this.target).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close(true);\r\n } else {\r\n this.commonService.toastrDanger('Sửa thất bại.');\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n
\r\n {{fromParent.title}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n Mã đơn vị là bắt buộc\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n Tên đơn vị là bắt buộc\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n Tỉnh là bắt buộc\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n Huyện là bắt buộc\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n Xã là bắt buộc\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n  \r\n Sử dụng\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n  \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { DanhMucNguoiDungIndexComponent } from './danh-muc-nguoi-dung/danh-muc-nguoi-dung-index/danh-muc-nguoi-dung-index.component';\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n children: [\r\n { path: '', component: DanhMucNguoiDungIndexComponent },\r\n ]\r\n }\r\n];\r\n","import {\r\n ApiResponse,\r\n AppCongAnApiService,\r\n GetViewInsertUpdateTaiKhoanModelApiResponse,\r\n ItemDiabanListApiResponse,\r\n ObjectIEnumerableApiResponse,\r\n ObjectIEnumerablePageModelViewApiResponse,\r\n PageModel,\r\n RegisterAccountPostModel,\r\n SearchTaiKhoanModel,\r\n TaikhoanEntityApiResponse,\r\n} from './../../../@core/data/app-congan.service';\r\nimport { Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { STATUS_ACTION } from 'app/@core/customs/constants';\r\nimport {\r\n AppQthtApiService,\r\n ResetPasswordModel,\r\n UnitSelectModelIEnumerableApiResponse\r\n} from 'app/@core/data/app-qtht.service';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class DanhMucNguoiDungService {\r\n statusAction = STATUS_ACTION;\r\n constructor(private api: AppCongAnApiService,\r\n private apiQtht: AppQthtApiService) { }\r\n\r\n paging(body: SearchTaiKhoanModel | undefined, capDonvi: string, unitcode: string): Observable {\r\n return this.api.appCongAnApiV1TaiKhoanPagingCus(capDonvi, unitcode, body);\r\n }\r\n\r\n selectOne(key: number): Observable {\r\n return this.api.appCongAnApiV1TaiKhoanSelectOne(key);\r\n }\r\n\r\n getViewCreate(recordId: number = 0): Observable {\r\n return this.api.appCongAnApiV1TaiKhoanGetModelInsertUpdate(recordId);\r\n }\r\n\r\n getDiabanByMaCha(_MaCha: string): Observable {\r\n return this.api.appCongAnApiV1DmDiaBanGetByMaChaDiabanCus(_MaCha);\r\n }\r\n\r\n getUnitCurrentInApp(): Observable {\r\n return this.apiQtht.appQthtApiV1SysUnitGetSysUnitListByDinhDanhApp('APPCONGAN');\r\n }\r\n\r\n insert(body: RegisterAccountPostModel | undefined): Observable {\r\n return this.api.appCongAnApiV1TaiKhoanRegister(body);\r\n }\r\n\r\n changeStatus(id: number): Observable {\r\n return this.api.appCongAnApiV1TaiKhoanChangeStatus(id);\r\n }\r\n\r\n delete(id: number): Observable {\r\n return this.api.appCongAnApiV1TaiKhoanDelete(id);\r\n }\r\n\r\n selectDmDiaBanAll(): Observable {\r\n return this.api.appCongAnApiV1DmDiaBanSelectAll();\r\n }\r\n\r\n getFolder(): string {\r\n return 'NguoiDung';\r\n }\r\n\r\n getType(): number {\r\n return 1;\r\n }\r\n\r\n ResetPassword(body: ResetPasswordModel): Observable {\r\n return this.apiQtht.appQthtApiV1SysUserResetPassword(body);\r\n }\r\n\r\n deleteAccount(userId: number): Observable {\r\n return this.api.appCongAnApiV1TaiKhoanDeleteAccount(userId);\r\n }\r\n}\r\n\r\nexport class ViewModel {\r\n ma: string;\r\n ten: string;\r\n tang: string;\r\n songuoitoida: number;\r\n loaiphong: string;\r\n cachtinhtien: string;\r\n mota: string;\r\n unitcode: string;\r\n}\r\n\r\n","import { CommonService } from 'app/@core/customs/common.service';\r\nimport { SUCCESS_RESPONSE, STATUS_ACTION } from 'app/@core/customs/constants';\r\nimport { DanhMucNguoiDungService } from './../../danh-muc-nguoi-dung.service';\r\nimport { ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { PAGE_SIZE } from 'app/@core/customs/constants';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DanhMucNguoiDungComponent } from '../danh-muc-nguoi-dung/danh-muc-nguoi-dung.component';\r\nimport { SelectedKhachThueComponent } from 'app/modules/app-congan-admin/quan-ly-hop-dong/quan-ly-hop-dong/chon-khach-thue/chon-khach-thue.component';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from 'app/@core/auth.service';\r\nimport { AuthRole } from 'app/@core/customs/AuthRole';\r\nimport { DeleteDialogComponent } from 'app/@theme/components/template/dialog/delete/delete-dialog.component';\r\nimport { LayLaiMatKhauDsTkComponent } from '../lay-lai-mat-khau-ds-tk/lay-lai-mat-khau-ds-tk.component';\r\nimport { NbTabComponent } from '@nebular/theme';\r\nimport { SearchTaiKhoanModel } from 'app/@core/data/app-congan.service';\r\nimport { Workbook } from 'exceljs';\r\nimport * as fs from 'file-saver';\r\nimport { CryptService } from 'app/@core/crypt.service';\r\nimport { ImportComponent } from '../import/import.component';\r\n\r\n@Component({\r\n selector: 'ngx-danh-muc-nguoi-dung-index',\r\n templateUrl: './danh-muc-nguoi-dung-index.component.html',\r\n styleUrls: ['./danh-muc-nguoi-dung-index.component.scss']\r\n})\r\nexport class DanhMucNguoiDungIndexComponent extends AuthRole implements OnInit {\r\n constructor(\r\n private service: DanhMucNguoiDungService,\r\n private commonService: CommonService,\r\n private dialog: MatDialog,\r\n private router: Router,\r\n private authService: AuthService,\r\n private cdr: ChangeDetectorRef,\r\n private crypt: CryptService\r\n ) {\r\n super(commonService);\r\n }\r\n\r\n totalPage: number;\r\n searchModel: SearchTaiKhoanModel = new SearchTaiKhoanModel({\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE,\r\n search: null,\r\n condition: '0',\r\n huyen: null,\r\n xa: null,\r\n thon: null,\r\n status: null,\r\n columnName: null\r\n });\r\n\r\n initSearchModel() { }\r\n\r\n target: any = {\r\n data: []\r\n };\r\n file: any[] = [];\r\n isLoading: boolean = true;\r\n isShowTab: boolean = false;\r\n\r\n lstTrangThai = [\r\n { id: 0, name: 'Chưa kích hoạt' },\r\n { id: 1, name: 'Đã kích hoạt' }\r\n ];\r\n\r\n title: string = 'Danh sách tài khoản';\r\n\r\n tabSelectIndex = 0;\r\n\r\n lstUnit: any[] = [];\r\n STATUS_ACTION = STATUS_ACTION;\r\n\r\n capDonvi: number;\r\n unitcode: string = '';\r\n ngOnInit(): void {\r\n this.commonService.getUserInfo().subscribe((result) => {\r\n if (result.CapDonVi === 1 || result.CapDonVi === 2) {\r\n this.isShowTab = true;\r\n }\r\n\r\n this.capDonvi = result.CapDonVi;\r\n this.unitcode = result.UnitCode;\r\n\r\n this.tabSelectIndex = this.isShowTab ? 1 : 0;\r\n this.searchModel.condition = this.isShowTab ? '1' : '0';\r\n this.loadData();\r\n });\r\n this.getDataInsert();\r\n this.service.selectDmDiaBanAll().subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstDiaban = res.data;\r\n }\r\n });\r\n this.initSearchModel();\r\n }\r\n\r\n loadData() {\r\n this.service.paging(this.searchModel, this.capDonvi.toString(), this.unitcode).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.target = result.data;\r\n this.totalPage = result.data.totalPage;\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n this.isLoading = false;\r\n });\r\n }\r\n\r\n exportExcel() {\r\n const workbook = new Workbook();\r\n const worksheet = workbook.addWorksheet('Dữ liệu');\r\n\r\n const title: string = 'DANH SÁCH TÀI KHOẢN';\r\n\r\n const subTitle: string = '';\r\n\r\n worksheet.columns = [\r\n { header: [title, subTitle, 'STT'], key: 'stt', width: 25 },\r\n { header: [title, subTitle, 'Họ và tên'], key: 'ten', width: 50 },\r\n { header: [title, subTitle, 'Mã đơn vị'], key: 'ma', width: 35 },\r\n { header: [title, subTitle, 'Tên đơn vị'], key: 'tendv', width: 35 },\r\n { header: [title, subTitle, 'Địa chỉ'], key: 'diachi', width: 50 },\r\n { header: [title, subTitle, 'SĐT (Tên đăng nhập)'], key: 'sdt', width: 35 },\r\n { header: [title, subTitle, 'Trạng thái'], key: 'trangthai', width: 30 }\r\n ];\r\n\r\n const searchAllModel = Object.assign({}, this.searchModel);\r\n searchAllModel.pageSize = 0;\r\n this.service.paging(searchAllModel, this.capDonvi.toString(), this.unitcode).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n res.data.data?.forEach((e, index) => {\r\n let x = e.sdt;\r\n try {\r\n this.crypt.decryptUsingAES256(x);\r\n } catch (error) {\r\n\r\n }\r\n worksheet.addRow(\r\n {\r\n stt: index + 1,\r\n ten: e.hoVaTen,\r\n ma: e.maDonVi,\r\n tendv: this.getUnitName(e.maDonVi),\r\n diachi: e.diaChi,\r\n sdt: x,\r\n trangthai: this.getTrangthai(e.trangThai)\r\n },\r\n 'n'\r\n );\r\n });\r\n this.commonService.setStyleExport(worksheet, 1, 7, 3, 3, [6]);\r\n\r\n workbook.xlsx.writeBuffer().then((data) => {\r\n const blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n fs.saveAs(blob, title + '.xlsx');\r\n });\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n getUnitName(unitCode: string) {\r\n if (unitCode) {\r\n const index = this.lstUnit.findIndex((c) => c.unitCode === unitCode);\r\n if (index !== -1) {\r\n return this.lstUnit[index].unitName;\r\n }\r\n }\r\n }\r\n\r\n changeTrangthai(event) {\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n changeSapxep(event) {\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n getTrangthai(item) {\r\n const check = item ? 1 : 0;\r\n return this.lstTrangThai.find((c) => c.id === check)?.name ?? null;\r\n }\r\n\r\n import() {\r\n this.dialog.open(ImportComponent, this.commonService.configDialog('60%', {})).afterClosed().subscribe();\r\n }\r\n\r\n searchPage() {\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n resetPage() {\r\n this.searchModel.search = null;\r\n this.searchPage();\r\n }\r\n\r\n tabChanged(event: NbTabComponent) {\r\n this.tabSelectIndex = Number(event.tabId);\r\n this.searchModel.condition = event.tabId;\r\n this.resetPage();\r\n }\r\n\r\n openCreateDialog() {\r\n const title = `Thêm mới tài khoản ${this.tabSelectIndex === 0 ? '(Chủ nhà trọ)' : '(Cán bộ công an)'}`;\r\n this.dialog\r\n .open(\r\n DanhMucNguoiDungComponent,\r\n this.commonService.configDialog('60%', { id: null, title: title, action: STATUS_ACTION.create, tab: this.tabSelectIndex })\r\n )\r\n .afterClosed()\r\n .subscribe((result) => {\r\n if (result === true) {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n\r\n lstHuyen: any[] = [];\r\n lstXa: any[] = [];\r\n lstDiaBan: any[] = [];\r\n lstThon: any[] = [];\r\n lstTrangthai: {\r\n text: string;\r\n value: number;\r\n }[] = [\r\n {\r\n text: 'Đã kích hoạt',\r\n value: 0\r\n },\r\n {\r\n text: 'Chưa kích hoạt',\r\n value: 0\r\n }\r\n ];\r\n\r\n getDataInsert(): void {\r\n this.service.getViewCreate(0).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstDiaBan = res.data.lstDiaBan;\r\n if (this.lstUnit.length === 0 && this.tabSelectIndex === 1) {\r\n this.lstUnit = res.data.lstDonVi;\r\n }\r\n this.getDataDiaBan(this.lstDiaBan);\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n getDataDiaBan(lst) {\r\n if (lst.length > 0) {\r\n this.searchModel.columnName = lst.find((c) => c.ma === this.unitcode)?.ma ?? null;\r\n this.lstHuyen = lst.filter((c) => c.level === 2);\r\n this.searchModel.huyen = this.lstHuyen.find((c) => c.ma === this.unitcode)?.ma ?? null;\r\n this.lstXa = lst.filter((c) => c.level === 3);\r\n this.searchModel.xa = this.lstXa.find((c) => c.ma === this.unitcode)?.ma ?? null;\r\n if (this.searchModel.xa) {\r\n this.searchModel.huyen = this.lstXa.find((c) => c.ma === this.unitcode)?.maCha;\r\n this.lstThon = lst.filter((c) => c.level === 4 && c.maCha === this.searchModel.xa);\r\n }\r\n }\r\n }\r\n\r\n getDiaBanXaByParentCode() {\r\n this.lstXa = this.lstDiaBan.filter((c) => c.maCha === this.searchModel.huyen);\r\n this.searchModel.xa = null;\r\n }\r\n\r\n getDiaBanThonByParentCode() {\r\n this.lstThon = this.lstDiaBan.filter((c) => c.maCha === this.searchModel.xa);\r\n this.searchModel.thon = null;\r\n }\r\n\r\n detailData(item: any) {\r\n const title = `Chi tiết tài khoản ${this.tabSelectIndex === 0 ? '(Chủ nhà trọ)' : '(Cán bộ công an)'}`;\r\n this.dialog\r\n .open(\r\n DanhMucNguoiDungComponent,\r\n this.commonService.configDialog('60%', {\r\n id: item.id,\r\n title: title,\r\n action: STATUS_ACTION.detail,\r\n tab: this.tabSelectIndex,\r\n sdt: item.sdt\r\n })\r\n )\r\n .afterClosed()\r\n .subscribe(() => { });\r\n }\r\n\r\n editData(item: any) {\r\n const title = `Sửa tài khoản ${this.tabSelectIndex === 0 ? '(Chủ nhà trọ)' : '(Cán bộ công an)'}`;\r\n this.dialog\r\n .open(\r\n DanhMucNguoiDungComponent,\r\n this.commonService.configDialog('60%', {\r\n id: item.id,\r\n title: title,\r\n action: STATUS_ACTION.edit,\r\n tab: this.tabSelectIndex,\r\n sdt: item.sdt\r\n })\r\n )\r\n .afterClosed()\r\n .subscribe((result) => {\r\n if (result === true) {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n\r\n getPassword(sdt: string) {\r\n this.dialog\r\n .open(LayLaiMatKhauDsTkComponent, this.commonService.configDialog('25%', { sdt: sdt }))\r\n .afterClosed()\r\n .subscribe(() => { });\r\n }\r\n\r\n deleteData(id: number, name: string) {\r\n this.dialog\r\n .open(DeleteDialogComponent, this.commonService.configDialog('30%', `Bạn có muốn xóa tài khoản ${name}?`))\r\n .afterClosed()\r\n .subscribe((data) => {\r\n if (data) {\r\n this.service.deleteAccount(id).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.loadData();\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n changeStatus(id: number) {\r\n this.service.changeStatus(id).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n\r\n checkAll: boolean = false;\r\n eventChecked = (item) => {\r\n if (!item && this.target.data.length > 0) {\r\n this.target.data.forEach((c) => {\r\n c.checked = this.checkAll;\r\n });\r\n } else {\r\n this.checkAll = this.target.data.filter((c) => !c.checked).length === 0;\r\n }\r\n };\r\n\r\n deleteChecked = () => {\r\n const lstDelete = this.target.data?.filter((c) => c.checked === true);\r\n };\r\n\r\n openFormKhach = () => {\r\n this.dialog\r\n .open(SelectedKhachThueComponent, this.commonService.configDialog('50%', { testData: 'data' }))\r\n .afterClosed()\r\n .subscribe((result) => {\r\n if (result === true) {\r\n }\r\n });\r\n };\r\n\r\n lstDiaban: any[] = [];\r\n getNameAddress = (item) => {\r\n const tinh = this.lstDiaban.find((c) => c.ma === item.matinh)?.ten;\r\n const huyen = this.lstDiaban.find((c) => c.ma === item.mahuyen)?.ten;\r\n const xa = this.lstDiaban.find((c) => c.ma === item.maxa)?.ten;\r\n const thon = this.lstDiaban.find((c) => c.ma === item.mathon)?.ten;\r\n return `${tinh ?? ''}, ${huyen ?? ''}, ${xa ?? ''}, ${thon ?? ''}`;\r\n };\r\n}\r\n","\r\n \r\n
\r\n
\r\n {{ title }}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n  \r\n \r\n  \r\n \r\n \r\n  \r\n  \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n = 2\" bindValue=\"ma\"\r\n (change)=\"getDiaBanXaByParentCode()\" [(ngModel)]=\"searchModel.huyen\">\r\n
\r\n
\r\n
\r\n
\r\n \r\n = 3\"\r\n (change)=\"getDiaBanThonByParentCode()\" [(ngModel)]=\"searchModel.xa\">\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
STTHọ và tênĐịa chỉSĐT
(Tên đăng nhập)
Trạng tháiHành động
{{ i + 1 + (searchModel.currentPage - 1) * searchModel.pageSize }}{{ item.hoVaTen }}{{ item.diaChi }}{{ item.sdt }}\r\n {{\r\n getTrangthai(item.trangThai)\r\n }}\r\n \r\n   \r\n \r\n \r\n   \r\n \r\n \r\n \r\n   \r\n \r\n \r\n \r\n \r\n \r\n
Không có dữ liệu.
\r\n
\r\n
\r\n
0\" class=\"row\">\r\n
\r\n
Tổng số bản ghi: {{ target?.recordsCount }}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n  \r\n \r\n  \r\n  \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n = 1\"\r\n (change)=\"getDiaBanXaByParentCode()\" [(ngModel)]=\"searchModel.columnName\">\r\n
\r\n
\r\n
\r\n
\r\n \r\n = 2\"\r\n (change)=\"getDiaBanXaByParentCode()\" [(ngModel)]=\"searchModel.huyen\">\r\n
\r\n
\r\n
\r\n
\r\n \r\n = 2\"\r\n (change)=\"getDiaBanThonByParentCode()\" [(ngModel)]=\"searchModel.xa\">\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
STTHọ và tênMã đơn vịTên đơn vịĐịa chỉSĐT
(Tên đăng nhập)
Trạng tháiHành động
{{ i + 1 + (searchModel.currentPage - 1) * searchModel.pageSize }}{{ item.hoVaTen }}{{ item.maDonVi }}{{ getUnitName(item.maDonVi) }}{{ item.diaChi }}{{ item.sdt }}\r\n {{\r\n getTrangthai(item.trangThai)\r\n }}\r\n \r\n   \r\n \r\n   \r\n   \r\n \r\n \r\n \r\n \r\n
Không có dữ liệu.
\r\n
\r\n
\r\n
0\" class=\"row\">\r\n
\r\n
Tổng số bản ghi: {{ target?.recordsCount }}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { provinceCode, STATUS_ACTION, TITLE_NOTICE } from './../../../../../@core/customs/constants';\r\nimport { NgForm } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport {\r\n RegisterAccountPostModel,\r\n TaikhoanEntity,\r\n FileInsertModel,\r\n FileViewModel,\r\n DBTaiKhoanModel,\r\n DonViTaiKhoanModel\r\n} from './../../../../../@core/data/app-congan.service';\r\nimport { CommonService, ConvertDatePipe } from './../../../../../@core/customs/common.service';\r\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DoCheck, ElementRef, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { DanhMucNguoiDungService } from '../../danh-muc-nguoi-dung.service';\r\nimport { TypeFileRegister } from '../../type-file';\r\nimport { Html5Qrcode } from 'html5-qrcode';\r\nimport { AppQthtApiService, FileParameter } from 'app/@core/data/app-qtht.service';\r\nimport { Thickness } from '@syncfusion/ej2-angular-charts';\r\n\r\n@Component({\r\n selector: 'ngx-danh-muc-nguoi-dung',\r\n templateUrl: './danh-muc-nguoi-dung.component.html',\r\n styleUrls: ['./danh-muc-nguoi-dung.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DanhMucNguoiDungComponent implements OnInit, DoCheck {\r\n constructor(\r\n private commonService: CommonService,\r\n public service: DanhMucNguoiDungService,\r\n private qthtService: AppQthtApiService,\r\n @Inject(MAT_DIALOG_DATA) public fromParent: { id: number; title: string; action: number; tab: number; sdt: string },\r\n private dialogRef: MatDialogRef,\r\n private cdr: ChangeDetectorRef\r\n ) { }\r\n\r\n ngDoCheck(): void {\r\n return this.cdr.markForCheck();\r\n }\r\n\r\n type = 0;\r\n folder: string;\r\n types: number;\r\n listFileTemp: any[] = [];\r\n\r\n target: RegisterAccountPostModel = new RegisterAccountPostModel({\r\n entity: new TaikhoanEntity({ isNew: true, fields: null }),\r\n lstFile: [],\r\n lstIdFileDelete: []\r\n });\r\n\r\n lstDiaBan: any[] = [];\r\n lstDonVi: any[] = [];\r\n lstGroup: any[] = [];\r\n lstTinh: any[] = [];\r\n lstHuyen: any[] = [];\r\n lstXa: any[] = [];\r\n lstThon: any[] = [];\r\n\r\n lstSex = [\r\n { id: 1, name: 'Nam' },\r\n { id: 0, name: 'Nữ' }\r\n ];\r\n lstLoaiHinh = [\r\n { id: 0, name: 'Nhà trọ' },\r\n { id: 1, name: 'Nhà nghỉ/khách sạn' }\r\n ];\r\n STATUS_ACTION = STATUS_ACTION;\r\n passwordAgain: string = null;\r\n\r\n listFileAnhChanDung: any[] = [];\r\n listFileCmndTruoc: any[] = [];\r\n listFileCmndSau: any[] = [];\r\n listFileAnhChanDungDisplay: {\r\n file: FileParameter;\r\n image: any;\r\n fileId?: number;\r\n }[] = [];\r\n listFileCmndTruocDisplay: {\r\n file: FileParameter;\r\n image: any;\r\n fileId?: number;\r\n }[] = [];\r\n listFileCmndSauDisplay: {\r\n file: FileParameter;\r\n image: any;\r\n fileId?: number;\r\n }[] = [];\r\n\r\n lstUnit: DonViTaiKhoanModel[] = [];\r\n lstFile: FileViewModel[] = [];\r\n lstFileLink: any[] = [];\r\n level: number = 0;\r\n convertDate: ConvertDatePipe = new ConvertDatePipe();\r\n ngaySinh: string;\r\n\r\n unitItem: { id: string; text: string } = {\r\n id: null,\r\n text: null\r\n };\r\n\r\n lstDoviDefault: any[] = [];\r\n\r\n getDataInsert(): void {\r\n this.service.getViewCreate(this.fromParent.id ?? 0).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstDiaBan = res.data.lstDiaBan;\r\n this.lstFile = res.data.lstFile;\r\n this.lstFileLink = res.data.lstFile.filter((c) => c.type === TypeFileRegister.NhaTro);\r\n this.lstFile\r\n .filter((c) => c.type === TypeFileRegister.ChanDung)\r\n .forEach((element) => {\r\n this.getFileDisplay(this.listFileAnhChanDungDisplay, element.id);\r\n });\r\n this.lstFile\r\n .filter((c) => c.type === TypeFileRegister.CmndSau)\r\n .forEach((element) => {\r\n this.getFileDisplay(this.listFileCmndSauDisplay, element.id);\r\n });\r\n this.lstFile\r\n .filter((c) => c.type === TypeFileRegister.CmndTruoc)\r\n .forEach((element) => {\r\n this.getFileDisplay(this.listFileCmndTruocDisplay, element.id);\r\n });\r\n this.lstUnit = res.data.lstDonVi;\r\n this.lstDoviDefault = res.data.lstDonVi;\r\n this.lstDonVi = res.data.lstDonVi\r\n .filter((c) => c.maCha === this.target.entity.matinh || c.unitCode == this.target.entity.matinh)\r\n .map((c) => {\r\n return {\r\n text: c.unitName,\r\n id: c.unitCode,\r\n items: res.data.lstDonVi\r\n .filter((e) => e.maCha === c.unitCode)\r\n .map((e) => {\r\n return {\r\n text: e.unitName,\r\n id: e.unitCode\r\n };\r\n })\r\n };\r\n });\r\n this.lstGroup = res.data.lstPhanQuyen;\r\n if (this.lstGroup && this.lstGroup.length > 0 && this.fromParent.action === STATUS_ACTION.create && this.fromParent.tab === 1) {\r\n this.target.groupId = this.lstGroup[0].id;\r\n }\r\n // Lấy địa bàn của user\r\n // this.target.entity.matinh = res.data.diaban?.matinh;\r\n this.getDataDiaBan(this.lstDiaBan);\r\n if (this.fromParent.action === STATUS_ACTION.create) {\r\n this.target.entity.mahuyen = res.data.diaban?.mahuyen;\r\n this.target.entity.maxa = res.data.diaban?.maxa;\r\n this.target.entity.mathon = res.data.diaban?.mathon;\r\n this.checkLevel(res.data.diaban);\r\n this.getDiaBanHuyenByParentCode(this.target.entity.matinh);\r\n if (this.target.entity.mahuyen) {\r\n this.getDiaBanXaByParentCode(res.data.diaban?.mahuyen);\r\n }\r\n if (res.data.diaban?.maxa) {\r\n this.getDiaBanThonByParentCode(this.target.entity.maxa);\r\n }\r\n }\r\n\r\n if (this.fromParent.sdt) {\r\n this.qthtService.appQthtApiV1SysUserSelectUserGroup(this.fromParent.sdt).subscribe((res1) => {\r\n if (res1.code === SUCCESS_RESPONSE) {\r\n this.target.groupId = res1.data;\r\n }\r\n });\r\n }\r\n this.loadData();\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n changeTinh() {\r\n if (this.target.entity.matinh) {\r\n this.lstDonVi = this.lstDoviDefault\r\n .filter((c) => c.unitCode == this.target.entity.matinh)\r\n .map((c) => {\r\n return {\r\n text: c.unitName,\r\n id: c.unitCode,\r\n items: this.lstDoviDefault\r\n .filter((e) => e.maCha === c.unitCode)\r\n .map((e) => {\r\n return {\r\n text: e.unitName,\r\n id: e.unitCode\r\n };\r\n })\r\n };\r\n });\r\n this.service.getDiabanByMaCha(this.target.entity.matinh).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstHuyen = res.data;\r\n this.target.entity.mahuyen = null;\r\n }\r\n });\r\n } else {\r\n this.lstHuyen = [];\r\n }\r\n }\r\n\r\n changeXa() {\r\n if (this.target.entity.maxa) {\r\n this.service.getDiabanByMaCha(this.target.entity.maxa).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstThon = res.data;\r\n this.target.entity.thon = null;\r\n }\r\n });\r\n } else {\r\n this.lstThon = [];\r\n }\r\n }\r\n\r\n changeHuyen() {\r\n if (this.target.entity.mahuyen) {\r\n this.lstDonVi = this.lstDoviDefault\r\n .filter((c) => c.unitCode == this.target.entity.mahuyen)\r\n .map((c) => {\r\n return {\r\n text: c.unitName,\r\n id: c.unitCode,\r\n items: this.lstDoviDefault\r\n .filter((e) => e.maCha === c.unitCode)\r\n .map((e) => {\r\n return {\r\n text: e.unitName,\r\n id: e.unitCode\r\n };\r\n })\r\n };\r\n });\r\n this.service.getDiabanByMaCha(this.target.entity.mahuyen).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstXa = res.data;\r\n this.target.entity.maxa = null;\r\n }\r\n });\r\n } else {\r\n this.lstXa = [];\r\n }\r\n }\r\n\r\n loadData() {\r\n if (this.fromParent && this.fromParent.id) {\r\n this.service.selectOne(Number(this.fromParent.id)).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target.entity = res.data;\r\n this.target.entity.isNew = false;\r\n this.target.entity.isDirty = true;\r\n this.target.entity.fields = undefined;\r\n const item = this.lstUnit?.find((c) => c.unitCode === this.target.entity.maDonVi);\r\n this.unitItem = {\r\n id: item.unitCode,\r\n text: item.unitName\r\n };\r\n this.ngaySinh = this.target.entity.ngaySinh;\r\n this.getDiaBanThonByParentCode(res.data.maxa)\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n }\r\n\r\n checkLevel = (diaban: DBTaiKhoanModel) => {\r\n if (diaban.matinh) {\r\n this.level = 1;\r\n }\r\n if (diaban.mahuyen) {\r\n this.level = 2;\r\n }\r\n if (diaban.maxa) {\r\n this.level = 3;\r\n }\r\n if (diaban.mathon) {\r\n this.level = 4;\r\n }\r\n };\r\n\r\n downloadFile(fileId: number) {\r\n this.commonService.downloadFile(fileId);\r\n }\r\n\r\n getFileDisplay(lstFile: any, fileId: number) {\r\n this.commonService.getFile(fileId).subscribe((result) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(result.data);\r\n reader.onload = (event) => {\r\n // called once readAsDataURL is completed\r\n const fileParameter: FileParameter = { fileName: result.fileName, data: result.data };\r\n lstFile.push({ image: event.target.result, file: fileParameter, fileId: fileId });\r\n };\r\n });\r\n }\r\n\r\n checkPassword() {\r\n if (this.passwordAgain === this.target.password) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n capDonvi: number;\r\n unitcode: string;\r\n\r\n ngOnInit(): void {\r\n this.commonService.getUserInfo().subscribe((res) => {\r\n this.capDonvi = res.CapDonVi;\r\n this.unitcode = res.UnitCode;\r\n });\r\n this.getDataInsert();\r\n this.folder = this.service.getFolder();\r\n this.type = this.service.getType();\r\n }\r\n getDataDiaBan(lst) {\r\n if (lst.length > 0) {\r\n this.lstTinh = lst.filter((c) => c.level === 1);\r\n this.lstHuyen = lst.filter((c) => c.level === 2);\r\n this.lstXa = lst.filter((c) => c.level === 3);\r\n this.lstThon = lst.filter((c) => c.level === 4);\r\n\r\n if (this.lstTinh.length > 0) {\r\n this.target.entity.matinh = this.unitcode; // 24: tỉnh bắc giang\r\n }\r\n }\r\n }\r\n\r\n getDiaBanHuyenByParentCode(matinh: string) {\r\n this.lstHuyen = this.lstDiaBan.filter((c) => c.maCha === matinh);\r\n }\r\n\r\n getDiaBanXaByParentCode(mahuyen: string) {\r\n this.lstXa = this.lstDiaBan.filter((c) => c.maCha === mahuyen);\r\n }\r\n\r\n getDiaBanThonByParentCode(maxa: string) {\r\n this.lstThon = this.lstDiaBan.filter((c) => c.maCha === maxa);\r\n }\r\n\r\n isEmail(search: string): boolean {\r\n let serchfind: boolean;\r\n if (search === null || search === '') {\r\n return true;\r\n } else {\r\n const regexp = new RegExp(\r\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\r\n );\r\n serchfind = regexp.test(search);\r\n return serchfind;\r\n }\r\n }\r\n\r\n isPhoneNumber(search: string): boolean {\r\n let serchfind: boolean;\r\n const regexp = new RegExp(/^(84|0[3|5|7|8|9])+([0-9]{8,9})\\b$/);\r\n serchfind = regexp.test(search);\r\n return serchfind;\r\n }\r\n\r\n create() {\r\n this.target.entity.type = this.fromParent.tab;\r\n this.target.entity.ngaySinh = (this.ngaySinh);\r\n if (!this.target.entity.maDonVi) {\r\n if (this.target.entity.mathon) {\r\n const diaban = this.lstDiaBan.find((c) => c.ma === this.target.entity.mathon);\r\n this.target.entity.madiabankey = diaban?.makey;\r\n } else if (this.target.entity.maxa) {\r\n const diaban = this.lstDiaBan.find((c) => c.ma === this.target.entity.maxa);\r\n this.target.entity.madiabankey = diaban?.makey;\r\n } else if (this.target.entity.mahuyen) {\r\n const diaban = this.lstDiaBan.find((c) => c.ma === this.target.entity.mahuyen);\r\n this.target.entity.madiabankey = diaban?.makey;\r\n } else {\r\n const diaban = this.lstDiaBan.find((c) => c.ma === this.target.entity.matinh);\r\n this.target.entity.madiabankey = diaban?.makey;\r\n }\r\n }\r\n const lstFile: FileParameter[] = this.listFileTemp.map((item) => {\r\n const tempfile: FileParameter = { fileName: item.fileName, data: item.data };\r\n return tempfile;\r\n });\r\n\r\n if (this.fromParent.tab === 0 && (this.fromParent.action === STATUS_ACTION.create || this.fromParent.action === STATUS_ACTION.edit)) {\r\n if (this.listFileCmndTruocDisplay[0]?.fileId === null) {\r\n lstFile.push(this.listFileCmndTruocDisplay[0].file);\r\n }\r\n }\r\n this.target.lstFile = [];\r\n\r\n if (lstFile.length > 0) {\r\n this.commonService.uploadFile('REGISTER_WEB_CA', lstFile).subscribe((resultFile) => {\r\n if (resultFile.code === SUCCESS_RESPONSE) {\r\n if (this.listFileTemp.length > 0) {\r\n this.target.lstFile = this.listFileTemp.map((item) => {\r\n return new FileInsertModel({\r\n fileId: resultFile.data.find((c) => c.fileName).id,\r\n fileName: item.fileName,\r\n type: TypeFileRegister.NhaTro\r\n });\r\n });\r\n }\r\n if (this.fromParent.tab === 0) {\r\n if (resultFile.data.findIndex((c) => c.fileName === this.listFileCmndTruocDisplay[0].file.fileName) !== -1) {\r\n this.target.lstFile.push(\r\n new FileInsertModel({\r\n fileId: resultFile.data.find((c) => c.fileName === this.listFileCmndTruocDisplay[0].file.fileName).id,\r\n fileName: this.listFileCmndTruocDisplay[0].file.fileName,\r\n type: TypeFileRegister.CmndTruoc\r\n })\r\n );\r\n }\r\n }\r\n this.actionInsert();\r\n }\r\n });\r\n } else {\r\n this.actionInsert();\r\n }\r\n }\r\n\r\n actionInsert() {\r\n this.service.insert(this.target).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess(TITLE_NOTICE);\r\n this.dialogRef.close(true);\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n for (let i = 0; i < files.length; i++) {\r\n this.listFileTemp.push({ type: this.type, fileName: files[i].name, data: files[i], fileId: null });\r\n }\r\n }\r\n\r\n handleFileInputChanDung(files: FileList) {\r\n if (files.length > 0) {\r\n this.listFileAnhChanDung = [];\r\n if (this.listFileAnhChanDungDisplay.length > 0 && this.listFileAnhChanDungDisplay[0].fileId !== null) {\r\n this.target.lstIdFileDelete.push(this.listFileAnhChanDungDisplay[0].fileId);\r\n }\r\n this.listFileAnhChanDungDisplay = [];\r\n }\r\n for (let i = 0; i < files.length; i++) {\r\n this.listFileAnhChanDung.push({ type: this.type, fileName: files[i].name, data: files[i] });\r\n const filePram: FileParameter = { fileName: files[i].name, data: files[i] };\r\n this.setFileDisplayChanDung(filePram);\r\n }\r\n }\r\n\r\n handleFileInputCmndTruoc(files: FileList) {\r\n if (files.length > 0) {\r\n this.listFileCmndTruoc = [];\r\n if (this.listFileCmndTruocDisplay.length > 0 && this.listFileCmndTruocDisplay[0].fileId !== null) {\r\n this.target.lstIdFileDelete.push(this.listFileCmndTruocDisplay[0].fileId);\r\n }\r\n this.listFileCmndTruocDisplay = [];\r\n }\r\n for (let i = 0; i < files.length; i++) {\r\n this.getQRCode(files[i]);\r\n this.listFileCmndTruoc.push({ type: this.type, fileName: files[i].name, data: files[i] });\r\n const filePram: FileParameter = { fileName: files[i].name, data: files[i] };\r\n this.setFileDisplayCmndTruoc(filePram);\r\n }\r\n }\r\n\r\n handleFileInputCmndSau(files: FileList) {\r\n if (files.length > 0) {\r\n this.listFileCmndSau = [];\r\n if (this.listFileCmndSauDisplay.length > 0 && this.listFileCmndSauDisplay[0].fileId !== null) {\r\n this.target.lstIdFileDelete.push(this.listFileCmndSauDisplay[0].fileId);\r\n }\r\n this.listFileCmndSauDisplay = [];\r\n }\r\n for (let i = 0; i < files.length; i++) {\r\n this.listFileCmndSau.push({ type: this.type, fileName: files[i].name, data: files[i] });\r\n const filePram: FileParameter = { fileName: files[i].name, data: files[i] };\r\n this.setFileDisplayCmndSau(filePram);\r\n }\r\n }\r\n\r\n setFileDisplayChanDung(file: FileParameter) {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file.data);\r\n reader.onload = (event) => {\r\n // called once readAsDataURL is completed\r\n this.listFileAnhChanDungDisplay.push({ file: file, image: event.target.result, fileId: null });\r\n };\r\n }\r\n\r\n setFileDisplayCmndTruoc(file: FileParameter) {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file.data);\r\n reader.onload = (event) => {\r\n // called once readAsDataURL is completed\r\n this.listFileCmndTruocDisplay.push({ file: file, image: event.target.result, fileId: null });\r\n };\r\n }\r\n\r\n setFileDisplayCmndSau(file: FileParameter) {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file.data);\r\n reader.onload = (event) => {\r\n // called once readAsDataURL is completed\r\n this.listFileCmndSauDisplay.push({ file: file, image: event.target.result, fileId: null });\r\n };\r\n }\r\n\r\n @ViewChild('fileImagesChanDung') fileImagesChanDung: ElementRef;\r\n removeImageUploadChanDung(fileName: string) {\r\n this.listFileAnhChanDung.splice(\r\n this.listFileAnhChanDung.findIndex((c) => c.fileName === fileName),\r\n 1\r\n );\r\n if (this.listFileAnhChanDungDisplay[0].fileId !== null) {\r\n this.target.lstIdFileDelete.push(this.listFileAnhChanDungDisplay[0].fileId);\r\n }\r\n this.listFileAnhChanDungDisplay.splice(\r\n this.listFileAnhChanDungDisplay.findIndex((c) => c.image.fileName === fileName),\r\n 1\r\n );\r\n this.fileImagesChanDung.nativeElement.value = '';\r\n }\r\n\r\n @ViewChild('fileImagesCmndTruoc') fileImagesCmndTruoc: ElementRef;\r\n removeImageUploadCmndTruoc(fileName: string) {\r\n this.listFileCmndTruoc.splice(\r\n this.listFileCmndTruoc.findIndex((c) => c.fileName === fileName),\r\n 1\r\n );\r\n if (this.listFileCmndTruocDisplay[0].fileId !== null) {\r\n this.target.lstIdFileDelete.push(this.listFileCmndTruocDisplay[0].fileId);\r\n }\r\n this.listFileCmndTruocDisplay.splice(\r\n this.listFileCmndTruocDisplay.findIndex((c) => c.image.fileName === fileName),\r\n 1\r\n );\r\n this.fileImagesCmndTruoc.nativeElement.value = '';\r\n }\r\n\r\n @ViewChild('fileImagesCmndSau') fileImagesCmndSau: ElementRef;\r\n removeImageUploadCmndsau(fileName: string) {\r\n this.listFileCmndSau.splice(\r\n this.listFileCmndSau.findIndex((c) => c.fileName === fileName),\r\n 1\r\n );\r\n if (this.listFileCmndSauDisplay[0].fileId !== null) {\r\n this.target.lstIdFileDelete.push(this.listFileCmndSauDisplay[0].fileId);\r\n }\r\n this.listFileCmndSauDisplay.splice(\r\n this.listFileCmndSauDisplay.findIndex((c) => c.image.fileName === fileName),\r\n 1\r\n );\r\n this.fileImagesCmndSau.nativeElement.value = '';\r\n }\r\n\r\n deleteFile(file: any) {\r\n const index = this.listFileTemp.indexOf(file);\r\n if (index !== -1) this.listFileTemp.splice(index, 1);\r\n }\r\n\r\n deleteFileLink(file: any) {\r\n const index = this.lstFileLink.indexOf(file);\r\n this.target.lstIdFileDelete.push(this.lstFileLink[index].fileId);\r\n if (index !== -1) this.lstFileLink.splice(index, 1);\r\n }\r\n\r\n openImageZoom(src) {\r\n const modal = document.getElementById('myModal');\r\n const modalImg = document.getElementById('img01');\r\n (modalImg as HTMLImageElement).src = src;\r\n modal.style.display = 'flex';\r\n modal.style.alignItems = 'center';\r\n modal.style.justifyContent = 'center';\r\n const span = document.getElementsByClassName('close')[0];\r\n (span as HTMLElement).onclick = function () {\r\n modal.style.display = 'none';\r\n };\r\n }\r\n\r\n getQRCode(file: File) {\r\n const html5QrCode = new Html5Qrcode('reader');\r\n html5QrCode\r\n .scanFile(file, false)\r\n .then((qrCodeMessage) => {\r\n this.setQRCode(qrCodeMessage);\r\n })\r\n .catch((err) => {\r\n this.commonService.toastrWarning('Không phát hiện QRCode');\r\n });\r\n }\r\n\r\n setQRCode(QRCode) {\r\n // FIXME: Set QR Code\r\n alert(QRCode);\r\n }\r\n\r\n getMaDiaBanKey = () => {\r\n const diaban = this.lstDiaBan.find((c) => c.ma === this.target.entity.maDonVi);\r\n this.target.entity.madiabankey = diaban?.makey;\r\n\r\n if (this.unitItem) {\r\n this.target.entity.maDonVi = this.unitItem.id;\r\n } else {\r\n this.target.entity.maDonVi = null;\r\n }\r\n };\r\n\r\n ckDate: boolean = true;\r\n checkDate = (str) => {\r\n const date = this.commonService.patternDate(str);\r\n if (date) {\r\n this.ckDate = true;\r\n } else {\r\n this.ckDate = false;\r\n }\r\n };\r\n}\r\n","
0\">\r\n \r\n \r\n
\r\n
\r\n {{ fromParent.title }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
Thông tin cơ bản
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
Tỉnh là bắt buộc
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
Huyện/Thành phố là bắt buộc
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
Xã/Phường/Thị trấn là bắt buộc
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
Thôn là bắt buộc
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
Số CMTND/CCCD là bắt buộc
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Họ tên là bắt buộc
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Ngày/tháng/năm là bắt buộc
\r\n
Ngày/tháng/năm không đúng định dạng
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
Giới tính là bắt buộc
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Số điện thoại là bắt buộc
\r\n
\r\n
\r\n
Số điện thoại không hợp lệ
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
Thông tin chi tiết
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Mật khẩu là bắt buộc
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Nhập lại mật khẩu không chính xác
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \"Preview\"\r\n ×\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n  \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n ×\r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { RegisterAccountPostModel, TaikhoanEntity } from 'app/@core/data/app-congan.service';\r\nimport { FileParameter } from 'app/@core/data/app-qtht.service';\r\nimport { Workbook } from 'exceljs';\r\nimport { DanhMucNguoiDungService } from '../../danh-muc-nguoi-dung.service';\r\n\r\n@Component({\r\n selector: 'app-import',\r\n templateUrl: './import.component.html',\r\n styleUrls: ['./import.component.scss']\r\n})\r\nexport class ImportComponent implements OnInit {\r\n\r\n constructor(\r\n private commonService: CommonService,\r\n private service: DanhMucNguoiDungService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.selectAll();\r\n }\r\n\r\n lstDiaban: any[] = [];\r\n selectAll() {\r\n this.service.selectDmDiaBanAll().subscribe(res => {\r\n this.lstDiaban = res.data;\r\n })\r\n }\r\n\r\n convertStringToDateImportExcel(target: string): Date {\r\n if (target) {\r\n const array = target.split('/');\r\n if (array.length === 3)\r\n return new Date(array[2] + '-' + array[1] + '-' + array[0]);\r\n }\r\n return null;\r\n }\r\n\r\n lstValue: RegisterAccountPostModel[] = [];\r\n\r\n selectedImportFiles: FileParameter[] = [];\r\n isImport: boolean = true;\r\n chooseImportFile(files: any) {\r\n const filesParam: FileParameter[] = files.target.files;\r\n if (filesParam.length === 0) {\r\n this.commonService.toastrWarning('Chưa chọn file');\r\n return;\r\n }\r\n this.selectedImportFiles = [];\r\n for (let i = 0; i < filesParam.length; i++) {\r\n const fileParameter: FileParameter = { data: filesParam[i], fileName: filesParam[i]['name'] };\r\n this.selectedImportFiles.push(fileParameter);\r\n }\r\n\r\n const targetfiles: DataTransfer = (files.target);\r\n const workbook = new Workbook();\r\n const arryBuffer = new Response(targetfiles.files[0]).arrayBuffer();\r\n let errString: string = '';\r\n const messageStr: string = '';\r\n const _this = this;\r\n let parentCount = 0;\r\n arryBuffer.then(function (data) {\r\n workbook.xlsx.load(data)\r\n .then(function () {\r\n // play with workbook and worksheet now\r\n const worksheet = workbook.getWorksheet(1);\r\n worksheet.eachRow(function (row, rowNumber) {\r\n if (rowNumber > 3) {\r\n const item = new RegisterAccountPostModel({\r\n entity: new TaikhoanEntity({ isNew: true, fields: null }),\r\n lstFile: [],\r\n lstIdFileDelete: []\r\n });\r\n item.entity.hoVaTen = row.values[2];\r\n item.entity.gioiTinh = row.values[3] === 'Nam' ? 1 : 0;\r\n item.entity.ngaySinh = row.values[4];\r\n item.entity.cmnd = row.values[5];\r\n item.entity.sdt = row.values[6];\r\n item.entity.matinh = _this.lstDiaban.find(c =>c.level === 1 && c.ten.toUpperCase().includes(row.values[7].toUpperCase()))?.ma;\r\n item.entity.mahuyen = _this.lstDiaban.find(c =>c.maCha === item.entity.matinh && c.level === 2 && c.ten.toUpperCase().includes(row.values[8].toUpperCase()))?.ma;\r\n item.entity.maxa = _this.lstDiaban.find(c =>c.maCha === item.entity.mahuyen && c.level === 3 && c.ten.toUpperCase().includes(row.values[9].toUpperCase()))?.ma;\r\n item.entity.mathon = _this.lstDiaban.find(c =>c.maCha === item.entity.maxa && c.level === 4 && c.ten.toUpperCase().includes(row.values[10].toUpperCase()))?.ma;\r\n item.entity.type = 0;\r\n item.entity.madiabankey = item.entity.matinh + (item.entity.mahuyen ? ('.' + item.entity.mahuyen) : '') \r\n + (item.entity.maxa ? ('.' + item.entity.maxa) : '') + (item.entity.thon ? ('.' + item.entity.thon) : '');\r\n item.password = '123456';\r\n if (!item.entity.hoVaTen || !item.entity.gioiTinh || !item.entity.cmnd || !item.entity.ngaySinh\r\n || !item.entity.sdt || !item.entity.matinh || !item.entity.mahuyen || !item.entity.maxa) {\r\n _this.isImport = false;\r\n }\r\n _this.lstValue.push(item);\r\n }\r\n });\r\n }).catch(function (err) {\r\n errString = err;\r\n }).finally(function () {\r\n if (errString === '') {\r\n if (messageStr) {\r\n _this.commonService.toastrWarning('Lỗi: ' + messageStr.trim());\r\n } else {\r\n if (_this.lstValue.length === 0) {\r\n _this.commonService.toastrWarning('Chưa có dữ liệu!');\r\n }\r\n if (!_this.isImport) {\r\n _this.commonService.toastrWarning('Dữ liệu sai!')\r\n }\r\n }\r\n } else {\r\n _this.commonService.toastrDanger(errString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n create() {\r\n \r\n }\r\n\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","import { NgForm } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { CommonService } from './../../../../../@core/customs/common.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { DanhMucNguoiDungService } from '../../danh-muc-nguoi-dung.service';\r\nimport { AppQthtApiService, ResetPasswordModel } from 'app/@core/data/app-qtht.service';\r\n\r\n\r\n@Component({\r\n selector: 'ngx-lay-lai-mat-khau-ds-tk',\r\n templateUrl: './lay-lai-mat-khau-ds-tk.component.html'\r\n})\r\nexport class LayLaiMatKhauDsTkComponent implements OnInit {\r\n password: string = null;\r\n passwordAgain: string = null;\r\n constructor(\r\n private commonService: CommonService,\r\n public service: DanhMucNguoiDungService,\r\n private qthtService: AppQthtApiService,\r\n @Inject(MAT_DIALOG_DATA) public fromParent: { sdt: string },\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n model: ResetPasswordModel = new ResetPasswordModel();\r\n ngOnInit(): void {\r\n\r\n }\r\n checkPassword() {\r\n if (this.passwordAgain === this.password) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n create() {\r\n this.model.userName = this.fromParent.sdt;\r\n this.model.password = this.password;\r\n this.qthtService.appQthtApiV1SysUserResetPassword(this.model).subscribe((sub) => {\r\n if (sub.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Lấy lại mật khẩu thành công!');\r\n this.dialogRef.close(true);\r\n } else {\r\n this.commonService.toastrSuccess(sub.message);\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n
Lấy lại mật khẩu
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Mật khẩu mới là bắt buộc
\r\n
Mật khẩu mới tối thiểu 6 ký tự
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Nhập lại mật khẩu không chính xác
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n  \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n ×\r\n \r\n
\r\n","export const FolderFileRegister = {\r\n NhaTro: 'Register_CA/HinhAnhNhaTro',\r\n ChanDung: 'Register_CA/HinhAnhChanDung',\r\n CmndTruoc: 'Register_CA/CMND_MatTruoc',\r\n CmndSau: 'Register_CA/CMND_MatSau',\r\n};\r\n\r\nexport const TypeFileRegister = {\r\n NhaTro: 10,\r\n ChanDung: 11,\r\n CmndTruoc: 12,\r\n CmndSau: 13\r\n};\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { DashboardComponent } from './dashboard.component';\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n component: DashboardComponent,\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class DashboardRoutingModule { }\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { CommonService, ConvertDatePipe } from 'app/@core/customs/common.service';\r\nimport { LEVEL_UNIT, provinceCode, SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { DashboardService } from './dashboard.service';\r\nimport { Browser } from '@syncfusion/ej2-base';\r\nimport { DashboardSearchModel, DashboardDataChartModel } from 'app/@core/data/app-congan.service';\r\nimport { Geolocation } from '@capacitor/geolocation';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { HomeService } from 'app/modules/app-congan/home/home.service';\r\n\r\n@Component({\r\n selector: 'dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styleUrls: ['dashboard.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DashboardComponent implements OnInit {\r\n constructor(private service: DashboardService,\r\n private domSanitizer: DomSanitizer,\r\n private httpClient: HttpClient,\r\n private homeService: HomeService,\r\n private commonService: CommonService) {}\r\n\r\n searchModel: DashboardSearchModel = new DashboardSearchModel({\r\n tinh: null,\r\n huyen: null,\r\n xa: null,\r\n tuNgay: null,\r\n denNgay: null,\r\n nam: (new Date()).getFullYear(),\r\n loaiThongKe: 1, // loại thống kê thang; 0 theo nam\r\n thang: (new Date()).getMonth()\r\n });\r\n lstDiaban_allHuyen_allXa: any[] = [];\r\n lstHuyen: any[] = [];\r\n lstXa: any[] = [];\r\n lstTinh: any[] = [];\r\n lstMasterXa: any[] = [];\r\n loaiBieuDo: number = 1; // mặc định là biểu đồ đường\r\n lstNamThongKe: number[] = [];\r\n tenTinh: string;\r\n tenHuyen: string;\r\n tenXa: string;\r\n tenDiaBan: string;\r\n tenDiaBanDiBD: string; // địa bàn di biến động\r\n isCollapse: boolean = false;\r\n readonly reportName: string = 'DashboardNhaTro.trdp';\r\n parameter: any = null;\r\n lstLoaiTk: {\r\n text: string;\r\n value: number;\r\n }[] = [\r\n {\r\n text: 'Theo năm',\r\n value: 0\r\n },\r\n {\r\n text: 'Theo tháng',\r\n value: 1\r\n }\r\n ];\r\n lstMonth: any[] = [];\r\n convertDate: ConvertDatePipe = new ConvertDatePipe();\r\n\r\n // syncfusion\r\n public ntSizeX: number = Browser.isDevice ? 1 : 4;\r\n public ntSizeY: number = Browser.isDevice ? 1 : 2;\r\n public columns: number = Browser.isDevice ? 2 : 8;\r\n public cellSpacing: number[] = [15, 15];\r\n public cellAspectRatio: number = Browser.isDevice ? 1 : 0.8;\r\n public ntColumn: number = Browser.isDevice ? 1 : 5;\r\n public splineRow: number = Browser.isDevice ? 1 : 4;\r\n public splineSizeX: number = Browser.isDevice ? 2 : 8;\r\n public splineSizeY: number = Browser.isDevice ? 1 : 3;\r\n\r\n nhaTroSeries: DashboardDataChartModel[] = [];\r\n khachThueSeries: DashboardDataChartModel[] = [];\r\n diBienDongSeries: DashboardDataChartModel[] = [];\r\n thongkePaSeries: DashboardDataChartModel[] = [];\r\n thongkePaCategories: string[] = [];\r\n categories: string[] = [];\r\n\r\n LEVEL_UNIT = LEVEL_UNIT;\r\n\r\n level: number;\r\n viewValue: boolean = false;\r\n\r\n ngOnInit(): void {\r\n this.getLocation();\r\n this.lstNamThongKe = this.service.getLstYear();\r\n this.lstMonth = this.service.getListMonth();\r\n \r\n }\r\n\r\n getMatinh(lst, unitcode, level): string {\r\n let a = lst.find((c) => c.ma === unitcode);\r\n if (a.maCha && a.level > level) {\r\n return this.getMatinh(lst, a.maCha, level);\r\n } else {\r\n return unitcode;\r\n }\r\n }\r\n city:any;\r\n toaDo: any;\r\n async getLocation() {\r\n try {\r\n await Geolocation.checkPermissions();\r\n this.toaDo = await Geolocation.getCurrentPosition();\r\n let lat = this.toaDo.coords.latitude;\r\n let lng = this.toaDo.coords.longitude;\r\n this.httpClient\r\n .request(\r\n 'get',\r\n 'https://api.bigdatacloud.net/data/reverse-geocode-client?latitude=' + lat + '&longitude=' + lng + '&localityLanguage=vi'\r\n )\r\n .subscribe((res: any) => {\r\n //console.log(\"cres.localityInfo\",res.localityInfo.administrative[2].name);\r\n var a= this.lstTinh.filter((c) => c.ten.includes(res.localityInfo.administrative[2].name)).map((x) => {\r\n return {\r\n ma: x.ma,\r\n ten:x.ten\r\n };\r\n });\r\n a.forEach(c => {\r\n this.searchModel.tinh = c.ma;\r\n this.city=c.ma;\r\n })\r\n this.getListDvDbhc();\r\n //console.log(this.searchModel.tinh);\r\n // lay tong so ban ghi theo ma tinh da tim ra\r\n });\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n\r\n unitcode: string = '';\r\n getUserInfo() {\r\n this.commonService.getUserInfo().subscribe((user) => {\r\n this.level = user.CapDonVi;\r\n this.unitcode = user.UnitCode;\r\n });\r\n }\r\n\r\n getListDvDbhc() {\r\n this.homeService.SelectByLevelDiaban(1).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstTinh = result.data.map((x) => {\r\n return {\r\n ma: x.ma,\r\n ten: x.ten,\r\n };\r\n });\r\n\r\n this.commonService.getUserInfo().subscribe((user) => {\r\n this.level = user.CapDonVi;\r\n this.unitcode = user.UnitCode;\r\n this.searchModel.tinh = this.unitcode;\r\n this.tenTinh = this.lstTinh.find((c) => c.ma === this.searchModel.tinh)?.ten;\r\n this.tenDiaBan = this.tenTinh;\r\n this.tenDiaBanDiBD = this.tenTinh;\r\n //get list huyen\r\n\r\n this.service.Sellectlikemadiabankey(this.searchModel.tinh).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstDiaban_allHuyen_allXa = result.data.map((x) => {\r\n return {\r\n ma: x.ma,\r\n ten: x.ten,\r\n level:x.level,\r\n maCha:x.maCha\r\n };\r\n });\r\n\r\n this.lstHuyen= this.lstDiaban_allHuyen_allXa.filter((c) => c.level === 2 && c.maCha === this.searchModel.tinh);\r\n this.lstMasterXa= this.lstDiaban_allHuyen_allXa.filter((c) => c.level === 3);\r\n this.getDataChart();\r\n }\r\n });//end get list huyen\r\n \r\n });//end get getUserInfo\r\n } \r\n });//end get SelectByLevelDiaban\r\n }\r\n // this.service.selectDbhc().subscribe((res) => {\r\n // if (res.code === SUCCESS_RESPONSE) {\r\n // this.getUserInfo();\r\n // this.searchModel.tinh = this.getMatinh(res.data, this.unitcode, 1);\r\n // if (this.level >= LEVEL_UNIT.LEVEL2) {\r\n // this.searchModel.huyen = this.getMatinh(res.data, this.unitcode, 2);\r\n // this.lstXa = res.data?.filter((c) => c.level === 3 && c.maCha === this.searchModel.huyen);\r\n\r\n // this.searchModel.xa = null;\r\n // }\r\n // if (this.level >= LEVEL_UNIT.LEVEL3) {\r\n // this.searchModel.xa = this.getMatinh(res.data, this.unitcode, 3);\r\n // }\r\n // this.lstTinh = res.data?.filter((c) => c.level === 1);\r\n // this.lstHuyen = res.data?.filter((c) => c.level === 2 && c.maCha === this.searchModel.tinh);\r\n // this.lstMasterXa = res.data?.filter((c) => c.level === 3);\r\n // this.tenTinh = res.data.find((c) => c.ma === this.searchModel.tinh)?.ten;\r\n // this.tenDiaBan = this.tenTinh;\r\n // this.tenDiaBanDiBD = this.tenTinh;\r\n // } else {\r\n // this.commonService.toastrDanger(res.message);\r\n // }\r\n // });\r\n \r\n changeTinh() {\r\n this.searchModel.huyen = null;\r\n this.lstHuyen=null;\r\n this.lstHuyen= this.lstDiaban_allHuyen_allXa.filter((c) => c.level === 2 && c.maCha === this.searchModel.tinh);\r\n this.tenTinh = this.lstTinh.find((c) => c.ma === this.searchModel.tinh)?.ten;\r\n this.tenDiaBan = this.tenTinh;\r\n this.tenDiaBanDiBD = this.tenTinh;\r\n this.getDataChart();\r\n }\r\n\r\n changeHuyen() {\r\n this.searchModel.xa = null;\r\n this.lstXa=null;\r\n this.lstXa = this.lstMasterXa?.filter((c) => c.maCha === this.searchModel.huyen);\r\n this.tenHuyen = this.lstHuyen.find((c) => c.ma === this.searchModel.huyen)?.ten;\r\n this.tenDiaBan = this.tenHuyen;\r\n this.tenDiaBanDiBD = this.tenHuyen;\r\n this.getDataChart();\r\n }\r\n\r\n changeXa() {\r\n this.tenXa = this.lstXa.find((c) => c.ma === this.searchModel.xa)?.ten;\r\n this.tenDiaBan = this.tenXa;\r\n this.tenDiaBanDiBD = this.tenXa;\r\n this.getDataChart();\r\n }\r\n\r\n \r\n // changeHuyen(event: any, isLoad: boolean = true) {\r\n // this.lstXa = [];\r\n // if (!isLoad) {\r\n // this.searchModel.xa = null;\r\n // }\r\n // this.tenHuyen = null;\r\n // this.tenXa = null;\r\n // if (this.searchModel.huyen) {\r\n // this.lstXa = this.lstMasterXa?.filter((c) => c.maCha === this.searchModel.huyen);\r\n // this.tenHuyen = this.lstHuyen.find((c) => c.ma === this.searchModel.huyen)?.ten;\r\n // }\r\n // }\r\n\r\n\r\n // changeXa(event: any) {\r\n // this.tenXa = null;\r\n // if (this.searchModel.xa) {\r\n // this.tenXa = this.lstXa.find((c) => c.ma === this.searchModel.xa)?.ten;\r\n // }\r\n // }\r\n\r\n\r\n getTenDiaBan() {\r\n this.tenDiaBan = this.tenTinh;\r\n this.tenDiaBanDiBD = this.tenTinh;\r\n if (this.tenHuyen) {\r\n this.tenDiaBan = this.tenHuyen + ' - ' + this.tenTinh;\r\n this.tenDiaBanDiBD = this.tenHuyen + ' - ' + this.tenTinh;\r\n }\r\n\r\n if (this.tenXa) {\r\n this.tenDiaBan = this.tenXa + ' - ' + this.tenHuyen + ' - ' + this.tenTinh;\r\n }\r\n }\r\n\r\n getDataChart() {\r\n if(this.searchModel.tinh==null)this.searchModel.tinh=this.city;\r\n console.log(\"getDataChart\",this.searchModel);\r\n this.service.getDataChart(this.searchModel).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.nhaTroSeries = res.data.nhaTro.series;\r\n this.khachThueSeries = res.data.khachThue.series;\r\n this.diBienDongSeries = res.data.diBienDong.series;\r\n this.configData(this.nhaTroSeries);\r\n this.configData(this.khachThueSeries);\r\n this.categories = res.data.nhaTro.categories;\r\n this.thongkePaSeries = res.data.soluongGopy.series;\r\n this.thongkePaCategories = res.data.soluongGopy.categories;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n configData(series: DashboardDataChartModel[]) {\r\n for (let i = 0; i < series.length; i++) {\r\n for (let j = 0; j < series[i].data.length; j++) {\r\n if (j > 0 && !series[i].data[j]) {\r\n series[i].data[j] = series[i].data[j - 1];\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n
BIỂU ĐỒ THỐNG KÊ NHÀ TRỌ
\r\n
\r\n  \r\n \r\n  \r\n \r\n  \r\n \r\n
\r\n
\r\n \r\n   Bộ lọc \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
SỐ LƯỢNG DI BIẾN ĐỘNG
\r\n {{ tenDiaBanDiBD }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n
THỐNG KÊ SỐ LƯỢNG PHẢN ÁNH/TRÌNH BÁO THEO ĐỊA BÀN
\r\n {{ tenDiaBan }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n
THỐNG KÊ SỐ LƯỢNG NHÀ TRỌ
\r\n {{ tenDiaBan }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n
THỐNG KÊ SỐ LƯỢNG KHÁCH THUÊ
\r\n {{ tenDiaBan }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n AppCongAnApiService,\r\n DashboardModelApiResponse,\r\n DashboardSearchModel,\r\n ObjectIEnumerableApiResponse\r\n} from 'app/@core/data/app-congan.service';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class DashboardService {\r\n constructor(\r\n private api: AppCongAnApiService,\r\n ) { }\r\n\r\n selectDbhc(): Observable {\r\n return this.api.appCongAnApiV1DmDiaBanSelectAll();\r\n }\r\n\r\n getDataChart(body: DashboardSearchModel): Observable {\r\n return this.api.appCongAnApiV1DashboardGetDataChart(body);\r\n }\r\n Sellectlikemadiabankey(madiabankey: string)\r\n {\r\n return this.api.appCongAnApiV1DmDiaBanSellectlikemadiabankey(madiabankey);\r\n }\r\n\r\n getLstYear(): number[] {\r\n const lst: number[] = [];\r\n for (let i = new Date().getFullYear() + 2; i >= 2022; i--) {\r\n lst.push(i);\r\n }\r\n return lst;\r\n }\r\n\r\n getListMonth() {\r\n const lst: {\r\n text: string,\r\n value: number\r\n }[] = [];\r\n for (let i = 1; i <= 12; i++) {\r\n lst.push({\r\n text: 'Tháng ' + i,\r\n value: i\r\n });\r\n }\r\n return lst;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ConvertDatePipe } from 'app/@core/customs/common.service';\r\nimport {\r\n ApiResponse,\r\n AppCongAnApiService,\r\n DoituongTruynaEntity,\r\n DoituongTruynaEntityApiResponse,\r\n DoituongTruynaEntityProcessInsertFileModel,\r\n DoituongTruynaEntityProcessUpdateFileModel,\r\n EntityWithFileModelApiResponse,\r\n FileResponse,\r\n ObjectIEnumerablePageModelViewApiResponse,\r\n PageModel\r\n} from 'app/@core/data/app-congan.service';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DoiTuongTruyNaService {\r\n constructor(private api: AppCongAnApiService) { }\r\n\r\n getDateByImport(value: any) {\r\n if (value) {\r\n // nếu giá trị là string (cell type = text trên excel)\r\n if (isNaN(value)) {\r\n return new ConvertDatePipe().transform(new ConvertDatePipe().convertStringToDateImportExcel(value));\r\n // nếu giá trị là number (cell type = date trên excel)\r\n } else {\r\n return new ConvertDatePipe().transform(new Date(value));\r\n }\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n getType(): number {\r\n return 1680;\r\n }\r\n\r\n paging(body: PageModel): Observable {\r\n return this.api.appCongAnApiV1DoiTuongTruyNaPagingDoiTuongWeb(body);\r\n }\r\n\r\n insert(body: DoituongTruynaEntityProcessInsertFileModel): Observable {\r\n return this.api.appCongAnApiV1DoiTuongTruyNaInsertWithFile(body);\r\n }\r\n\r\n import(body: DoituongTruynaEntity[]): Observable {\r\n return this.api.appCongAnApiV1DoiTuongTruyNaInsertListDoiTuongTruyNa(body);\r\n }\r\n\r\n update(body: DoituongTruynaEntityProcessUpdateFileModel): Observable {\r\n return this.api.appCongAnApiV1DoiTuongTruyNaUpdateWithFile(body);\r\n }\r\n\r\n delete(id: number): Observable {\r\n return this.api.appCongAnApiV1DoiTuongTruyNaDeleteWithFile(id);\r\n }\r\n\r\n selectOne(type: number, id: number): Observable {\r\n return this.api.appCongAnApiV1DoiTuongTruyNaSelectOneWithFile(type, id);\r\n }\r\n\r\n selectByCccd(cccd: string): Observable {\r\n return this.api.appCongAnApiV1DoiTuongTruyNaGetDoiTuongTruyNa(cccd);\r\n }\r\n\r\n dowloadFile(): Observable {\r\n return this.api.appCongAnApiV1DoiTuongTruyNaDownloadTemplateFile();\r\n }\r\n\r\n updateStatus(body: DoituongTruynaEntity): Observable {\r\n return this.api.appCongAnApiV1DoiTuongTruyNaUpdate(body);\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { CommonService, ConvertDatePipe } from 'app/@core/customs/common.service';\r\nimport { DUPLICATE_RESPONE, STATUS_ACTION, SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport {\r\n AttFileattachmentEntity,\r\n DoituongTruynaEntity,\r\n DoituongTruynaEntityProcessInsertFileModel,\r\n DoituongTruynaEntityProcessUpdateFileModel\r\n} from 'app/@core/data/app-congan.service';\r\nimport { DanhMucDanTocService } from '../../danh-muc-dan-toc/danh-muc-dan-toc.service';\r\nimport { DoiTuongTruyNaService } from '../doi-tuong-truy-na.service';\r\n\r\n@Component({\r\n selector: 'app-doi-tuong-truy-na',\r\n templateUrl: './doi-tuong-truy-na.component.html',\r\n styleUrls: ['./doi-tuong-truy-na.component.scss']\r\n})\r\nexport class DoiTuongTruyNaComponent implements OnInit {\r\n constructor(\r\n private commonService: CommonService,\r\n public service: DoiTuongTruyNaService,\r\n @Inject(MAT_DIALOG_DATA) public fromParent: { id: number; title: string; action: number },\r\n private dialogRef: MatDialogRef,\r\n private serviceDmDanToc: DanhMucDanTocService\r\n ) { }\r\n\r\n target: DoituongTruynaEntityProcessInsertFileModel = new DoituongTruynaEntityProcessInsertFileModel({\r\n entity: new DoituongTruynaEntity(),\r\n lstFileAttachment: []\r\n });\r\n\r\n trangThaiCheck: boolean = true;\r\n\r\n lstTinh: any[] = [];\r\n lstHuyen: any[] = [];\r\n lstXa: any[] = [];\r\n\r\n lstXaFiltered: any[] = [];\r\n\r\n STATUS_ACTION = STATUS_ACTION;\r\n\r\n lstDonVi: any[] = [];\r\n\r\n lstTrangthai = [\r\n { value: 1, text: 'Đang truy nã' },\r\n { value: 2, text: 'Đang truy tìm' },\r\n { value: 0, text: 'Đã bị bắt' },\r\n ];\r\n\r\n showInput = {\r\n tinh: true,\r\n huyen: false,\r\n xa: false\r\n };\r\n\r\n lstGioiTinh = [\r\n { value: 0, text: 'Nữ' },\r\n { value: 1, text: 'Nam' }\r\n ];\r\n\r\n ngOnInit(): void {\r\n this.type = this.service.getType();\r\n this.getDantoc();\r\n if (this.fromParent.id) {\r\n this.service.selectOne(this.type, this.fromParent.id).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target.entity = res.data.entity;\r\n this.target.entity.birthday = new ConvertDatePipe().transform(this.target.entity.birthday);\r\n this.listFileTempOld = res.data.listFile;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n }\r\n\r\n lstDanDoc: any = [];\r\n getDantoc() {\r\n this.serviceDmDanToc.selectAll().subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstDanDoc = res.data;\r\n }\r\n });\r\n }\r\n\r\n onFileSelected(event: any) {\r\n const file = event.target.files[0];\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => {\r\n this.target.entity.img = reader.result.toString().split(',')[1];\r\n };\r\n }\r\n\r\n converBase64ToImg(code) {\r\n if (code) return 'data:image/img;base64,' + code;\r\n else '';\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n for (let i = 0; i < files.length; i++) {\r\n this.listFileTemp.push({\r\n type: this.type,\r\n fileName: files[i].name,\r\n data: files[i]\r\n });\r\n this.listFileTempOld.push({\r\n type: this.type,\r\n fileName: files[i].name,\r\n data: files[i]\r\n });\r\n }\r\n }\r\n\r\n type: number;\r\n\r\n listFileTemp: any[] = [];\r\n listFileTempOld: any[] = [];\r\n lstFileIdDelete: number[] = [];\r\n deleteFile(file: any) {\r\n const index = this.listFileTempOld.indexOf(file);\r\n const index1 = this.listFileTemp.indexOf(file);\r\n if (file.fileId) {\r\n this.lstFileIdDelete.push(file.fileId);\r\n }\r\n if (index !== -1) this.listFileTempOld.splice(index, 1);\r\n if (index1 !== -1) this.listFileTemp.splice(index, 1);\r\n }\r\n\r\n deleteImg() {\r\n this.target.entity.img = null;\r\n }\r\n\r\n create(frm: NgForm) {\r\n this.target.entity.type = this.target.entity.status === 1 ? 1 : 2;\r\n this.target.entity.birthday = this.target.entity.birthday ? new Date(this.target.entity.birthday) : null;\r\n const update = new DoituongTruynaEntityProcessUpdateFileModel({\r\n entity: new DoituongTruynaEntity(),\r\n lstFileAttachment: [],\r\n lstFileIdDelete: []\r\n });\r\n update.entity = new DoituongTruynaEntity({ ...this.target.entity });\r\n update.lstFileAttachment = this.target.lstFileAttachment;\r\n update.lstFileIdDelete = this.lstFileIdDelete;\r\n update.typeDelete = this.type;\r\n if (this.listFileTemp.length > 0) {\r\n this.commonService.uploadFile('DoiTuongTruyNa', this.listFileTemp).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target.lstFileAttachment = res.data.map((file) => {\r\n return new AttFileattachmentEntity({\r\n fileid: file.id,\r\n filename: file.fileName,\r\n type: this.type\r\n });\r\n });\r\n update.lstFileAttachment = this.target.lstFileAttachment;\r\n if (this.fromParent.action === STATUS_ACTION.create) {\r\n this.target.entity.birthday = new Date(this.target.entity.birthday);\r\n this.target.entity.type = this.target.entity.status === 1 ? 1 : 2;\r\n this.service.insert(this.target).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close(true);\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n } else {\r\n this.service.update(update).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close(true);\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n }\r\n });\r\n } else {\r\n if (this.fromParent.action === STATUS_ACTION.create) {\r\n this.service.insert(this.target).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close(true);\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n } else {\r\n this.service.update(update).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close(true);\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n
\r\n {{ fromParent.title }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Họ và tên là bắt buộc
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Quê quán là bắt buộc
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Cccd/cmt là bắt buộc
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Quốc tịch là bắt buộc
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Tội danh là bắt buộc
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
Trạng thái là bắt buộc
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \"Không\r\n
\r\n Không có ảnh\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
  • \r\n \r\n {{ file.fileName }}\r\n \r\n
  • \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { IndexComponent } from './index/index.component';\r\nimport { Routes } from '@angular/router';\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n children: [\r\n { path: '', component: IndexComponent },\r\n ]\r\n }\r\n];\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { DoituongTruynaEntity } from 'app/@core/data/app-congan.service';\r\nimport { FileParameter } from 'app/@core/data/app-qtht.service';\r\nimport { Workbook } from 'exceljs';\r\nimport { DoiTuongTruyNaService } from '../doi-tuong-truy-na.service';\r\n\r\n@Component({\r\n selector: 'app-import',\r\n templateUrl: './import.component.html',\r\n styleUrls: ['./import.component.scss']\r\n})\r\nexport class ImportComponent implements OnInit {\r\n constructor(\r\n private commonService: CommonService,\r\n public service: DoiTuongTruyNaService,\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n\r\n ngOnInit() { }\r\n\r\n lstTrangthai = [\r\n { value: 1, text: 'Đang truy nã' },\r\n { value: 2, text: 'Đang truy tìm' },\r\n { value: 0, text: 'Đã bị bắt' },\r\n ];\r\n\r\n lstGioiTinh = [\r\n { value: 0, text: 'Nữ' },\r\n { value: 1, text: 'Nam' }\r\n ];\r\n\r\n lstDetail: DoituongTruynaEntity[] = [];\r\n selectedImportFiles: FileParameter[] = [];\r\n import(files: any) {\r\n const filesParam: FileParameter[] = files.target.files;\r\n if (filesParam.length === 0) {\r\n this.commonService.toastrWarning('Chưa chọn file');\r\n return;\r\n }\r\n this.selectedImportFiles = [];\r\n for (let i = 0; i < filesParam.length; i++) {\r\n const fileParameter: FileParameter = { data: filesParam[i], fileName: filesParam[i]['name'] };\r\n this.selectedImportFiles.push(fileParameter);\r\n }\r\n\r\n const targetfiles: DataTransfer = files.target;\r\n const workbook = new Workbook();\r\n const arryBuffer = new Response(targetfiles.files[0]).arrayBuffer();\r\n let dataImport: DoituongTruynaEntity[] = [];\r\n let errString: string = '';\r\n const _this = this;\r\n const validateMess: any = {\r\n loaihinh: '',\r\n quanhuyen: '',\r\n xaphuong: ''\r\n };\r\n arryBuffer.then((data) => {\r\n workbook.xlsx\r\n .load(data)\r\n .then(() => {\r\n const worksheet = workbook.getWorksheet(1);\r\n worksheet.eachRow(function (row, rowNumber) {\r\n if (rowNumber > 3) {\r\n const item: DoituongTruynaEntity = new DoituongTruynaEntity();\r\n item.fullname = row.values[2];\r\n item.gender = _this.lstGioiTinh.find(c => c.text === row.values[3]).value;\r\n item.birthday = _this.service.getDateByImport(row.values[4]);\r\n item.hometown = row.values[5];\r\n item.citizenIdentification = row.values[6];\r\n item.nationality = row.values[7];\r\n item.nation = row.values[8];\r\n item.religion = row.values[9];\r\n item.sin = row.values[10];\r\n item.status = _this.lstTrangthai.find(c => c.text === row.values[11]).value;\r\n item.placeOfResidence = row.values[12];\r\n item.address = row.values[13];\r\n item.fatherName = row.values[14];\r\n item.fatherBirthday = row.values[15];\r\n item.motherName = row.values[16];\r\n item.motherBirthday = row.values[17];\r\n item.type = item.status === 1 ? 1 : 2;\r\n dataImport.push(item);\r\n }\r\n });\r\n })\r\n .catch(function (err) {\r\n errString = err;\r\n dataImport = [];\r\n _this.lstDetail = dataImport;\r\n _this.selectedImportFiles = [];\r\n })\r\n .finally(function () {\r\n if (validateMess.loaihinh !== '' || validateMess.quanhuyen !== '' || validateMess.xaphuong !== '') {\r\n let mes = '';\r\n if (validateMess.loaihinh !== '') mes += validateMess.loaihinh + '. ';\r\n if (validateMess.quanhuyen !== '') mes += validateMess.quanhuyen + '. ';\r\n if (validateMess.xaphuong !== '') mes += validateMess.xaphuong + '. ';\r\n dataImport = [];\r\n _this.lstDetail = dataImport;\r\n _this.selectedImportFiles = [];\r\n _this.commonService.toastrWarning(mes);\r\n }\r\n if (!errString) {\r\n _this.lstDetail = dataImport;\r\n } else {\r\n dataImport = [];\r\n _this.lstDetail = dataImport;\r\n _this.selectedImportFiles = [];\r\n _this.commonService.toastrDanger(errString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n create(frm: NgForm) {\r\n this.lstDetail.map(c => {\r\n c.birthday = c.birthday;\r\n return c;\r\n });\r\n this.service.import(this.lstDetail).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close(true);\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    Import Danh sách đối tượng truy nã
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
      0\" style=\"list-style: none; display: inline-block\">\r\n
    • {{ file.fileName }} 
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { PAGE_SIZE, STATUS_ACTION, SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { AppCongAnApiService, DoituongTruynaEntity, ObjectIEnumerablePageModelView, PageModel, SearchModel } from 'app/@core/data/app-congan.service';\r\nimport { DoiTuongTruyNaService } from '../doi-tuong-truy-na.service';\r\nimport { DoiTuongTruyNaComponent } from '../doi-tuong-truy-na/doi-tuong-truy-na.component';\r\nimport { ImportComponent } from '../import/import.component';\r\nimport * as fs from 'file-saver';\r\nimport { DeleteDialogComponent } from 'app/@theme/components/template/dialog/delete/delete-dialog.component';\r\nimport { NbTabComponent } from '@nebular/theme';\r\n\r\n@Component({\r\n selector: 'app-index',\r\n templateUrl: './index.component.html',\r\n styleUrls: ['./index.component.scss']\r\n})\r\nexport class IndexComponent implements OnInit {\r\n constructor(private sevice: DoiTuongTruyNaService,\r\n private api: AppCongAnApiService, private commonService: CommonService, private dialog: MatDialog) { }\r\n\r\n totalPage: number;\r\n searchModel: PageModel = new PageModel({\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE,\r\n search: null,\r\n condition: null\r\n });\r\n\r\n initSearchModel() {\r\n // this.searchModel.status = 0;\r\n // this.searchModel.sortExpression = 0;\r\n }\r\n\r\n target: ObjectIEnumerablePageModelView = new ObjectIEnumerablePageModelView();\r\n file: any[] = [];\r\n isLoading: boolean = true;\r\n title: string = 'Danh sách đối tượng truy nã';\r\n lstTrangThai = [\r\n { id: 0, name: 'Không sử dụng' },\r\n { id: 1, name: 'Sử dụng' }\r\n ];\r\n isLoad: boolean = true;\r\n listLoai: any[] = [];\r\n ngOnInit(): void {\r\n this.loadData();\r\n this.initSearchModel();\r\n this.api.appCongAnApiV1DoiTuongTruyNaLstdoituongtheodoi().subscribe(r => {\r\n if (r.code == SUCCESS_RESPONSE) {\r\n this.listLoai = r.data;\r\n // this.listLoai.unshift({\r\n // name: \"Tất cả\",\r\n // value: null\r\n // })\r\n for (let i = 0; i < this.listLoai.length; i++) {\r\n this.listLoai[i].value += \"\";\r\n }\r\n }\r\n })\r\n }\r\n\r\n unitcode: string = '';\r\n loadData() {\r\n this.commonService.getUserInfo().subscribe((res) => {\r\n this.unitcode = res.UnitCode;\r\n });\r\n this.sevice.paging(this.searchModel).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.target = result.data;\r\n this.totalPage = result.data.totalPage;\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n this.isLoading = false;\r\n });\r\n }\r\n\r\n getTrangthai(item) {\r\n const check = item ? 1 : 0;\r\n return this.lstTrangThai.find((c) => c.id === check)?.name ?? null;\r\n }\r\n\r\n changeTrangthai(event) {\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n changeSapxep(event) {\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n searchPage() {\r\n this.searchModel.currentPage = 1;\r\n this.searchModel.search = this.searchModel.search?.trim();\r\n this.loadData();\r\n }\r\n\r\n resetPage() {\r\n this.searchModel.search = null;\r\n this.searchPage();\r\n }\r\n\r\n lstTrangthai = [\r\n { value: 1, text: 'Đang truy nã' },\r\n { value: 2, text: 'Đang truy tìm' },\r\n { value: 0, text: 'Đã bị bắt' }\r\n ];\r\n\r\n getStatus(value) {\r\n return this.lstTrangthai.find((c) => value === c?.value).text;\r\n }\r\n\r\n typeChanged() {\r\n if (!this.isLoad) {\r\n this.resetPage();\r\n }\r\n this.isLoad = false;\r\n }\r\n tabChanged(event: NbTabComponent) {\r\n this.searchModel.condition = event.tabId;\r\n if (!this.isLoad) {\r\n this.resetPage();\r\n }\r\n this.isLoad = false;\r\n }\r\n\r\n openImport() {\r\n const title = `Thêm mới ${this.title.toLowerCase()}`;\r\n this.dialog\r\n .open(ImportComponent, this.commonService.configDialog('80%', {}))\r\n .afterClosed()\r\n .subscribe((result) => {\r\n if (result === true) {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n\r\n downloadFile() {\r\n this.sevice.dowloadFile().subscribe((res) => {\r\n fs.saveAs(res.data, res.fileName);\r\n });\r\n }\r\n\r\n openCreateDialog() {\r\n const title = `Thêm mới ${this.title.toLowerCase()}`;\r\n this.dialog\r\n .open(DoiTuongTruyNaComponent, this.commonService.configDialog('80%', { id: null, title: title, action: STATUS_ACTION.create }))\r\n .afterClosed()\r\n .subscribe((result) => {\r\n if (result === true) {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n\r\n converBase64ToImg(code) {\r\n if (code) return 'data:image/img;base64,' + code;\r\n else '';\r\n }\r\n\r\n detailData(id: string) {\r\n const title = `Chi tiết ${this.title.toLowerCase()}`;\r\n this.dialog\r\n .open(\r\n DoiTuongTruyNaComponent,\r\n this.commonService.configDialog('80%', { id: id.toString(), title: title, action: STATUS_ACTION.detail })\r\n )\r\n .afterClosed()\r\n .subscribe(() => { });\r\n }\r\n\r\n editData(id: string, unitcode: string) {\r\n const title = `Sửa ${this.title.toLowerCase()}`;\r\n this.dialog\r\n .open(\r\n DoiTuongTruyNaComponent,\r\n this.commonService.configDialog('80%', { id: id.toString(), title: title, action: STATUS_ACTION.edit })\r\n )\r\n .afterClosed()\r\n .subscribe((result) => {\r\n if (result === true) {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n\r\n deleteData(id: number, unitcode: string) {\r\n this.dialog\r\n .open(DeleteDialogComponent, this.commonService.configDialog('30%', 'Xác nhận xóa dữ liệu.'))\r\n .afterClosed()\r\n .subscribe((data) => {\r\n if (data) {\r\n this.sevice.delete(id).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.loadData();\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n changeStatus(item) {\r\n this.api.appCongAnApiV1DoiTuongTruyNaChangeStatusDoiTuongTruyNa(item.id, item.trangthai == true ? 1 : 0).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.loadData();\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n\r\n checkAll: boolean = false;\r\n eventChecked = (item) => {\r\n // if (!item && this.target.data.length > 0) {\r\n // this.target.data.forEach((c) => {\r\n // c.checked = this.checkAll;\r\n // });\r\n // } else {\r\n // this.checkAll = this.target.data.filter((c) => !c.checked).length === 0;\r\n // }\r\n };\r\n\r\n deleteChecked = () => {\r\n const lstDelete = this.target.data?.filter((c) => c.checked === true);\r\n };\r\n\r\n openFormKhach = () => {\r\n // this.dialog\r\n // .open(SelectedKhachThueComponent, this.commonService.configDialog('50%', { testData: 'data' }))\r\n // .afterClosed()\r\n // .subscribe((result) => {\r\n // if (result === true) {\r\n // }\r\n // });\r\n // };\r\n };\r\n}\r\n","\r\n \r\n
    \r\n
    \r\n

    {{ title }}

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n  \r\n  \r\n  \r\n  \r\n \r\n \r\n \r\n \r\n  \r\n \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    STTẢnh đối tượngHọ và tênCMT/CCCDQuê quánTội danhNgười tạoTrạng tháiHành động
    {{ i + 1 + (searchModel.currentPage - 1) * searchModel.pageSize }}\"Không{{ item.ten }}{{ item.cccd }}{{ item.quequan }}{{ item.toidanh }}\r\n {{ getStatus(item?.trangthai) }} \r\n \r\n \r\n   \r\n \r\n   \r\n   \r\n \r\n
    \r\n
    \r\n
    \r\n
    0\" class=\"row\">\r\n
    \r\n
    Tổng số bản ghi: {{ target?.recordsCount }}
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Không có dữ liệu.
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { DsKhachThueComponent } from './ds-khach-thue.component';\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n children: [\r\n { path: '', component: DsKhachThueComponent },\r\n ]\r\n }\r\n];\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport {\r\n LIST_NGHENGHIEP,\r\n LST_TRANGTHAITHUE,\r\n PAGE_SIZE,\r\n provinceCode,\r\n STATUS_ACTION,\r\n STATUS_DELETE,\r\n SUCCESS_RESPONSE\r\n} from 'app/@core/customs/constants';\r\nimport {\r\n AppCongAnApiService,\r\n DiaBanInfoModel,\r\n ItemDmcongty,\r\n NhaTroIndexModel,\r\n SelectNhaTroPostModel,\r\n ShareModel,\r\n ThongKeModel,\r\n ThongKeSearchModel\r\n} from 'app/@core/data/app-congan.service';\r\nimport { Workbook } from 'exceljs';\r\nimport { QLKhachService, ViewModelKhachThue } from '../quan-ly-khach/quan-ly-khach.service';\r\nimport { QLKhachComponent } from '../quan-ly-khach/quan-ly-khach/quan-ly-khach/quan-ly-khach.component';\r\nimport { DsKhachThueService } from './ds-khach-thue.service';\r\nimport * as fs from 'file-saver';\r\nimport { QLNhaTroShareComponent } from '../quan-ly-nha-tro/quan-ly-nha-tro/quan-ly-nha-tro-share/quan-ly-nha-tro-share.component';\r\nimport { ViewLichSuComponent } from './view-lich-su/view-lich-su.component';\r\nimport { QLPhongComponent } from '../quan-ly-phong/quan-ly-phong/quan-ly-phong/quan-ly-phong.component';\r\nimport { NhatKyTheoDoiComponent } from './nhat-ky-theo-doi/nhat-ky-theo-doi.component';\r\n@Component({\r\n selector: 'ngx-ds-khach-thue',\r\n templateUrl: './ds-khach-thue.component.html',\r\n styleUrls: ['./ds-khach-thue.component.scss']\r\n})\r\nexport class DsKhachThueComponent implements OnInit {\r\n @Input() isDialog: boolean;\r\n @Input() detailModel: ThongKeModel;\r\n\r\n listItemsLoainha: any[] = [];\r\n listLoaidt: any[] = [{ name: \"Tất cả\", value: null }];\r\n\r\n constructor(\r\n private api: AppCongAnApiService,\r\n private service: DsKhachThueService,\r\n private commonService: CommonService,\r\n private dialog: MatDialog,\r\n private qlKhachService: QLKhachService\r\n ) { }\r\n ngOnInit(): void {\r\n this.getUserInfo();\r\n this.getLoainha();\r\n this.getListDanToc();\r\n this.getListAgeAndGender();\r\n //this.getTarget();\r\n this.getDmCongTy();\r\n if (this.isDialog) {\r\n this.searchModel.hotelId = this.detailModel.id;\r\n this.infoMotel.phone = this.detailModel.dienThoai;\r\n this.infoMotel.address = this.detailModel.diaChiNT;\r\n const arrMaKey = this.detailModel.maDiaBanKeyNT?.split('.');\r\n if (arrMaKey && arrMaKey.length === 4) {\r\n this.searchModel.districtCode = arrMaKey[1];\r\n this.searchModel.wardCode = arrMaKey[2];\r\n this.searchModel.villageCode = this.detailModel.maDiaBanKeyNT;\r\n }\r\n if (this.detailModel.tenNT?.toLowerCase()?.includes('nhà trọ')) {\r\n this.infoMotel.name = this.detailModel.tenNT?.toUpperCase();\r\n } else {\r\n this.infoMotel.name = 'NHÀ TRỌ ' + this.detailModel.tenNT?.toUpperCase();\r\n }\r\n }\r\n this.api.appCongAnApiV1DoiTuongTruyNaLstdoituongtheodoi().subscribe(r => {\r\n if (r.code == SUCCESS_RESPONSE) {\r\n this.listLoaidt = this.listLoaidt.concat(r.data)\r\n }\r\n })\r\n }\r\n getUserInfo() {\r\n this.commonService.getUserInfo().subscribe((res) => {\r\n this.levelUser = res.CapDonVi;\r\n this.api.appCongAnApiV1DiabanGetByLevelDiaban(1).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstProvince = result.data.map((x) => {\r\n return {\r\n ma: x.ma,\r\n ten: x.ten,\r\n };\r\n });\r\n this.service.selectOneAccount(res.Id).subscribe((acc) => {\r\n if (acc.code === SUCCESS_RESPONSE) {\r\n this.provinceCode = acc.data.matinh;\r\n this.searchModel.provinceCode = acc.data.matinh;\r\n this.searchModel.districtCode = acc.data.mahuyen.length > 0 ? acc.data.mahuyen : null;\r\n this.searchModel.wardCode = acc.data.maxa.length > 0 ? acc.data.maxa : null;\r\n this.change_Tinh_nt(acc.data);\r\n this.search()\r\n }\r\n });\r\n }\r\n });\r\n });\r\n }\r\n\r\n searchModel: ThongKeSearchModel = new ThongKeSearchModel({\r\n provinceCode: null,\r\n districtCode: null,\r\n wardCode: null,\r\n villageCode: null,\r\n hotelId: null,\r\n startDate: null,\r\n endDate: null,\r\n target: 1,\r\n type: 1, // khách thuê là 1\r\n isViewCurrentDate: false,\r\n maTinh: null,\r\n maHuyen: null,\r\n maXa: null,\r\n gioiTinh: null,\r\n doTuoi: null,\r\n danToc: null,\r\n trangThai: null,\r\n fromAge: null,\r\n toAge: null,\r\n currentPage: 1,\r\n pageSize: 10,\r\n ngheNghiep: null,\r\n noiLamViec: null,\r\n loaiTheoDoi: null,\r\n tennhatro: null\r\n });\r\n\r\n arr: ThongKeModel[] = [];\r\n target: any = {\r\n data: this.arr\r\n };\r\n\r\n lstNgheNghiep: {\r\n value: number;\r\n text: string;\r\n }[] = LIST_NGHENGHIEP;\r\n\r\n lstNoiLamViec: ItemDmcongty[] = [];\r\n\r\n lstTarget: any[] = [];\r\n lstNhaTroMaster: NhaTroIndexModel[] = [];\r\n lstNhaTro: NhaTroIndexModel[] = [];\r\n // lstYear: number[] = [];\r\n\r\n pageModel: ThongKeSearchModel = new ThongKeSearchModel({});\r\n\r\n isPolice: boolean = false;\r\n levelUser: number;\r\n\r\n lstDistrictsTamTru: any[] = [];\r\n lstDistrictsThuongTru: any[] = [];\r\n lstWardsTamTru: any[] = [];\r\n lstWardsThuongTru: any[] = [];\r\n lstDiaBanTamTru: any[] = [];\r\n lstDiaBanThuongTru: any[] = [];\r\n lstWardMasterTamTru: any[] = [];\r\n lstWardMasterThuongTru: any[] = [];\r\n lstDistrictsMasterTamTru: any[] = [];\r\n lstDistrictsMasterThuongTru: any[] = [];\r\n lstVillageTamTru: any[] = [];\r\n lstVillageMasterTamTru: any[] = [];\r\n\r\n initForm: boolean = true;\r\n\r\n lstGender: any[] = [];\r\n lstAge: any[] = [];\r\n lstProvince: any[] = [];\r\n\r\n provinceCode = '';\r\n\r\n lstDanToc: any[] = [];\r\n\r\n lstTrangThai: {\r\n value: number;\r\n text: string;\r\n }[] = LST_TRANGTHAITHUE;\r\n\r\n infoMotel: {\r\n name: string;\r\n phone: string;\r\n address: string;\r\n } = {\r\n name: null,\r\n phone: null,\r\n address: null\r\n };\r\n isCollapse: boolean = false;\r\n\r\n\r\n\r\n\r\n\r\n\r\n getMatinh(lst, unitcode, levle): string {\r\n let a = lst.find((c) => c.ma === unitcode);\r\n if (a.maCha && a.level !== levle) {\r\n return this.getMatinh(lst, a.maCha, levle);\r\n } else {\r\n return unitcode;\r\n }\r\n }\r\n\r\n getDmCongTy() {\r\n this.service.getAllDmCongTy().subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstNoiLamViec = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n getLoainha() {\r\n this.service.getLoainha().subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.listItemsLoainha = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n openCreatePhongDialog() {\r\n this.dialog\r\n .open(\r\n QLPhongComponent,\r\n this.commonService.configDialog('100%', {\r\n id: null,\r\n title: `Thêm thông tin phòng`,\r\n action: STATUS_ACTION.create,\r\n idNhaTro: this.searchModel.hotelId\r\n })\r\n )\r\n .afterClosed()\r\n .subscribe((result) => {\r\n if (result === true) {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n\r\n openCreateKhachDialog() {\r\n this.dialog\r\n .open(\r\n QLKhachComponent,\r\n this.commonService.configDialog('100%', {\r\n id: null,\r\n title: `Thêm thông tin khách thuê`,\r\n action: STATUS_ACTION.create,\r\n idNhaTro: this.searchModel.hotelId,\r\n isDangKyTamTru: false\r\n })\r\n )\r\n .afterClosed()\r\n .subscribe((result) => {\r\n if (result) {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n\r\n loadData() {\r\n this.pageModel.provinceCode = this.searchModel.provinceCode;\r\n this.pageModel.districtCode = this.searchModel.districtCode;\r\n this.pageModel.wardCode = this.searchModel.wardCode;\r\n this.pageModel.villageCode = this.searchModel.villageCode;\r\n this.pageModel.hotelId = this.searchModel.hotelId;\r\n this.pageModel.target = this.searchModel.target;\r\n this.pageModel.type = this.searchModel.type;\r\n this.pageModel.isViewCurrentDate = this.searchModel.isViewCurrentDate;\r\n this.pageModel.currentPage = this.searchModel.currentPage;\r\n this.pageModel.maTinh = this.searchModel.maTinh;\r\n this.pageModel.maHuyen = this.searchModel.maHuyen;\r\n this.pageModel.maXa = this.searchModel.maXa;\r\n this.pageModel.gioiTinh = this.searchModel.gioiTinh;\r\n this.pageModel.danToc = this.searchModel.danToc;\r\n this.pageModel.doTuoi = this.searchModel.doTuoi;\r\n this.pageModel.pageSize = this.searchModel.pageSize;\r\n this.pageModel.startDate = this.searchModel.startDate ? new Date(this.searchModel.startDate) : null;\r\n this.pageModel.endDate = this.searchModel.endDate ? new Date(this.searchModel.endDate) : null;\r\n this.pageModel.search = this.searchModel.search;\r\n this.pageModel.tennhatro = this.searchModel.tennhatro;\r\n this.pageModel.trangThai = this.searchModel.trangThai;\r\n this.pageModel.fromAge = this.searchModel.fromAge;\r\n this.pageModel.toAge = this.searchModel.toAge;\r\n this.pageModel.dienthoai = this.searchModel.dienthoai;\r\n this.pageModel.cccd = this.searchModel.cccd;\r\n this.pageModel.noiLamViec = this.searchModel.noiLamViec;\r\n this.pageModel.ngheNghiep = this.searchModel.ngheNghiep;\r\n this.pageModel.loaiTheoDoi = this.searchModel.loaiTheoDoi;\r\n\r\n this.service.paging(this.pageModel).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n getListDanToc() {\r\n this.service.getListDanToc().subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstDanToc = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n getListAgeAndGender() {\r\n this.service.getListAgeAndGender().subscribe((data) => {\r\n this.lstGender = data?.filter((c) => c.type === 1); // type = 1: giới tính\r\n this.lstAge = data?.filter((c) => c.type === 2); // type = 2: độ tuổi\r\n });\r\n }\r\n\r\n //#region tinh huyen xa thuong chu\r\n change_Tinh_tt(event: any) {\r\n this.lstDistrictsThuongTru = null;\r\n this.searchModel.maHuyen = \"\";\r\n this.api.appCongAnApiV1DiabanGetByMaChaDiaban(this.searchModel.maTinh).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstDistrictsThuongTru = result.data.map((x) => {\r\n return {\r\n ma: x.ma,\r\n ten: x.ten,\r\n };\r\n });\r\n\r\n\r\n }\r\n });\r\n }\r\n\r\n change_huyen_tt(event: any) {\r\n this.lstWardsThuongTru = null;\r\n this.searchModel.maXa = null;\r\n this.api.appCongAnApiV1DiabanGetByMaChaDiaban(this.searchModel.maHuyen).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstWardsThuongTru = result.data.map((x) => {\r\n return {\r\n ma: x.ma,\r\n ten: x.ten,\r\n };\r\n });\r\n }\r\n });\r\n }\r\n\r\n //#endregion\r\n\r\n //#region tinh huyen xa Nha tro\r\n change_Tinh_nt(Account: any) {\r\n this.lstDistrictsTamTru = null;\r\n this.api.appCongAnApiV1DiabanGetByMaChaDiaban(this.searchModel.provinceCode).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstDistrictsTamTru = result.data.map((x) => {\r\n return {\r\n ma: x.ma,\r\n ten: x.ten,\r\n };\r\n });\r\n if (Account.mahuyen != null && Account.mahuyen != \"\") {\r\n this.searchModel.districtCode = Account.mahuyen;\r\n this.change_huyen_nt(Account);\r\n }\r\n }\r\n });\r\n }\r\n\r\n change_huyen_nt(Account: any) {\r\n this.lstWardsTamTru = null;\r\n this.lstVillageTamTru = null;\r\n this.searchModel.wardCode = null;\r\n this.searchModel.villageCode = null;\r\n this.api.appCongAnApiV1DiabanGetByMaChaDiaban(this.searchModel.districtCode).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstWardsTamTru = result.data.map((x) => {\r\n return {\r\n ma: x.ma,\r\n ten: x.ten,\r\n };\r\n });\r\n if (Account.maxa != null && Account.maxa != \"\") {\r\n this.searchModel.wardCode = Account.maxa;\r\n this.change_xa_nt(null);\r\n }\r\n else {\r\n this.loadData();\r\n }\r\n }\r\n });\r\n if (!this.isDialog) {\r\n this.searchModel.wardCode = null;\r\n this.searchModel.villageCode = null;\r\n }\r\n this.lstWardsTamTru = this.lstWardMasterTamTru?.filter((c) => c.maCha === this.searchModel.districtCode);\r\n if (this.searchModel.districtCode) this.lstNhaTro = this.lstNhaTroMaster?.filter((c) => c.huyen === this.searchModel.districtCode);\r\n else this.lstNhaTro = this.lstNhaTroMaster;\r\n }\r\n change_xa_nt(Account: any) {\r\n this.lstVillageTamTru = null;\r\n this.searchModel.villageCode = null;\r\n this.api.appCongAnApiV1DiabanGetByMaChaDiaban(this.searchModel.wardCode).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstVillageTamTru = result.data.map((x) => {\r\n return {\r\n ma: x.ma,\r\n makey: x.makey,\r\n ten: x.ten,\r\n };\r\n });\r\n this.loadData();\r\n }\r\n });\r\n }\r\n change_thon_nt(event: any) {\r\n this.loadData();\r\n }\r\n //#endregion\r\n\r\n\r\n getTarget() {\r\n // get list chỉ tiêu của khách thuê với mã là 1\r\n this.service.getListTarget(1).subscribe((data) => {\r\n this.lstTarget = data;\r\n });\r\n }\r\n\r\n getListNhaTro() {\r\n const model = new SelectNhaTroPostModel({\r\n districtCode: this.searchModel.districtCode,\r\n wardCode: this.searchModel.wardCode,\r\n type: 1 // khách thuê là 1\r\n });\r\n this.service.getListSearchIndex(model).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstNhaTroMaster = res?.data?.lstNhaTro;\r\n this.lstNhaTro = res?.data?.lstNhaTro;\r\n this.lstDanToc = res.data?.lstDanToc;\r\n this.getListDvDbhc(res.data.lstDiaBan);\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n this.initForm = false;\r\n }\r\n\r\n getListDvDbhc(lstDiaBan: DiaBanInfoModel[]) {\r\n if (lstDiaBan && lstDiaBan.length > 0) {\r\n this.getUserInfo();\r\n this.searchModel.provinceCode = this.getMatinh(lstDiaBan, this.provinceCode, 1);\r\n //this.lstProvince = lstDiaBan?.filter((c) => c.level === 1);\r\n this.lstDistrictsMasterTamTru = lstDiaBan?.filter((c) => c.level === 2);\r\n this.lstDistrictsTamTru = lstDiaBan?.filter((c) => c.level === 2 && c.maCha === this.searchModel.provinceCode); // do mặc định là tỉnh bắc giang\r\n this.lstWardMasterTamTru = lstDiaBan?.filter((c) => c.level === 3);\r\n this.lstDiaBanTamTru = lstDiaBan;\r\n\r\n this.lstDistrictsMasterThuongTru = lstDiaBan?.filter((c) => c.level === 2);\r\n this.lstWardMasterThuongTru = lstDiaBan?.filter((c) => c.level === 3);\r\n this.lstVillageMasterTamTru = lstDiaBan?.filter((c) => c.level === 4);\r\n this.lstDiaBanThuongTru = lstDiaBan;\r\n if (this.isDialog) {\r\n this.changeWard(this.searchModel.wardCode);\r\n }\r\n }\r\n }\r\n\r\n changeProvinceThuongTru(event: any) {\r\n this.searchModel.maHuyen = null;\r\n this.searchModel.maXa = null;\r\n this.lstDistrictsThuongTru = this.lstDistrictsMasterThuongTru?.filter((c) => c.maCha === this.searchModel.maTinh);\r\n }\r\n\r\n changeDistrictThuongTru(event: any) {\r\n this.searchModel.maXa = null;\r\n this.lstWardsThuongTru = this.lstWardMasterThuongTru?.filter((c) => c.maCha === this.searchModel.maHuyen);\r\n }\r\n\r\n changeProvinceTamTru(event: any) {\r\n this.searchModel.districtCode = null;\r\n this.searchModel.wardCode = null;\r\n this.lstDistrictsTamTru = this.lstDistrictsMasterTamTru?.filter((c) => c.maCha === this.searchModel.provinceCode);\r\n }\r\n\r\n\r\n\r\n changeWard(event: any) {\r\n if (!this.isDialog) {\r\n this.searchModel.villageCode = null;\r\n }\r\n this.lstVillageTamTru = this.lstVillageMasterTamTru?.filter((c) => c.maCha === this.searchModel.wardCode);\r\n if (this.searchModel.wardCode) {\r\n this.lstNhaTro = this.lstNhaTroMaster?.filter((c) => c.huyen === this.searchModel.districtCode && c.xa === this.searchModel.wardCode);\r\n } else if (this.searchModel.districtCode)\r\n this.lstNhaTro = this.lstNhaTroMaster?.filter((c) => c.huyen === this.searchModel.districtCode);\r\n else this.lstNhaTro = this.lstNhaTroMaster;\r\n }\r\n\r\n changeVillage(event) {\r\n this.lstNhaTro = this.lstNhaTroMaster?.filter(\r\n (c) =>\r\n c.huyen === this.searchModel.districtCode && c.xa === this.searchModel.wardCode && c.madiabankey === this.searchModel.villageCode\r\n );\r\n }\r\n\r\n search() {\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n viewDetail(id: number, idPhongTro: number, loaiDT: number, cccd) {\r\n this.qlKhachService.selectOne(id).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n const item = new ViewModelKhachThue({\r\n id: res.data?.id,\r\n loaiDT: loaiDT ?? null,\r\n hoten: res.data?.hoten,\r\n gioitinh: res.data?.gioitinh,\r\n email: res.data?.email,\r\n dtlienhe: res.data?.dienthoai,\r\n ngaysinh: res.data?.ngaysinh,\r\n cmnd: res.data?.cccd,\r\n noicap: res.data?.cccdNoicap,\r\n ngaycap: res.data?.cccdNgaycap,\r\n nghenghiep: res.data?.nghenghiep,\r\n noicongtac: res.data?.noicongtac,\r\n tamtrutu: res.data?.tamtrutu,\r\n tamtruden: res.data?.tamtruden,\r\n lydotamtru: res.data?.lydotamtru,\r\n nguoithan: res.data?.tengnuoithan,\r\n dtnguoithan: res.data?.dienthoainguoithan,\r\n imgcmndBefore: res.data?.cccdMattruoc,\r\n imgcmndAfter: res.data?.cccdMatsau,\r\n imgchandung: res.data?.anhchandung,\r\n trangthai: res.data?.trangthai,\r\n unitcode: null,\r\n dangkytamtrutamvang: res.data?.dangkytamtrutamvang,\r\n tongiao: res.data?.tongiao,\r\n idnhatro: res.data?.idnhatro,\r\n dantoc: res.data?.dantoc,\r\n idphong: idPhongTro,\r\n tenphong: null,\r\n matinh: res.data.matinh,\r\n mahuyen: res.data.mahuyen,\r\n maxa: res.data.maxa,\r\n nghenghiepkhac: res.data.nghenghiepkhac,\r\n ngaynhanphonggannhat: res.data.ngaynhanphongGannhat,\r\n cccd: cccd,\r\n hktt: null,\r\n tamtru: null,\r\n madiabankey: res.data.madiabankey,\r\n thon: res.data.thon,\r\n thoigianthue: res.data.thoigianthue,\r\n ngayDangKyTamTru: null\r\n });\r\n this.dialog\r\n .open(\r\n QLKhachComponent,\r\n this.commonService.configDialog('100%', {\r\n id: id,\r\n title: `Chi tiết thông tin khách thuê`,\r\n action: STATUS_ACTION.detail,\r\n idNhaTro: this.searchModel.hotelId ?? id,\r\n data: item,\r\n tenPhong: res.data.tenphongGannhat,\r\n isFromLst: true\r\n })\r\n )\r\n .afterClosed()\r\n .subscribe(() => {\r\n this.loadData();\r\n });\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n exportExcel() {\r\n const workbook = new Workbook();\r\n const worksheet = workbook.addWorksheet('Dữ liệu');\r\n\r\n const title: string = 'THỐNG KÊ KHÁCH THUÊ';\r\n\r\n const subTitle: string = this.getSubTitleExport();\r\n\r\n const lstColumnNames: {\r\n key: string;\r\n text: string;\r\n align: number;\r\n width: number;\r\n }[] = this.getListColumnNames();\r\n\r\n worksheet.columns = [\r\n { header: [title, subTitle, lstColumnNames[0]?.text], key: lstColumnNames[0]?.key, width: lstColumnNames[0]?.width },\r\n { header: [title, subTitle, lstColumnNames[1]?.text], key: lstColumnNames[1]?.key, width: lstColumnNames[1]?.width },\r\n { header: [title, subTitle, lstColumnNames[2]?.text], key: lstColumnNames[2]?.key, width: lstColumnNames[2]?.width },\r\n { header: [title, subTitle, lstColumnNames[3]?.text], key: lstColumnNames[3]?.key, width: lstColumnNames[3]?.width },\r\n { header: [title, subTitle, lstColumnNames[4]?.text], key: lstColumnNames[4]?.key, width: lstColumnNames[4]?.width },\r\n { header: [title, subTitle, lstColumnNames[5]?.text], key: lstColumnNames[5]?.key, width: lstColumnNames[5]?.width },\r\n { header: [title, subTitle, lstColumnNames[6]?.text], key: lstColumnNames[6]?.key, width: lstColumnNames[6]?.width },\r\n { header: [title, subTitle, lstColumnNames[7]?.text], key: lstColumnNames[7]?.key, width: lstColumnNames[7]?.width },\r\n { header: [title, subTitle, lstColumnNames[8]?.text], key: lstColumnNames[8]?.key, width: lstColumnNames[8]?.width },\r\n { header: [title, subTitle, lstColumnNames[9]?.text], key: lstColumnNames[9]?.key, width: lstColumnNames[9]?.width },\r\n { header: [title, subTitle, lstColumnNames[10]?.text], key: lstColumnNames[10]?.key, width: lstColumnNames[10]?.width },\r\n { header: [title, subTitle, lstColumnNames[11]?.text], key: lstColumnNames[11]?.key, width: lstColumnNames[11]?.width },\r\n { header: [title, subTitle, lstColumnNames[12]?.text], key: lstColumnNames[12]?.key, width: lstColumnNames[12]?.width }\r\n ];\r\n\r\n worksheet.mergeCells(0, 1, 0, lstColumnNames.length);\r\n worksheet.getCell(1, 1).style = {\r\n font: { bold: true, size: 17, name: 'Times New Roman' },\r\n alignment: { vertical: 'middle', horizontal: 'center', wrapText: true }\r\n };\r\n worksheet.getRow(1).height = 40;\r\n\r\n worksheet.mergeCells(2, 1, 2, lstColumnNames.length);\r\n worksheet.getCell(2, 1).style = {\r\n font: { size: 13, name: 'Times New Roman', italic: true },\r\n alignment: { vertical: 'middle', horizontal: 'center', wrapText: true }\r\n };\r\n worksheet.getRow(2).height = 25;\r\n\r\n worksheet.getRow(3).height = 35;\r\n worksheet.getRow(3).alignment = { horizontal: 'center', vertical: 'middle', wrapText: true };\r\n worksheet.getRow(3).font = { bold: true, name: 'Times New Roman', size: 11 };\r\n\r\n this.service.paging(this.pageModel).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n const targetExport: ThongKeModel[] = res.data.data;\r\n let index = 0;\r\n targetExport?.forEach((e) => {\r\n index++;\r\n worksheet.addRow(\r\n {\r\n index: index,\r\n tenKhachThue: e.tenKhachThue,\r\n tenNhaTro: e.tenNhaTro,\r\n tenPhong: e.tenPhong,\r\n tamTru: e.tamTru,\r\n ngayThue: e.ngayThue?.toLocaleDateString(),\r\n tinhTrang: e.tinhTrang,\r\n cmnd: e.cmnd,\r\n hktt: e.hktt,\r\n ngaySinh: e.ngaySinh?.toLocaleDateString(),\r\n gioiTinh: e.gioiTinh,\r\n danToc: e.danToc,\r\n dienThoai: e.dienThoai\r\n },\r\n 'n'\r\n );\r\n });\r\n\r\n worksheet.eachRow((row, rowNumber) => {\r\n if (rowNumber > 2) {\r\n lstColumnNames.forEach((col, colNumber) => {\r\n if (rowNumber === 3) {\r\n worksheet.getCell(rowNumber, colNumber + 1).border = {\r\n top: { style: 'thin' },\r\n right: { style: 'thin' },\r\n bottom: { style: 'thin' },\r\n left: { style: 'thin' }\r\n };\r\n } else {\r\n worksheet.getCell(rowNumber, colNumber + 1).style = {\r\n font: { size: 11, name: 'Times New Roman' },\r\n alignment: { vertical: 'middle', horizontal: col.align === 0 ? 'left' : 'center', wrapText: true }\r\n };\r\n\r\n worksheet.getCell(rowNumber, colNumber + 1).border = {\r\n top: { style: 'thin' },\r\n right: { style: 'thin' },\r\n bottom: { style: 'thin' },\r\n left: { style: 'thin' }\r\n };\r\n }\r\n });\r\n }\r\n });\r\n\r\n workbook.xlsx.writeBuffer().then((data) => {\r\n const blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n fs.saveAs(blob, title + '.xlsx');\r\n });\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n this.searchModel.pageSize = PAGE_SIZE;\r\n });\r\n }\r\n\r\n getSubTitleExport() {\r\n const arrtitle: string[] = [];\r\n\r\n if (this.searchModel.villageCode) {\r\n if (this.lstVillageTamTru?.find((c) => c.makey === this.searchModel.villageCode)?.ten)\r\n arrtitle.push(this.lstVillageTamTru?.find((c) => c.makey === this.searchModel.villageCode)?.ten);\r\n }\r\n\r\n if (this.searchModel.wardCode) {\r\n if (this.lstWardsTamTru?.find((c) => c.ma === this.searchModel.wardCode)?.ten)\r\n arrtitle.push(this.lstWardsTamTru?.find((c) => c.ma === this.searchModel.wardCode)?.ten);\r\n }\r\n\r\n if (this.searchModel.districtCode) {\r\n if (this.lstDistrictsTamTru?.find((c) => c.ma === this.searchModel.districtCode)?.ten)\r\n arrtitle.push(this.lstDistrictsTamTru?.find((c) => c.ma === this.searchModel.districtCode)?.ten);\r\n }\r\n\r\n if (this.searchModel.provinceCode) {\r\n arrtitle.push('Tỉnh Bắc Giang');\r\n }\r\n\r\n return arrtitle?.join(' - ');\r\n }\r\n\r\n getListColumnNames() {\r\n const lstColumnNames: {\r\n key: string;\r\n text: string;\r\n align: number; // 0: left; 1: center; 2: right\r\n width: number;\r\n }[] = [\r\n {\r\n key: 'index',\r\n text: 'STT',\r\n align: 1,\r\n width: 7\r\n },\r\n {\r\n key: 'tenKhachThue',\r\n text: 'Tên khách thuê',\r\n align: 0,\r\n width: 25\r\n },\r\n {\r\n key: 'tenNhaTro',\r\n text: 'Nhà trọ',\r\n align: 0,\r\n width: 25\r\n },\r\n {\r\n key: 'tenPhong',\r\n text: 'Phòng trọ',\r\n align: 0,\r\n width: 15\r\n },\r\n {\r\n key: 'tamTru',\r\n text: 'Địa chỉ nhà trọ',\r\n align: 0,\r\n width: 30\r\n },\r\n {\r\n key: 'ngayThue',\r\n text: 'Ngày thuê',\r\n align: 1,\r\n width: 15\r\n },\r\n {\r\n key: 'tinhTrang',\r\n text: 'Tình trạng',\r\n align: 1,\r\n width: 15\r\n },\r\n {\r\n key: 'cmnd',\r\n text: 'CMND/CCCD',\r\n align: 1,\r\n width: 20\r\n },\r\n {\r\n key: 'hktt',\r\n text: 'HKTT',\r\n align: 0,\r\n width: 30\r\n },\r\n {\r\n key: 'ngaySinh',\r\n text: 'Ngày sinh',\r\n align: 1,\r\n width: 15\r\n },\r\n {\r\n key: 'gioiTinh',\r\n text: 'Giới tính',\r\n align: 1,\r\n width: 10\r\n },\r\n {\r\n key: 'danToc',\r\n text: 'Dân tộc',\r\n align: 1,\r\n width: 15\r\n },\r\n {\r\n key: 'dienThoai',\r\n text: 'Điện thoại',\r\n align: 1,\r\n width: 20\r\n }\r\n ];\r\n return lstColumnNames;\r\n }\r\n\r\n deleteData(item: ThongKeModel) {\r\n const postModel = new ShareModel({\r\n id: item.id + '',\r\n trangthai: STATUS_DELETE,\r\n idPhong: item.idPhongTro\r\n });\r\n this.dialog\r\n .open(QLNhaTroShareComponent, this.commonService.configDialog('20%', null))\r\n .afterClosed()\r\n .subscribe((result) => {\r\n if (result === true) {\r\n this.service.share(postModel).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.loadData();\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n viewHistory(item: ThongKeModel) {\r\n this.dialog\r\n .open(ViewLichSuComponent, this.commonService.configDialog('70%', { ktItem: item }))\r\n .afterClosed()\r\n .subscribe((res) => {\r\n if (res) {\r\n }\r\n });\r\n }\r\n nhatKy(item: ThongKeModel) {\r\n this.dialog\r\n .open(NhatKyTheoDoiComponent, this.commonService.configDialog('70%', { ktItem: item }))\r\n .afterClosed()\r\n .subscribe((res) => {\r\n });\r\n }\r\n\r\n targetPrint: ThongKeModel[] = [];\r\n print(print_section): void {\r\n const searchAllModel = this.searchModel;\r\n searchAllModel.pageSize = 0;\r\n this.service.paging(searchAllModel).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.targetPrint = res.data.data;\r\n setTimeout(() => {\r\n this.print_window(print_section);\r\n }, 1000);\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n print_window(printSectionId: string) {\r\n this.commonService.printHtml(printSectionId, 'DANH SÁCH KHÁCH THUÊ', this.getPrintSubTitle());\r\n }\r\n\r\n getPrintSubTitle() {\r\n const address: string[] = [];\r\n if (this.searchModel.villageCode) {\r\n address.push(this.lstVillageTamTru?.find((c) => c.ma === this.searchModel.villageCode)?.ten);\r\n }\r\n if (this.searchModel.wardCode) {\r\n address.push(this.lstWardsTamTru?.find((c) => c.ma === this.searchModel.wardCode)?.ten);\r\n }\r\n if (this.searchModel.districtCode) {\r\n address.push(this.lstDistrictsTamTru?.find((c) => c.ma === this.searchModel.districtCode)?.ten);\r\n }\r\n return address || address.length > 0 ? address.join(' - ') : '';\r\n }\r\n}\r\n","\r\n \r\n
    \r\n
    \r\n DANH SÁCH KHÁCH THUÊ\r\n
    \r\n
    \r\n DANH SÁCH KHÁCH THUÊ CỦA\r\n {{ infoMotel.name }} \r\n (Điện thoại: {{ infoMotel.phone }} - Địa chỉ: {{ infoMotel.address }})\r\n
    \r\n
    \r\n \r\n  \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Nơi ĐKHK thường trú\r\n
    \r\n
    \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n  \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n  \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n   \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Địa chỉ nhà trọ\r\n
    \r\n
    \r\n  \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n  \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n  \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n  \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Thông tin cá nhân\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n  \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Thông tin thời gian thuê của khách\r\n
    \r\n
    \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n  \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Thông tin nghề nghiệp\r\n
    \r\n
    \r\n  \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n  \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n  \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n  \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    IdTên khách thuêNhà trọ/thuê/nghỉ/khách\r\n sạn..Phòng trọ/thuê..Tạm trú (Đ/c nhà trọ)Ngày thuêNgày trảTình trạngCMND/CCCDĐiện thoạiHKTTNgày sinhGiới tínhDân tộc
    \r\n {{ item.id }}\r\n \r\n {{ item.tenKhachThue }}\r\n {{ item.tenNhaTro }}\r\n {{ item.tenPhong }}{{ item.tamTru }}\r\n {{ item.ngayThue | date : 'dd/MM/yyyy' }}\r\n {{ item.ngayTra | date : 'dd/MM/yyyy' }}{{ item.tinhTrang }}{{ item.cmnd }}{{ item.dienThoai }}{{ item.hktt }}\r\n {{ item.ngaySinh | date : 'dd/MM/yyyy' }}\r\n {{ item.gioiTinh }}{{ item.danToc }}\r\n \r\n \r\n \r\n 0\" (click)=\"nhatKy(item)\" style=\"margin-left: 10px\"\r\n title=\"Nhật ký theo dõi\">\r\n \r\n \r\n
    Không có dữ liệu.
    \r\n
    \r\n
    \r\n
    0\" class=\"row\">\r\n
    \r\n
    Tổng số: {{ target?.recordsCount }}
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n
    ","import { Injectable } from '@angular/core';\r\nimport {\r\n ApiResponse,\r\n AppCongAnApiService,\r\n DataChartModelIEnumerableApiResponse,\r\n ItemDmcongtyListApiResponse,\r\n ItemloainhaListApiResponse,\r\n LichSuThueModelIEnumerableApiResponse,\r\n SearchIndexModelApiResponse,\r\n SelectNhaTroPostModel,\r\n ShareModel,\r\n TaikhoanEntityApiResponse,\r\n TenantHistorySearchModel,\r\n ThongKeModelIEnumerablePageModelViewApiResponse,\r\n ThongKeSearchModel\r\n} from 'app/@core/data/app-congan.service';\r\nimport {\r\n AppQthtApiService,\r\n ObjectIEnumerableApiResponse,\r\n SysunitEntityApiResponse\r\n} from 'app/@core/data/app-qtht.service';\r\nimport { Observable, of } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class DsKhachThueService {\r\n constructor(\r\n private api: AppCongAnApiService,\r\n private qthtApi: AppQthtApiService\r\n ) { }\r\n\r\n getListSearchIndex(body: SelectNhaTroPostModel | undefined): Observable {\r\n return this.api.appCongAnApiV1ThongKeGetListSearchIndex(body);\r\n }\r\n\r\n paging(body: ThongKeSearchModel | undefined): Observable {\r\n return this.api.appCongAnApiV1ThongKePaging(body);\r\n }\r\n\r\n selectDbhc(): Observable {\r\n return this.api.appCongAnApiV1DmDiaBanSelectAll();\r\n }\r\n\r\n getDataChart(body: ThongKeSearchModel | undefined): Observable {\r\n return this.api.appCongAnApiV1ThongKeGetDataChart(body);\r\n }\r\n\r\n selectOneAccount(id: number): Observable {\r\n return this.api.appCongAnApiV1TaiKhoanSelectOne(id);\r\n }\r\n\r\n getListDanToc(): Observable {\r\n return this.api.appCongAnApiV1DmDanTocSelectAll();\r\n }\r\n\r\n share(request: ShareModel): Observable {\r\n return this.api.appCongAnApiV1NguoiThueShare(request);\r\n }\r\n\r\n getTenantHistory(body: TenantHistorySearchModel): Observable {\r\n return this.api.appCongAnApiV1ThongKeGetTenantHistory(body);\r\n }\r\n\r\n getAllDmCongTy(): Observable {\r\n return this.api.appCongAnApiV1DmcongtyGetAll();\r\n }\r\n\r\n \r\n getLoainha(): Observable {\r\n return this.api.appCongAnApiV1NhatroGetLoaiNha();\r\n }\r\n\r\n getListTarget(type?: number): Observable {\r\n if (type === 1) {\r\n\r\n const lst: any[] = [\r\n {\r\n value: 1,\r\n text: 'Dân tộc'\r\n },\r\n {\r\n value: 2,\r\n text: 'Giới tính'\r\n\r\n },\r\n {\r\n value: 3,\r\n text: 'Độ tuổi'\r\n\r\n }\r\n ];\r\n return of(lst);\r\n } else {\r\n const lst: any[] = [\r\n {\r\n value: 1,\r\n text: 'Nhà trọ'\r\n },\r\n {\r\n value: 2,\r\n text: 'Nhà nghỉ/Khách sạn'\r\n\r\n }\r\n ];\r\n return of(lst);\r\n }\r\n }\r\n\r\n getListAgeAndGender(): Observable {\r\n const lst: any[] = [\r\n {\r\n value: 0,\r\n text: 'Nữ',\r\n type: 1\r\n },\r\n {\r\n value: 1,\r\n text: 'Nam',\r\n type: 1\r\n },\r\n\r\n {\r\n value: 0,\r\n text: 'Từ 0-14',\r\n type: 2\r\n },\r\n {\r\n value: 1,\r\n text: 'Từ 15-64',\r\n type: 2\r\n },\r\n {\r\n value: 2,\r\n text: 'Từ 65 trở lên',\r\n type: 2\r\n\r\n }\r\n ];\r\n return of(lst);\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { ThongKeModel, LichSuThueModel, TenantHistorySearchModel, AppCongAnApiService, ItemNhatkyDoituongTheodoi, PageNhatkyDoituongTheodoi } from 'app/@core/data/app-congan.service';\r\nimport { DsKhachThueService } from '../ds-khach-thue.service';\r\nimport { ViewLichSuComponent } from '../view-lich-su/view-lich-su.component';\r\n\r\n@Component({\r\n selector: 'app-nhat-ky-theo-doi',\r\n templateUrl: './nhat-ky-theo-doi.component.html',\r\n styleUrls: ['./nhat-ky-theo-doi.component.css']\r\n})\r\nexport class NhatKyTheoDoiComponent implements OnInit {\r\n\r\n constructor(\r\n private api: AppCongAnApiService,\r\n private commonService: CommonService,\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: { ktItem: ThongKeModel }\r\n ) { }\r\n target: ItemNhatkyDoituongTheodoi[] = [];\r\n modelNk: ItemNhatkyDoituongTheodoi = new ItemNhatkyDoituongTheodoi({\r\n noidung: '',\r\n iddoituong: this.data.ktItem.idTheoDoi,\r\n ngaytao: new Date()\r\n })\r\n model: PageNhatkyDoituongTheodoi = new PageNhatkyDoituongTheodoi({\r\n currentPage: 1,\r\n pageSize: 100,\r\n strKey: this.data.ktItem.idTheoDoi.toString(),\r\n });\r\n\r\n ngOnInit(): void {\r\n this.api.appCongAnApiV1NhatkyDoituongTheodoiPostPagingNhatkyDoituongTheodoi(this.model).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target = res.data.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n loadData() {\r\n this.api.appCongAnApiV1NhatkyDoituongTheodoiPostInsertNhatkyDoituongTheodoi(this.modelNk).subscribe(r => {\r\n if (r.code == SUCCESS_RESPONSE)\r\n this.api.appCongAnApiV1NhatkyDoituongTheodoiPostPagingNhatkyDoituongTheodoi(this.model).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target = res.data.data;\r\n this.modelNk.noidung = null\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n })\r\n }\r\n\r\n\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n

    Nhật ký theo dõi

    \r\n
    \r\n
    \r\n Khách thuê\r\n {{ data.ktItem.tenKhachThue }} (Cmnd/Cccd:\r\n {{ data.ktItem.cmnd }}, Giới tính: {{ data.ktItem.gioiTinh }}, Điện thoại:\r\n {{ data.ktItem.dienThoai }}, Địa chỉ: {{ data.ktItem.hktt }})\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n STT\r\n \r\n Nội dung\r\n \r\n Ngày tạo\r\n
    {{ index + 1 }}{{ item.noidung }}\r\n {{ item.ngaytao | date : \"dd/MM/yyyy\" }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { LichSuThueModel, TenantHistorySearchModel, ThongKeModel } from 'app/@core/data/app-congan.service';\r\nimport { DsKhachThueService } from '../ds-khach-thue.service';\r\n\r\n@Component({\r\n selector: 'ngx-view-lich-su',\r\n templateUrl: './view-lich-su.component.html',\r\n styleUrls: ['./view-lich-su.component.scss']\r\n})\r\nexport class ViewLichSuComponent implements OnInit {\r\n\r\n constructor(\r\n private service: DsKhachThueService,\r\n private commonService: CommonService,\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: { ktItem: ThongKeModel }\r\n ) { }\r\n target: LichSuThueModel[] = [];\r\n\r\n model: TenantHistorySearchModel = new TenantHistorySearchModel({\r\n tenantId: this.data.ktItem.id,\r\n search: null,\r\n });\r\n\r\n ngOnInit(): void {\r\n this.loadData();\r\n }\r\n\r\n loadData() {\r\n this.service.getTenantHistory(this.model).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n Khách thuê\r\n {{ data.ktItem.tenKhachThue }} (Cmnd/Cccd:\r\n {{ data.ktItem.cmnd }}, Giới tính: {{ data.ktItem.gioiTinh }}, Điện thoại:\r\n {{ data.ktItem.dienThoai }}, Địa chỉ: {{ data.ktItem.hktt }})\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n STT\r\n \r\n Nhà trọ\r\n \r\n Phòng trọ\r\n \r\n Địa chỉ\r\n \r\n Ngày thuê\r\n \r\n Ngày trả\r\n \r\n Trạng thái\r\n
    {{ index + 1 }}{{ item.tenNhaTro }}{{ item.tenPhong }}{{ item.diaChiNT }}\r\n {{ item.ngayThue | date : \"dd/MM/yyyy\" }}\r\n \r\n {{ item.ngayTra | date : \"dd/MM/yyyy\" }}\r\n {{ item.tinhTrang }}
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { DsNhaTroComponent } from './ds-nha-tro.component';\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n children: [\r\n { path: '', component: DsNhaTroComponent },\r\n ]\r\n }\r\n];\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { SeriesLabels } from '@progress/kendo-angular-charts';\r\nimport { CommonService, ConvertDatePipe } from 'app/@core/customs/common.service';\r\nimport { PAGE_SIZE, provinceCode, STATUS_ACTION, STATUS_DELETE, SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { AppCongAnApiService, ShareModel, ThongKeModel, ThongKeSearchModel } from 'app/@core/data/app-congan.service';\r\nimport { Workbook } from 'exceljs';\r\nimport { QLNhaTroService, ViewModelNhaTro } from '../quan-ly-nha-tro/quan-ly-nha-tro.service';\r\nimport { QLNhaTroComponent } from '../quan-ly-nha-tro/quan-ly-nha-tro/quan-ly-nha-tro/quan-ly-nha-tro.component';\r\nimport { DsNhaTroService } from './ds-nha-tro.service';\r\nimport * as fs from 'file-saver';\r\nimport localeFr from '@angular/common/locales/vi';\r\nimport { registerLocaleData } from '@angular/common';\r\nimport { QuanLyThongBaoComponent } from '../quan-ly-thong-bao/quan-ly-thong-bao/quan-ly-thong-bao/quan-ly-thong-bao.component';\r\nimport { QLNhaTroShareComponent } from '../quan-ly-nha-tro/quan-ly-nha-tro/quan-ly-nha-tro-share/quan-ly-nha-tro-share.component';\r\nimport { ResetPasswordModel } from 'app/@core/data/app-qtht.service';\r\nimport { InputDialogComponent } from 'app/@theme/components/template/dialog/input/input-dialog.component';\r\nimport { DanhMucNguoiDungService } from '../danh-muc-nguoi-dung/danh-muc-nguoi-dung.service';\r\nimport { DsKhachThueComponent } from '../ds-khach-thue/ds-khach-thue.component';\r\nimport { ViewKhachThueDetailComponent } from './view-khach-thue-detail/view-khach-thue-detail.component';\r\nimport { PanelBarExpandMode } from '@progress/kendo-angular-layout';\r\nregisterLocaleData(localeFr, 'vi');\r\n\r\n@Component({\r\n selector: 'ngx-ds-nha-tro',\r\n templateUrl: './ds-nha-tro.component.html',\r\n styleUrls: ['./ds-nha-tro.component.scss']\r\n})\r\nexport class DsNhaTroComponent implements OnInit {\r\n constructor(\r\n private api: AppCongAnApiService,\r\n\r\n private service: DsNhaTroService,\r\n private commonService: CommonService,\r\n private dialog: MatDialog,\r\n private motelService: QLNhaTroService,\r\n private userService: DanhMucNguoiDungService\r\n ) { }\r\n public listItemsLoainha: any[] = [];\r\n public selectedvalueLoainha = 0;\r\n public listItemstrangthaicokhach: Array<{ text: string; value: number }> = [\r\n { text: \"Tất cả\", value: 0 },\r\n { text: \"Có khách thuê\", value: 1 },\r\n { text: \"Không có khách thuê\", value: 2 },\r\n { text: \"Dừng hoạt động\", value: 3 },\r\n ];\r\n public selectedvalueTrangthaicokhach = 0;\r\n isCollapse: boolean = false;\r\n\r\n searchModel: ThongKeSearchModel = new ThongKeSearchModel({\r\n provinceCode: null, // mã tỉnh bắc giang\r\n districtCode: null,\r\n wardCode: null,\r\n villageCode: null,\r\n hotelId: null,\r\n fromYear: null,\r\n toYear: null,\r\n target: null,\r\n type: 0, // nhà trọ / nha thue/nha nghi...\r\n tranhthaikhachthue: 0,\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE\r\n });\r\n\r\n isNonTenant: boolean = false;\r\n\r\n pageModel: ThongKeSearchModel = new ThongKeSearchModel({});\r\n\r\n arr: ThongKeModel[] = [];\r\n target: any = {\r\n data: this.arr\r\n };\r\n\r\n lstDistricts: any[] = [];\r\n lstWards: any[] = [];\r\n lstTinh: any[] = [];\r\n\r\n lstWardMaster: any[] = [];\r\n lstDiaBan: any[] = [];\r\n\r\n lstThon: any[] = [];\r\n lstThonMaster: any[] = [];\r\n\r\n lstTarget: any[] = [];\r\n // lstNhaTroMaster: NhatroEntity[] = [];\r\n // lstNhaTro: NhatroEntity[] = [];\r\n // lstYear: number[] = [];\r\n unitcode: string = '';\r\n lstCategories: string[] = [];\r\n lstData: any[] = [];\r\n lstYearChart: any[] = [];\r\n targetDataChart: any[] = [];\r\n\r\n title: string; // tiêu đề theo filter\r\n\r\n isRequired: boolean = false; // khi chọn biểu đồ cần required 1 số trường\r\n\r\n seriesLabels: SeriesLabels = {\r\n visible: true, // Note that visible defaults to false\r\n padding: 3,\r\n font: 'bold 16px Roboto'\r\n };\r\n isPolice: boolean = false;\r\n levelUser: number;\r\n\r\n environmentUrl: string;\r\n\r\n ngOnInit(): void {\r\n this.environmentUrl = window.location.href.substring(0, window.location.href.indexOf('congan'));\r\n this.getTarget();\r\n this.getListDvDbhc();\r\n this.getLoainha();\r\n // this.loadData();\r\n }\r\n\r\n // getSearchIndex() {\r\n // const model = new SelectNhaTroPostModel({\r\n // districtCode: this.searchModel.districtCode,\r\n // wardCode: this.searchModel.wardCode,\r\n // type: 2 // thống kê nhà trọ /nhà nghỉ/khacsn sạn\r\n // });\r\n // this.service.getListSearchIndex(model).subscribe(res => {\r\n // if (res.code === SUCCESS_RESPONSE) {\r\n // this.lstNhaTroMaster = res?.data?.lstNhaTro;\r\n // this.lstNhaTro = res?.data?.lstNhaTro;\r\n // this.lstYear = res?.data?.lstYear;\r\n // } else {\r\n // this.commonService.toastrDanger(res.message);\r\n // }\r\n // });\r\n // }\r\n getLoainha() {\r\n this.api.appCongAnApiV1NhatroGetLoaiNha().subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.listItemsLoainha = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n openCreateDialog() {\r\n const title = 'Thêm mới thông tin nhà trọ';\r\n this.dialog\r\n .open(\r\n QLNhaTroComponent,\r\n this.commonService.configDialog('60%', {\r\n id: null,\r\n title: title,\r\n action: STATUS_ACTION.create,\r\n cax: true,\r\n huyen: this.searchModel.districtCode,\r\n xa: this.searchModel.wardCode\r\n })\r\n )\r\n .afterClosed()\r\n .subscribe((result) => {\r\n this.loadData();\r\n });\r\n }\r\n\r\n loadData() {\r\n this.pageModel.districtCode = this.searchModel.districtCode;\r\n this.pageModel.wardCode = this.searchModel.wardCode;\r\n this.pageModel.villageCode = this.searchModel.villageCode;\r\n this.pageModel.provinceCode = this.searchModel.provinceCode;\r\n\r\n this.pageModel.hotelId = this.searchModel.hotelId;\r\n this.pageModel.target = this.searchModel.target;\r\n this.pageModel.type = this.searchModel.type;\r\n this.pageModel.isViewCurrentDate = this.searchModel.isViewCurrentDate;\r\n this.pageModel.currentPage = this.searchModel.currentPage;\r\n this.pageModel.pageSize = this.searchModel.pageSize;\r\n this.pageModel.startDate = this.searchModel.startDate ? new Date(this.searchModel.startDate) : null;\r\n this.pageModel.endDate = this.searchModel.endDate ? new Date(this.searchModel.endDate) : null;\r\n this.pageModel.tranhthaikhachthue = this.searchModel.tranhthaikhachthue;\r\n this.service.paging(this.pageModel).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.environmentUrl = window.location.href.substring(0, window.location.href.indexOf('congan'));\r\n this.target = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n getMatinh(lst, unitcode, levle): string {\r\n let a = lst.find((c) => c.ma === unitcode);\r\n if (a.maCha && a.level !== levle) {\r\n return this.getMatinh(lst, a.maCha, levle);\r\n } else {\r\n return unitcode;\r\n }\r\n }\r\n\r\n getUserInfo() {\r\n this.commonService.getUserInfo().subscribe((res) => {\r\n console.log(res);\r\n \r\n this.unitcode = res.UnitCode;\r\n this.service.selectOneAccount(res.Id).subscribe((acc) => {\r\n if (acc.code === SUCCESS_RESPONSE) {\r\n if (acc.data.type) {\r\n this.levelUser = res.CapDonVi;\r\n this.isPolice = true;\r\n if (this.levelUser !== 1) {\r\n // this.searchModel.districtCode = acc.data.mahuyen;\r\n this.searchModel.districtCode = this.getMatinh(this.lstDiaBan, this.unitcode, 2);\r\n if (this.levelUser === 3) {\r\n // this.searchModel.wardCode = acc.data.maxa;\r\n this.searchModel.wardCode = this.getMatinh(this.lstDiaBan, this.unitcode, 3);\r\n } else {\r\n this.searchModel.wardCode = null;\r\n }\r\n // this.lstWards = this.lstDiaBan?.filter(x => x.maCha === this.searchModel.districtCode);\r\n this.lstWards = this.lstWardMaster?.filter((x) => x.maCha === this.searchModel.districtCode);\r\n this.lstThon = this.lstThonMaster?.filter((x) => x.maCha === this.searchModel.wardCode);\r\n }\r\n // this.getSearchIndex();\r\n this.loadData();\r\n } else {\r\n this.isPolice = false;\r\n }\r\n } else {\r\n this.commonService.toastrDanger(acc.message);\r\n }\r\n });\r\n });\r\n }\r\n\r\n getTarget() {\r\n // get list chỉ tiêu của nhà trọ với mã là 2\r\n this.service.getListTarget(2).subscribe((data) => {\r\n this.lstTarget = data;\r\n });\r\n }\r\n\r\n getListDvDbhc() {\r\n this.service.selectDbhc().subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstTinh = res.data?.filter((c) => c.level === 1);\r\n this.getUserInfo();\r\n this.searchModel.provinceCode = this.getMatinh(res.data, this.unitcode, 1);\r\n this.lstDistricts = res.data?.filter((c) => c.level === 2 && c.maCha === this.searchModel.provinceCode);\r\n this.lstWardMaster = res.data?.filter((c) => c.level === 3);\r\n this.lstThonMaster = res.data?.filter((c) => c.level === 4);\r\n this.lstDiaBan = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n changeDistrict(event: any) {\r\n this.lstWards = this.lstWardMaster?.filter((c) => c.maCha === event?.ma);\r\n // if (event?.ma)\r\n // this.lstNhaTro = this.lstNhaTroMaster?.filter(c => c.huyen === event?.ma);\r\n // else this.lstNhaTro = this.lstNhaTroMaster;\r\n }\r\n\r\n changeWard(event: any) {\r\n this.searchModel.villageCode = null;\r\n this.lstThon = this.lstThonMaster?.filter((c) => c.maCha === this.searchModel.wardCode);\r\n // if (event?.ma)\r\n // this.lstNhaTro = this.lstNhaTroMaster?.filter(c => c.huyen === this.searchModel.districtCode && c.xa === event?.ma);\r\n // else if (this.searchModel.districtCode)\r\n // this.lstNhaTro = this.lstNhaTroMaster?.filter(c => c.huyen === this.searchModel.districtCode);\r\n // else this.lstNhaTro = this.lstNhaTroMaster;\r\n }\r\n\r\n search() {\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n viewDetail(id: number) {\r\n this.service.selectOneMotel(id).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n const item = new ViewModelNhaTro({\r\n id: res.data.id,\r\n loaihinh: res.data.loainhatro?.toString(),\r\n ten: res.data.tennhatro,\r\n tinh: res.data.tinh,\r\n huyen: res.data.huyen,\r\n xa: res.data.xa,\r\n diachi: res.data.diachicuthe,\r\n hoten: res.data.tenchunhatro,\r\n sdt: res.data.dienthoai,\r\n trangthai: res.data.trangthai,\r\n unitcode: null,\r\n ngaytao: res.data.ngaytao?.toDateString(),\r\n madiabankey: res.data.madiabankey,\r\n mota: res.data.mota,\r\n motachitiet: res.data.motachitiet,\r\n anhdaidien: res.data.anhdaidien,\r\n anh1: res.data.anh1,\r\n anh2: res.data.anh2,\r\n anh3: res.data.anh3,\r\n sotang: res.data.sotang,\r\n sophong: res.data.sophong,\r\n anhdkkd: res.data.anhdkkd,\r\n sodkkd: res.data.sodkkd,\r\n gianiemyet: res.data.gianiemyet,\r\n });\r\n this.dialog\r\n .open(\r\n QLNhaTroComponent,\r\n this.commonService.configDialog('100%', {\r\n id: item.id,\r\n title: `Chi tiết thông tin nhà trọ`,\r\n action: STATUS_ACTION.detail,\r\n data: item\r\n })\r\n )\r\n .afterClosed()\r\n .subscribe(() => { });\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n exportExcel() {\r\n const workbook = new Workbook();\r\n const worksheet = workbook.addWorksheet('Dữ liệu', {});\r\n\r\n const title: string = 'THỐNG KÊ NHÀ TRỌ';\r\n\r\n const subTitle: string = this.getSubTitleExport();\r\n\r\n const lstColumnNames: {\r\n key: string;\r\n text: string;\r\n align: number;\r\n width: number;\r\n }[] = this.getListColumnNames();\r\n\r\n // worksheet.views = [\r\n // {\r\n // style: 'pageBreakPreview',\r\n // zoomScale: 100\r\n // }\r\n // ]\r\n\r\n worksheet.columns = [\r\n { header: [title, subTitle, lstColumnNames[0]?.text], key: lstColumnNames[0]?.key, width: lstColumnNames[0]?.width },\r\n { header: [title, subTitle, lstColumnNames[1]?.text], key: lstColumnNames[1]?.key, width: lstColumnNames[1]?.width },\r\n { header: [title, subTitle, lstColumnNames[2]?.text], key: lstColumnNames[2]?.key, width: lstColumnNames[2]?.width },\r\n { header: [title, subTitle, lstColumnNames[3]?.text], key: lstColumnNames[3]?.key, width: lstColumnNames[3]?.width },\r\n { header: [title, subTitle, lstColumnNames[4]?.text], key: lstColumnNames[4]?.key, width: lstColumnNames[4]?.width },\r\n { header: [title, subTitle, lstColumnNames[5]?.text], key: lstColumnNames[5]?.key, width: lstColumnNames[5]?.width },\r\n { header: [title, subTitle, lstColumnNames[6]?.text], key: lstColumnNames[6]?.key, width: lstColumnNames[6]?.width },\r\n { header: [title, subTitle, lstColumnNames[7]?.text], key: lstColumnNames[7]?.key, width: lstColumnNames[7]?.width },\r\n { header: [title, subTitle, lstColumnNames[8]?.text], key: lstColumnNames[8]?.key, width: lstColumnNames[8]?.width },\r\n { header: [title, subTitle, lstColumnNames[9]?.text], key: lstColumnNames[9]?.key, width: lstColumnNames[9]?.width },\r\n ];\r\n\r\n worksheet.mergeCells(0, 1, 0, lstColumnNames.length);\r\n worksheet.getCell(1, 1).style = {\r\n font: { bold: true, size: 17, name: 'Times New Roman' },\r\n alignment: { vertical: 'middle', horizontal: 'center', wrapText: true }\r\n };\r\n worksheet.getRow(1).height = 40;\r\n\r\n worksheet.mergeCells(2, 1, 2, lstColumnNames.length);\r\n worksheet.getCell(2, 1).style = {\r\n font: { size: 13, name: 'Times New Roman', italic: true },\r\n alignment: { vertical: 'middle', horizontal: 'center', wrapText: true }\r\n };\r\n worksheet.getRow(2).height = 25;\r\n\r\n worksheet.getRow(3).height = 35;\r\n worksheet.getRow(3).alignment = { horizontal: 'center', vertical: 'middle', wrapText: true };\r\n worksheet.getRow(3).font = { bold: true, name: 'Times New Roman', size: 11 };\r\n\r\n const searchAllModel = new ThongKeSearchModel({\r\n provinceCode: this.searchModel.provinceCode, // mã tỉnh bắc giang\r\n districtCode: this.searchModel.districtCode,\r\n wardCode: this.searchModel.wardCode,\r\n villageCode: this.searchModel.villageCode,\r\n hotelId: this.searchModel.hotelId,\r\n fromYear: this.searchModel.fromYear,\r\n toYear: this.searchModel.toYear,\r\n target: this.searchModel.target,\r\n type: this.searchModel.type,\r\n isNonTenant: this.searchModel.isNonTenant,\r\n currentPage: 1,\r\n pageSize: 0,\r\n startDate: this.searchModel.startDate ? new Date(this.searchModel.startDate) : null,\r\n endDate: this.searchModel.endDate ? new Date(this.searchModel.endDate) : null\r\n });\r\n this.service.paging(this.pageModel).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n const targetExport: ThongKeModel[] = res.data.data;\r\n let index = 0;\r\n targetExport?.forEach((e) => {\r\n index++;\r\n worksheet.addRow(\r\n {\r\n index: index,\r\n tenNT: e.tenNT,\r\n loaiNT: e.loaiNT,\r\n tongSoPhong: e.tongSoPhong?.toLocaleString(),\r\n soPhongDaThue: e.soPhongDaThue?.toLocaleString(),\r\n soKhachThue: e.soKhachThue?.toLocaleString(),\r\n diaChiNT: e.diaChiNT,\r\n nguoiLienHe: e.nguoiLienHe,\r\n dienThoai: e.dienThoai,\r\n ngayTao: new ConvertDatePipe().convertDateToStringExport(e.ngayTao),\r\n giaNiemYet: e.giaNiemYet,\r\n },\r\n 'n'\r\n );\r\n });\r\n\r\n worksheet.eachRow((row, rowNumber) => {\r\n if (rowNumber > 2) {\r\n lstColumnNames.forEach((col, colNumber) => {\r\n if (rowNumber === 3) {\r\n worksheet.getCell(rowNumber, colNumber + 1).border = {\r\n top: { style: 'thin' },\r\n right: { style: 'thin' },\r\n bottom: { style: 'thin' },\r\n left: { style: 'thin' }\r\n };\r\n } else {\r\n worksheet.getCell(rowNumber, colNumber + 1).style = {\r\n font: { size: 11, name: 'Times New Roman' },\r\n alignment: {\r\n vertical: 'middle',\r\n horizontal: col.align === 0 ? 'left' : col.align === 1 ? 'center' : 'right',\r\n wrapText: true\r\n }\r\n };\r\n }\r\n });\r\n }\r\n });\r\n\r\n workbook.xlsx.writeBuffer().then((data) => {\r\n const blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n fs.saveAs(blob, title + '.xlsx');\r\n });\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n getSubTitleExport() {\r\n const arrtitle: string[] = [];\r\n\r\n if (this.searchModel.villageCode) {\r\n if (this.lstThon?.find((c) => c.makey === this.searchModel.villageCode)?.ten)\r\n arrtitle.push(this.lstThon?.find((c) => c.makey === this.searchModel.villageCode)?.ten);\r\n }\r\n\r\n if (this.searchModel.wardCode) {\r\n if (this.lstWards?.find((c) => c.ma === this.searchModel.wardCode)?.ten)\r\n arrtitle.push(this.lstWards?.find((c) => c.ma === this.searchModel.wardCode)?.ten);\r\n }\r\n\r\n if (this.searchModel.districtCode) {\r\n if (this.lstDistricts?.find((c) => c.ma === this.searchModel.districtCode)?.ten)\r\n arrtitle.push(this.lstDistricts?.find((c) => c.ma === this.searchModel.districtCode)?.ten);\r\n }\r\n\r\n if (this.searchModel.provinceCode) {\r\n if (this.lstTinh?.find((c) => c.ma === this.searchModel.provinceCode)?.ten)\r\n arrtitle.push(this.lstTinh?.find((c) => c.ma === this.searchModel.provinceCode)?.ten);\r\n }\r\n\r\n return arrtitle?.join(' - ');\r\n }\r\n\r\n getListColumnNames() {\r\n const lstColumnNames: {\r\n key: string;\r\n text: string;\r\n align: number; // 0: left; 1: center; 2: right\r\n width: number;\r\n }[] = [\r\n {\r\n key: 'index',\r\n text: 'STT',\r\n align: 1,\r\n width: 7\r\n },\r\n {\r\n key: 'tenNT',\r\n text: 'Tên nhà trọ',\r\n align: 0,\r\n width: 25\r\n },\r\n // {\r\n // key: 'loaiNT',\r\n // text: 'Loại',\r\n // align: 1,\r\n // width: 15,\r\n // },\r\n {\r\n key: 'tongSoPhong',\r\n text: 'Tổng số phòng thuê',\r\n align: 2,\r\n width: 15\r\n },\r\n {\r\n key: 'soPhongDaThue',\r\n text: 'Số phòng đã thuê',\r\n align: 2,\r\n width: 15\r\n },\r\n {\r\n key: 'soKhachThue',\r\n text: 'Số lượng khách đang thuê',\r\n align: 2,\r\n width: 15\r\n },\r\n {\r\n key: 'diaChiNT',\r\n text: 'Địa chỉ',\r\n align: 0,\r\n width: 35\r\n },\r\n {\r\n key: 'nguoiLienHe',\r\n text: 'Người liên hệ trực tiếp',\r\n align: 0,\r\n width: 25\r\n },\r\n {\r\n key: 'dienThoai',\r\n text: 'Số điện thoại',\r\n align: 1,\r\n width: 15\r\n },\r\n {\r\n key: 'ngayTao',\r\n text: 'Ngày tạo',\r\n align: 1,\r\n width: 15\r\n },\r\n {\r\n key: 'giaNiemYet',\r\n text: 'Giá niêm yết',\r\n align: 1,\r\n width: 15\r\n }\r\n ];\r\n return lstColumnNames;\r\n }\r\n\r\n openNotification = (item) => {\r\n this.dialog\r\n .open(QuanLyThongBaoComponent, this.commonService.configDialog('100%', { action: STATUS_ACTION.swap, dvnhan: [item.idNguoiTao] }))\r\n .afterClosed()\r\n .subscribe(() => { });\r\n };\r\n\r\n export(pdf, item: ThongKeModel) {\r\n pdf.saveAs(`${item.tenNT}_QR Code.pdf`);\r\n }\r\n\r\n deleteData(item: ViewModelNhaTro) {\r\n const postModel = new ShareModel({\r\n id: item.id + '',\r\n trangthai: STATUS_DELETE\r\n });\r\n // issue 21 - Tổng hợp ý kiến các đơn vị 13.07\r\n // if (item['soKhachThue'] > 0) {\r\n // return this.commonService.toastrWarning('Nhà trọ này hiện đang có người!');\r\n // }\r\n this.dialog\r\n .open(QLNhaTroShareComponent, this.commonService.configDialog('20%', null))\r\n .afterClosed()\r\n .subscribe((result) => {\r\n if (result === true) {\r\n this.service.share(postModel).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.loadData();\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n resetPassword(item: any) {\r\n this.dialog\r\n .open(\r\n InputDialogComponent,\r\n this.commonService.configDialog('20%', {\r\n title: 'Lấy lại mật khẩu - Nhà trọ: ' + item?.tenNT,\r\n inputLable: 'Mật khẩu mới',\r\n type: 'password'\r\n })\r\n )\r\n .afterClosed()\r\n .subscribe((result) => {\r\n if (result !== '') {\r\n const model = new ResetPasswordModel();\r\n model.userName = item.dienThoai;\r\n model.password = result;\r\n\r\n this.userService.ResetPassword(model).subscribe((r) => {\r\n if (r.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Thàng công', 'Thông báo');\r\n } else {\r\n this.commonService.toastrWarning(r.message, 'Thông báo');\r\n }\r\n });\r\n } else {\r\n this.commonService.toastrWarning('Vui lòng nhập mật khẩu mới!', 'Thông báo');\r\n }\r\n });\r\n }\r\n\r\n viewTenant(item: any) {\r\n this.dialog\r\n .open(\r\n ViewKhachThueDetailComponent,\r\n this.commonService.configDialog('80%', {\r\n model: item\r\n })\r\n )\r\n .afterClosed()\r\n .subscribe();\r\n }\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n DANH SÁCH NHÀ TRỌ/THUÊ/NGHỈ/KHÁCH SẠN\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{ dataItem.value }}\r\n {{ dataItem.name }}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{ dataItem.value }}\r\n {{ dataItem.text }}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    STTIDTên nhà trọ/thuê/nghỉ/khách sạnTổng số phòng thuêSố phòng đã thuêSố lượng khách đang thuêĐịa chỉNgười liên hệ trực tiếpSố điện thoạiNgày tạoGiá niêm yết (VNĐ)
    \r\n {{ (searchModel.currentPage - 1) * searchModel.pageSize + i + 1 }}\r\n {{ item.id }}{{ item.tenNT }}\r\n {{ item.tongSoPhong | number : '1.0-0' }}\r\n \r\n {{ item.soPhongDaThue | number : '1.0-0' }}\r\n \r\n {{ item.soKhachThue | number : '1.0-0' }}\r\n {{ item.diaChiNT }}{{ item.nguoiLienHe }}{{ item.dienThoai }}{{ item.ngayTao | date: 'dd/MM/yyyy hh:mm:ss' }}{{ item.giaNiemYet | number : '1.0-0' }}\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {{ item.tenNT }}
    \r\n Đ/c: {{ item.diaChiNT }}
    \r\n SĐT: {{ item.dienThoai }}
    \r\n Giá niêm yết: {{ item.giaNiemYet | number }} (VNĐ)\r\n
    \r\n
    \r\n
    \r\n
    \r\n Đăng ký thuê trọ\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n Trả phòng\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n Lưu ý về quy định về thông báo lưu trú, khai báo tạm trú\r\n
    \r\n
    \r\n
    \r\n 1.Đối với chủ: \r\n \r\n 2.Đối với người thuê: \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n IOS (Iphone, Ipad)\r\n
    \r\n
    \r\n \r\n Android (SamSung, ...)\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    Không có dữ liệu.
    \r\n
    \r\n
    \r\n
    0\" class=\"row\">\r\n
    \r\n
    Tổng số nhà: {{ target?.recordsCount }}
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { Injectable } from '@angular/core';\r\nimport {\r\n ApiResponse,\r\n AppCongAnApiService,\r\n DataChartModelIEnumerableApiResponse,\r\n NhatroEntityApiResponse,\r\n SearchIndexModelApiResponse,\r\n SelectNhaTroPostModel,\r\n ShareModel,\r\n TaikhoanEntityApiResponse,\r\n ThongKeModelIEnumerablePageModelViewApiResponse,\r\n ThongKeSearchModel\r\n} from 'app/@core/data/app-congan.service';\r\nimport {\r\n AppQthtApiService,\r\n ObjectIEnumerableApiResponse,\r\n} from 'app/@core/data/app-qtht.service';\r\nimport { Observable, of } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class DsNhaTroService {\r\n constructor(\r\n private api: AppCongAnApiService,\r\n private qthtApi: AppQthtApiService\r\n ) { }\r\n\r\n getListSearchIndex(body: SelectNhaTroPostModel | undefined): Observable {\r\n return this.api.appCongAnApiV1ThongKeGetListSearchIndex(body);\r\n }\r\n\r\n paging(body: ThongKeSearchModel | undefined): Observable {\r\n return this.api.appCongAnApiV1ThongKePagingNhatro(body);\r\n }\r\n\r\n selectDbhc(): Observable {\r\n return this.api.appCongAnApiV1DmDiaBanSelectAll();\r\n }\r\n\r\n getDataChart(body: ThongKeSearchModel | undefined): Observable {\r\n return this.api.appCongAnApiV1ThongKeGetDataChart(body);\r\n }\r\n\r\n selectOneAccount(id: number): Observable {\r\n return this.api.appCongAnApiV1TaiKhoanSelectOne(id);\r\n }\r\n\r\n selectOneMotel(id: number): Observable {\r\n return this.api.appCongAnApiV1NhaTroSelectOne(id);\r\n }\r\n\r\n share(request: ShareModel): Observable {\r\n return this.api.appCongAnApiV1NhaTroShare(request);\r\n }\r\n\r\n getListTarget(type?: number): Observable {\r\n if (type === 1) {\r\n\r\n const lst: any[] = [\r\n {\r\n value: 1,\r\n text: 'Dân tộc'\r\n },\r\n {\r\n value: 2,\r\n text: 'Giới tính'\r\n\r\n },\r\n {\r\n value: 3,\r\n text: 'Độ tuổi'\r\n\r\n }\r\n ];\r\n return of(lst);\r\n } else {\r\n const lst: any[] = [\r\n {\r\n value: 1,\r\n text: 'Nhà trọ'\r\n },\r\n {\r\n value: 2,\r\n text: 'Nhà nghỉ/Khách sạn'\r\n\r\n }\r\n ];\r\n return of(lst);\r\n }\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ThongKeModel } from 'app/@core/data/app-congan.service';\r\n\r\n@Component({\r\n selector: 'ngx-view-khach-thue-detail',\r\n templateUrl: './view-khach-thue-detail.component.html',\r\n styleUrls: ['./view-khach-thue-detail.component.scss']\r\n})\r\nexport class ViewKhachThueDetailComponent implements OnInit {\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) private data: { model: ThongKeModel },\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n\r\n model: ThongKeModel = new ThongKeModel();\r\n\r\n ngOnInit(): void {\r\n this.model = this.data.model;\r\n }\r\n\r\n}\r\n","\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { filter as _filter, forEach as _forEach, clone as _ } from 'lodash';\r\nimport { stringify as GeoJSONToWKT } from 'wellknown';\r\nimport { AppCongAnApiService } from 'app/@core/data/app-congan.service';\r\nimport mapboxgl from 'mapbox-gl';\r\nimport MapboxGeocoder from '@mapbox/mapbox-gl-geocoder';\r\nimport { environment } from 'environments/environment';\r\nimport { CompassControl } from 'mapbox-gl-controls';\r\nimport { ZoomControl } from 'mapbox-gl-controls';\r\nimport { MapsService } from './maps.service';\r\nimport { SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\n\r\ndeclare var MapboxCircle: any;\r\n@Component({\r\n selector: 'app-maps-index',\r\n templateUrl: './maps-index.component.html',\r\n styleUrls: ['./maps-index.component.scss']\r\n})\r\nexport class MapsIndexComponent implements OnInit {\r\n\r\n\r\n /* #region Variable */\r\n\r\n map: any;\r\n drawCicle: any;\r\n isDrawing = false;\r\n drawing: boolean = false;\r\n isTraCuuTTPolygon = false;\r\n dataDraw = {\r\n type: 'FeatureCollection',\r\n features: [],\r\n };\r\n dataPointPreview = {\r\n type: 'FeatureCollection',\r\n features: [],\r\n };\r\n listeners: any;\r\n popupDraw: any;\r\n coordinateDraw = [];\r\n polygon: string = '';\r\n textSearchMap: string = '';\r\n showTableAttribute: boolean = false;\r\n contentMeasure: string = '';\r\n contentNumberCount: string = '';\r\n /* #endregion */\r\n\r\n constructor(\r\n private commonService: CommonService,\r\n private mapService: MapsService\r\n ) { }\r\n\r\n\r\n ngOnInit(): void {\r\n this.initMap();\r\n }\r\n\r\n flywithme() {\r\n this.map.flyTo({\r\n center: [106.3738882, 21.3065468],\r\n essential: true\r\n });\r\n }\r\n\r\n initMap() {\r\n mapboxgl.accessToken = environment.MAPBOXKEY;\r\n this.map = new mapboxgl.Map({\r\n container: 'map',\r\n style: 'mapbox://styles/mapbox/streets-v12',\r\n 'center': [106.3738882, 21.3065468],\r\n 'zoom': 10,\r\n attributionControl: false\r\n });\r\n\r\n const geocoder = new MapboxGeocoder({\r\n accessToken: mapboxgl.accessToken,\r\n marker: {\r\n color: '#6a9955'\r\n },\r\n placeholder: 'Tìm kiếm địa điểm',\r\n mapboxgl: mapboxgl\r\n });\r\n geocoder.on('result', (event) => {\r\n //this.map.getSource('bandohanhchinh').setData(event.result.geometry);\r\n });\r\n\r\n this.map.on('render', () => {\r\n\r\n });\r\n\r\n this.map.addControl(geocoder);\r\n this.map.addControl(\r\n new mapboxgl.GeolocateControl({\r\n positionOptions: {\r\n enableHighAccuracy: true\r\n },\r\n trackUserLocation: true,\r\n showUserHeading: true\r\n })\r\n );\r\n\r\n this.map.addControl(new CompassControl(), 'top-right');\r\n this.map.addControl(new ZoomControl(), 'top-right');\r\n\r\n this.map.on('load', () => {\r\n this.map.addSource('bandohanhchinh', {\r\n type: 'geojson',\r\n data: '../assets/maps/2022-12-20-bacgiang-v1.json'\r\n });\r\n this.mapService.thongKe('').subscribe((result) => {\r\n if (result.code == SUCCESS_RESPONSE) {\r\n this.contentNumberCount = 'Tổng số nhà trọ: ' + result.data?.tongSoNhaTroTrenDiaBan;\r\n }\r\n });\r\n\r\n this.map.addLayer({\r\n 'id': 'bandohanhchinh-layer',\r\n 'type': 'fill',\r\n 'source': 'bandohanhchinh',\r\n 'paint': {\r\n 'fill-color': '#00ffff',\r\n 'fill-opacity': 0.4,\r\n 'fill-outline-color': 'red'\r\n },\r\n });\r\n\r\n this.map.setPaintProperty('bandohanhchinh-layer', 'fill-color', [\r\n 'match',\r\n ['get', 'osmid'],\r\n '7113961',\r\n '#fffc8c',\r\n '6923324',\r\n '#ffd0ff',\r\n '6922835',\r\n '#66FFFF',\r\n '6922083',\r\n '#99CCFF',\r\n '6921174',\r\n '#00BB00',\r\n '7113960',\r\n '#ffaaa0',\r\n '6917071',\r\n '#33CCFF',\r\n '6915724',\r\n '#cdaacd',\r\n '6922834',\r\n '#ffaa32',\r\n '7113962',\r\n '#99CCFF',\r\n '#d1d3d5'\r\n ]);\r\n\r\n\r\n this.map.loadImage(\r\n 'https://docs.mapbox.com/mapbox-gl-js/assets/custom_marker.png',\r\n (error, image) => {\r\n if (error) throw error;\r\n this.map.addImage('nhatro-marker', image);\r\n this.mapService.nhatro(\"\").subscribe((result) => {\r\n if (result.code == SUCCESS_RESPONSE) {\r\n let json = new GeoJSonNhaTro();\r\n json.type = 'geojson';\r\n let j_data = new DataGeoJson();\r\n j_data.type = 'FeatureCollection';\r\n\r\n let features = [];\r\n result.data.forEach(element => {\r\n let f_json = new FeatureGeoJson();\r\n f_json.type = 'Feature';\r\n let geo_json = new GeometryGeoJson();\r\n geo_json.type = 'Point';\r\n geo_json.coordinates = [parseFloat(element.lng), parseFloat(element.lat)];\r\n f_json.geometry = geo_json;\r\n let propertiesGeoJson = new PropertiesGeoJson();\r\n propertiesGeoJson.title = element.tennhatro;\r\n f_json.properties = propertiesGeoJson;\r\n features.push(f_json);\r\n });\r\n j_data.features = features;\r\n json.data = j_data;\r\n this.map.addSource('points', json);\r\n // Add a symbol layer\r\n this.map.addLayer({\r\n 'id': 'points',\r\n 'type': 'symbol',\r\n 'source': 'points',\r\n 'layout': {\r\n 'icon-image': 'nhatro-marker',\r\n 'text-field': ['get', 'title'],\r\n 'text-font': [\r\n 'Open Sans Semibold',\r\n 'Arial Unicode MS Bold'\r\n ],\r\n 'text-offset': [0, 1.25],\r\n 'text-anchor': 'top'\r\n }\r\n });\r\n }\r\n });\r\n\r\n\r\n\r\n }\r\n );\r\n\r\n });\r\n\r\n this.map.on('click', 'bandohanhchinh-layer', (e) => {\r\n if (e.features[0] != undefined) {\r\n const coordinates = e.features[0].geometry.coordinates.slice();\r\n const description = e.features[0].properties.name;\r\n\r\n const maHuyen = e.features[0].properties.id;\r\n\r\n this.mapService.thongKe(maHuyen).subscribe((result) => {\r\n if (result.code == SUCCESS_RESPONSE) {\r\n let html = '
    ' + description + '

    ';\r\n html += 'Tổng số nhà trọ: ' + result.data?.tongSoNhaTroTrenDiaBan + '
    ';\r\n html += 'Tổng số phòng trọ: ' + result.data?.tongSoPhongTroTrenDiaBan + '
    ';\r\n html += 'Tổng số phòng trọ chưa có người thuê: ' + result.data?.tongSoPhongTroChuaCoNguoiThue + '
    ';\r\n\r\n new mapboxgl.Popup()\r\n .setLngLat(e.lngLat)\r\n .setHTML(html)\r\n .addTo(this.map);\r\n }\r\n });\r\n\r\n\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n chonTimKiemKhongGian(type) {\r\n if (type === 'radius') {\r\n const center = this.map.getCenter();\r\n this.drawCicle = new MapboxCircle({ lat: center.lat, lng: center.lng }, 25000, {\r\n editable: true,\r\n fillColor: '#29AB87',\r\n }).addTo(this.map);\r\n } else if (type === 'polygon') {\r\n this.onActiveDraw();\r\n this.isTraCuuTTPolygon = true;\r\n if (this.drawCicle) this.drawCicle.remove();\r\n this.drawCicle = null;\r\n } else {\r\n this.isTraCuuTTPolygon = false;\r\n if (this.drawCicle) this.drawCicle.remove();\r\n this.drawCicle = null;\r\n this.onCloseDraw();\r\n }\r\n }\r\n /* #region Draw action */\r\n\r\n onActiveDraw() {\r\n this.onCloseDraw();\r\n this.isDrawing = true;\r\n this.map.doubleClickZoom.disable();\r\n const markerHeight = 40;\r\n const markerRadius = 40;\r\n const linearOffset = 25;\r\n this.popupDraw = new mapboxgl.Popup({\r\n offset: {\r\n top: [0, 20],\r\n 'top-left': [0, 0],\r\n 'top-right': [0, 0],\r\n bottom: [0, -markerHeight],\r\n 'bottom-left': [linearOffset, (markerHeight - markerRadius + linearOffset) * -1],\r\n 'bottom-right': [-linearOffset, (markerHeight - markerRadius + linearOffset) * -1],\r\n left: [markerRadius, (markerHeight - markerRadius) * -1],\r\n right: [-markerRadius, (markerHeight - markerRadius) * -1],\r\n },\r\n anchor: 'left',\r\n closeButton: false,\r\n closeOnClick: false,\r\n }).addTo(this.map);\r\n this.map.getCanvas().style.cursor = 'pointer';\r\n const me = this;\r\n // Mouse move\r\n me.listeners['mouseMovePolygon'] = me.mouseMovePolygon.bind(me);\r\n me.map.on('mousemove', me.listeners['mouseMovePolygon']);\r\n // Click\r\n me.listeners['mouseClickPolygon'] = me.mouseClickPolygon.bind(me);\r\n me.map.on('click', me.listeners['mouseClickPolygon']);\r\n // dblClick\r\n me.listeners['mouseDoubleClickPolygon'] = me.mouseDoubleClickPolygon.bind(me);\r\n me.map.on('dblclick', me.listeners['mouseDoubleClickPolygon']);\r\n // Mouse down\r\n me.listeners['mouseDownPolygon'] = me.mouseDownPolygon.bind(me);\r\n me.map.on('mousedown', me.listeners['mouseDownPolygon']);\r\n // Mouse up\r\n me.listeners['mouseUpPolygon'] = me.mouseUpPolygon.bind(me);\r\n me.map.on('mouseup', me.listeners['mouseUpPolygon']);\r\n }\r\n\r\n onCloseDraw() {\r\n this.dataDraw.features = [];\r\n this.dataPointPreview.features = [];\r\n this.coordinateDraw = [];\r\n this.isDrawing = false;\r\n this.map.getCanvas().style.cursor = '';\r\n this.clearAllListener();\r\n this.clearAllPopup();\r\n this.clearLayerDrawCurrent();\r\n this.clearLayerDraw();\r\n this.listeners = {};\r\n }\r\n addPointDraw(lng: any, lat: any) {\r\n const geojson = {\r\n type: 'FeatureCollection',\r\n features: [\r\n {\r\n type: 'Feature',\r\n geometry: {\r\n type: 'Point',\r\n coordinates: [lng, lat],\r\n },\r\n },\r\n ],\r\n };\r\n if (this.map.getLayer('point-cursor')) {\r\n this.map.getSource('point-cursor').setData(geojson);\r\n } else {\r\n this.map.addSource('point-cursor', {\r\n type: 'geojson',\r\n data: geojson,\r\n });\r\n this.map.addLayer({\r\n id: 'point-cursor',\r\n type: 'circle',\r\n source: 'point-cursor',\r\n paint: {\r\n 'circle-radius': 6,\r\n 'circle-color': '#ffc500',\r\n 'circle-opacity': 0.5,\r\n },\r\n });\r\n }\r\n }\r\n\r\n /* #endregion */\r\n\r\n /* #region Clear data on maps */\r\n clearLayerDraw() {\r\n if (this.map.getSource('draw-source')) {\r\n this.map.removeLayer('draw-poly');\r\n this.map.removeLayer('draw-poly-outline');\r\n this.map.removeLayer('draw-line');\r\n this.map.removeSource('draw-source');\r\n }\r\n }\r\n clearLayerDrawCurrent() {\r\n if (this.map.getLayer('draw-line-preview')) {\r\n this.map.removeLayer('draw-line-preview');\r\n this.map.removeSource('draw-line-preview');\r\n }\r\n if (this.map.getLayer('draw-poly-preview')) {\r\n this.map.removeLayer('draw-poly-preview');\r\n this.map.removeSource('draw-poly-preview');\r\n }\r\n if (this.map.getLayer('point-cursor')) {\r\n this.map.removeLayer('point-cursor');\r\n this.map.removeSource('point-cursor');\r\n }\r\n }\r\n\r\n clearAllListener() {\r\n for (const evt in this.listeners) {\r\n if (evt) {\r\n this.map.off('mousemove', this.listeners[evt]);\r\n this.map.off('click', this.listeners[evt]);\r\n this.map.off('dblclick', this.listeners[evt]);\r\n this.map.off('mousedown', this.listeners[evt]);\r\n }\r\n }\r\n }\r\n\r\n clearAllPopup() {\r\n if (this.popupDraw) this.popupDraw.remove();\r\n }\r\n /* #endregion */\r\n\r\n /* #region mouse action */\r\n mouseDownPolygon(e: any) { }\r\n\r\n mouseUpPolygon(e: any) { }\r\n mouseDoubleClickPolygon(e: any) {\r\n let feature = null;\r\n const fcoor = _(this.coordinateDraw);\r\n fcoor.push(_(this.coordinateDraw[0]));\r\n feature = {\r\n type: 'Feature',\r\n geometry: {\r\n type: 'Polygon',\r\n coordinates: [fcoor],\r\n },\r\n properties: {},\r\n };\r\n if (feature) this.dataDraw.features.push(feature);\r\n if (this.isTraCuuTTPolygon) {\r\n const wktPolygon = GeoJSONToWKT(this.dataDraw.features[0]);\r\n this.polygon = wktPolygon;\r\n }\r\n // this.isDrawing = false;\r\n // this.layerDraw();\r\n // this.clearAllListener();\r\n this.popupDraw.remove();\r\n this.coordinateDraw = [];\r\n this.dataDraw.features = [];\r\n }\r\n mouseMovePolygon(e: any) {\r\n this.addPointDraw(e.lngLat.lng, e.lngLat.lat);\r\n this.popupDraw.setLngLat([e.lngLat.lng, e.lngLat.lat]).setHTML('Nhấn 2 lần vào bản đồ để kết thúc');\r\n if (this.coordinateDraw && this.coordinateDraw.length > 0) {\r\n const newFeaLine: any = {\r\n type: 'Feature',\r\n geometry: {\r\n type: 'LineString',\r\n coordinates: [],\r\n },\r\n };\r\n const newFeaPoly: any = {\r\n type: 'Feature',\r\n geometry: {\r\n type: 'Polygon',\r\n coordinates: [[]],\r\n },\r\n };\r\n let coors = _(this.coordinateDraw);\r\n if (!coors) {\r\n coors = [];\r\n }\r\n coors.push([e.lngLat.lng, e.lngLat.lat]);\r\n const fcoor = _(coors);\r\n fcoor.push(_(coors[0]));\r\n newFeaPoly.geometry.coordinates = [fcoor];\r\n newFeaLine.geometry.coordinates = coors;\r\n if (this.map.getLayer('draw-poly-preview')) {\r\n this.map.getSource('draw-poly-preview').setData(newFeaPoly);\r\n } else {\r\n this.map.addSource('draw-poly-preview', {\r\n type: 'geojson',\r\n data: newFeaPoly,\r\n });\r\n this.map.addLayer({\r\n id: 'draw-poly-preview',\r\n type: 'fill',\r\n source: 'draw-poly-preview',\r\n paint: {\r\n 'fill-opacity': 0.1,\r\n 'fill-color': '#0000ff',\r\n },\r\n });\r\n }\r\n if (this.map.getLayer('draw-line-preview')) {\r\n this.map.getSource('draw-line-preview').setData(newFeaLine);\r\n } else {\r\n this.map.addSource('draw-line-preview', {\r\n type: 'geojson',\r\n data: newFeaLine,\r\n });\r\n this.map.addLayer({\r\n id: 'draw-line-preview',\r\n type: 'line',\r\n source: 'draw-line-preview',\r\n paint: {\r\n 'line-color': '#0000ff',\r\n 'line-width': 2,\r\n 'line-dasharray': [2.6, 2.6],\r\n },\r\n });\r\n }\r\n }\r\n }\r\n\r\n mouseClickPolygon(e: any) {\r\n if (this.isDrawing === true) {\r\n this.coordinateDraw.push([e.lngLat.lng, e.lngLat.lat]);\r\n this.drawing = true;\r\n }\r\n }\r\n /* #endregion */\r\n}\r\n\r\nexport class GeoJSonNhaTro {\r\n type?: string | undefined;\r\n data?: DataGeoJson | undefined;\r\n}\r\n\r\nexport class DataGeoJson {\r\n type?: string | undefined;\r\n features?: FeatureGeoJson[] | undefined;\r\n}\r\n\r\nexport class FeatureGeoJson {\r\n type?: string | undefined;\r\n geometry?: GeometryGeoJson | undefined;\r\n properties?: PropertiesGeoJson | undefined;\r\n}\r\n\r\nexport class GeometryGeoJson {\r\n type?: string | undefined;\r\n coordinates?: number[] | undefined;\r\n}\r\nexport class PropertiesGeoJson {\r\n title?: string | undefined;\r\n}","
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    ","import { Injectable } from '@angular/core';\r\nimport { AppCongAnApiService, ThongKeNhaTroOnMapsModelApiResponse, ViewItemModelListApiResponse } from 'app/@core/data/app-congan.service';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MapsService {\r\n\r\n constructor(private api: AppCongAnApiService) {\r\n\r\n }\r\n\r\n thongKe(maHuyen: string): Observable {\r\n return this.api.appCongAnApiV1MapsThongKe(maHuyen);\r\n }\r\n\r\n nhatro(maHuyen: string): Observable {\r\n return this.api.appCongAnApiV1MapsNhaTro(maHuyen);\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { MenuComponent } from 'app/@theme/pages/menu/menu.component';\r\nimport { routes as QLNhaTroRoutes } from './quan-ly-nha-tro/quan-ly-nha-tro-routing.module';\r\nimport { routes as QLPhongRoutes } from './quan-ly-phong/quan-ly-phong-routing.module';\r\nimport { routes as QLDichVuRoutes } from './quan-ly-dich-vu/quan-ly-dich-vu-routing.module';\r\nimport { routes as QLKhachRoutes } from './quan-ly-khach/quan-ly-khach-routing.module';\r\nimport { routes as QLHopDongRoutes } from './quan-ly-hop-dong/quan-ly-hop-dong-routing.module';\r\nimport { routes as QLHoaDonRoutes } from './quan-ly-hoa-don/quan-ly-hoa-don-routing.module';\r\nimport { routes as QLNhaNghiRoutes } from './quan-ly-nha-nghi/quan-ly-nha-nghi-routing.module';\r\nimport { routes as DmDonViRoutes } from './danh-muc-don-vi/danh-muc-don-vi-routing.module';\r\nimport { routes as DmDanTocRoutes } from './danh-muc-dan-toc/danh-muc-dan-toc-routing.module';\r\nimport { routes as DmNguoiDungRoutes } from './danh-muc-nguoi-dung/danh-muc-nguoi-dung-routing.module';\r\nimport { routes as thongKeRoutes } from './thong-ke/thong-ke-routing.module';\r\nimport { routes as QLTamTruRoutes } from './quan-ly-tam-tru/quan-ly-tam-tru-routing.module';\r\nimport { routes as QLThongBaoRoutes } from './quan-ly-thong-bao/quan-ly-thong-bao-routing.module';\r\nimport { routes as QLZaloRoutes } from './quan-ly-zalo/quan-ly-zalo-routing.module';\r\nimport { routes as dsKhachThue } from './ds-khach-thue/ds-khach-thue-routing.module';\r\nimport { routes as dsNhaTro } from './ds-nha-tro/ds-nha-tro-routing.module';\r\nimport { routes as dmCongTy } from './danh-muc-cong-ty/danh-muc-cong-ty-routing.module';\r\nimport { routes as dmDiaBan } from './danh-muc-dia-ban/danh-muc-dia-ban-routing.module';\r\nimport { routes as QLKienNghi } from './quan-ly-kien-nghi/quan-ly-kien-nghi-routing.module';\r\nimport { NhatKyHeThongComponent } from './nhat-ky-he-thong/nhat-ky-he-thong.component';\r\nimport { routes as qlPhanAnhTb } from './quan-ly-phan-anh-tb/quan-ly-phan-anh-tb-routing.module';\r\nimport { routes as tintuc } from './quan-ly-tin-tuc/quan-ly-tin-tuc-routing.module';\r\nimport { MapsIndexComponent } from './maps/maps-index.component';\r\nimport { routes as dashboardRoutes } from './dashboard/dashboard-routing.module';\r\nimport { routes as doituongtruyna } from './ds-doi-tuong-truy-na/ds-doi-tuong-truy-na-routing.module';\r\nimport { routes as mauthongbao } from './quan-ly-mau-thong-bao/quan-ly-mau-thong-bao-routing.module';\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n component: MenuComponent,\r\n children: [\r\n { path: 'admin/quan-ly-nha-tro', children: QLNhaTroRoutes },\r\n { path: 'admin/quan-ly-phong', children: QLPhongRoutes },\r\n { path: 'admin/quan-ly-dich-vu', children: QLDichVuRoutes },\r\n { path: 'admin/quan-ly-khach', children: QLKhachRoutes },\r\n { path: 'admin/quan-ly-hop-dong', children: QLHopDongRoutes },\r\n { path: 'admin/quan-ly-hoa-don', children: QLHoaDonRoutes },\r\n { path: 'admin/quan-ly-nha-nghi', children: QLNhaNghiRoutes },\r\n { path: 'admin/danh-muc-don-vi', children: DmDonViRoutes },\r\n { path: 'admin/danh-muc-dan-toc', children: DmDanTocRoutes },\r\n { path: 'admin/danh-muc-nguoi-dung', children: DmNguoiDungRoutes },\r\n { path: 'admin/thong-ke', children: thongKeRoutes },\r\n { path: 'admin/quan-ly-tam-tru', children: QLTamTruRoutes },\r\n { path: 'admin/quan-ly-thong-bao', children: QLThongBaoRoutes },\r\n { path: 'admin/quan-ly-zalo', children: QLZaloRoutes },\r\n { path: 'admin/quan-ly-mau-thong-bao', children: mauthongbao },\r\n { path: 'admin/quan-ly-kien-nghi', children: QLKienNghi },\r\n { path: 'admin/ds-khach-thue', children: dsKhachThue },\r\n { path: 'admin/ds-nha-tro', children: dsNhaTro },\r\n { path: 'admin/dm-cong-ty', children: dmCongTy },\r\n { path: 'admin/danh-muc-dia-ban', children: dmDiaBan },\r\n { path: 'admin/nhat-ky-he-thong', component: NhatKyHeThongComponent },\r\n { path: 'admin/phan-anh-trinh-bao', children: qlPhanAnhTb },\r\n { path: 'admin/tin-tuc', children: tintuc },\r\n { path: 'admin/maps', component: MapsIndexComponent },\r\n {\r\n path: 'admin/dashboard',\r\n children: dashboardRoutes\r\n },\r\n {\r\n path: 'admin/doi-tuong-truy-na',\r\n children: doituongtruyna\r\n }\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppConganAdminRoutingModule { }\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ThemeModule } from 'app/@theme/theme.module';\r\nimport { NgxPrintModule } from 'ngx-print';\r\nimport { DsKhachThueComponent } from './ds-khach-thue/ds-khach-thue.component';\r\nimport { ViewKhachThueDetailComponent } from './ds-nha-tro/view-khach-thue-detail/view-khach-thue-detail.component';\r\nimport { MapsIndexComponent } from './maps/maps-index.component';\r\nimport { AppConganAdminRoutingModule } from './nghiep-vu-routing.module';\r\nimport { NhatKyHeThongComponent } from './nhat-ky-he-thong/nhat-ky-he-thong.component';\r\n\r\n@NgModule({\r\n imports: [\r\n FormsModule,\r\n CommonModule,\r\n ThemeModule,\r\n AppConganAdminRoutingModule,\r\n NgxPrintModule\r\n ],\r\n declarations: [\r\n DsKhachThueComponent,\r\n ViewKhachThueDetailComponent,\r\n NhatKyHeThongComponent,\r\n MapsIndexComponent\r\n ]\r\n})\r\nexport class AppConganAdminModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { CommonService, ConvertDatePipe } from 'app/@core/customs/common.service';\r\nimport { FUNCTION_TEXT, PAGE_SIZE, SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { Workbook } from 'exceljs';\r\nimport { NhatKyHeThongService } from './nhat-ky-he-thong.service';\r\nimport * as fs from 'file-saver';\r\nimport { AppQthtApiService, PageLogModel } from 'app/@core/data/app-qtht.service';\r\n\r\n\r\n@Component({\r\n selector: 'nhat-ky-he-thong',\r\n templateUrl: './nhat-ky-he-thong.component.html'\r\n})\r\nexport class NhatKyHeThongComponent implements OnInit {\r\n\r\n constructor(\r\n private api: AppQthtApiService,\r\n private service: NhatKyHeThongService,\r\n private commonService: CommonService,\r\n ) { }\r\n _title: string = FUNCTION_TEXT.NHATKY_HT;\r\n searchModel: PageLogModel = new PageLogModel({\r\n condition: null,\r\n search: null,\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE\r\n });\r\n target: any = {\r\n data: []\r\n };\r\n\r\n async ngOnInit(): Promise {\r\n await this.getUserInfo();\r\n this.loadData();\r\n }\r\n tu: any;\r\n den: any;\r\n async getUserInfo() {\r\n const res = await this.commonService.getUserInfo().toPromise();\r\n this.searchModel.condition = res.UnitCode;\r\n }\r\n\r\n loadData() {\r\n this.api.appQthtApiV1SysLogActionPagingAction(this.searchModel).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.target = result.data;\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n\r\n searchPage() {\r\n this.searchModel.fromDate = this.tu ? new Date(this.tu) : null\r\n this.searchModel.toDate = this.den ? new Date(this.den) : null\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n resetPage() {\r\n this.searchModel.fromDate = this.tu ? new Date(this.tu) : null\r\n this.searchModel.toDate = this.den ? new Date(this.den) : null\r\n this.searchModel.search = null;\r\n this.searchPage();\r\n }\r\n a() {\r\n console.log(this.searchModel)\r\n }\r\n name: string = 'Nhật ký hoạt động';\r\n exportExcel() {\r\n const workbook = new Workbook();\r\n const worksheet = workbook.addWorksheet('Dữ liệu', {\r\n pageSetup: { paperSize: 50 }\r\n });\r\n\r\n worksheet.columns = [\r\n { header: [this.name, '', 'STT'], key: 'stt', width: 7 },\r\n { header: [this.name, '', 'Tên hành động'], key: 'ten', width: 30 },\r\n { header: [this.name, '', 'Địa chỉ IP'], key: 'ip', width: 30 },\r\n { header: [this.name, '', 'Ngày tạo'], key: 'ngay', width: 30 },\r\n { header: [this.name, '', 'Người tạo'], key: 'nguoi', width: 30 },\r\n ];\r\n\r\n const searchAllModel = Object.assign({}, this.searchModel);\r\n searchAllModel.pageSize = 0;\r\n this.service.paging(searchAllModel).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n res.data.data.forEach((e, index) => {\r\n worksheet.addRow({\r\n stt: index + 1,\r\n ten: e.note,\r\n ip: e.ipClient,\r\n ngay: e.dateCreate ? new ConvertDatePipe().convertDateToStringExport(new Date(e.dateCreate)) : null,\r\n nguoi: e.userName\r\n }, 'n');\r\n });\r\n\r\n this.commonService.setStyleExport(worksheet, 1, 5, 3, 3, null, [1, 5]);\r\n\r\n workbook.xlsx.writeBuffer().then((data) => {\r\n const blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n fs.saveAs(blob, this.name + '.xlsx');\r\n });\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n}\r\n","\r\n \r\n
    \r\n
    \r\n {{ _title }}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    STTTên hành độngĐịa chỉ IPNgày tạoNgười tạo
    \r\n {{ (searchModel.currentPage - 1) * searchModel.pageSize + i + 1 }}\r\n {{ item.note }}{{ item.ipClient }}\r\n {{ item.dateCreate | date : 'dd/MM/yyyy HH:mm:ss' }}\r\n {{ item.userName }}
    Không có dữ liệu
    \r\n
    \r\n
    \r\n
    0\" class=\"row\">\r\n
    \r\n
    Tổng số bản ghi: {{ target?.recordsCount | number }}
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { Injectable } from '@angular/core';\r\nimport {\r\n AppCongAnApiService,\r\n} from 'app/@core/data/app-congan.service';\r\nimport {\r\n AppQthtApiService,\r\n ObjectIEnumerablePageModelViewApiResponse,\r\n PageModel\r\n} from 'app/@core/data/app-qtht.service';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class NhatKyHeThongService {\r\n constructor(\r\n private api: AppCongAnApiService,\r\n private qthtApi: AppQthtApiService\r\n ) { }\r\n\r\n paging(body: PageModel): Observable {\r\n return this.qthtApi.appQthtApiV1SysLogActionPagingAction(body);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { QLDichVuIndexComponent } from './quan-ly-dich-vu/quan-ly-dich-vu-index/quan-ly-dich-vu-index.component';\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n children: [\r\n { path: '', component: QLDichVuIndexComponent },\r\n ]\r\n }\r\n];\r\n","import {\r\n ApiResponse,\r\n AppCongAnApiService,\r\n DichvuEntity,\r\n DichvuEntityListApiResponse,\r\n ObjectIEnumerablePageModelViewApiResponse,\r\n SearchModel,\r\n ShareModel,\r\n} from './../../../@core/data/app-congan.service';\r\nimport { Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { STATUS_ACTION } from 'app/@core/customs/constants';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class QLDichVuService {\r\n statusAction = STATUS_ACTION;\r\n constructor(private api: AppCongAnApiService) { }\r\n\r\n paging(body: SearchModel | undefined): Observable {\r\n return this.api.appCongAnApiV1DichVuPagingCustom(body);\r\n }\r\n\r\n insert(body: DichvuEntity | undefined): Observable {\r\n return this.api.appCongAnApiV1DichVuInsert(body);\r\n }\r\n\r\n // selectOne(id: number): Observable {\r\n // return this.api.appCongAnApiV1DichVuSelectOne(id);\r\n // }\r\n\r\n update(body: DichvuEntity | undefined): Observable {\r\n return this.api.appCongAnApiV1DichVuUpdate(body);\r\n }\r\n\r\n delete(id: number): Observable {\r\n return this.api.appCongAnApiV1DichVuDelete(id);\r\n }\r\n\r\n share(request: ShareModel): Observable {\r\n return this.api.appCongAnApiV1DichVuShare(request);\r\n }\r\n\r\n DeleteListrecord(body: number[]): Observable {\r\n return this.api.appCongAnApiV1DichVuDeleteListRecord(body);\r\n }\r\n\r\n SelectByIdNhaTro(idNhaTro: number): Observable {\r\n return this.api.appCongAnApiV1DichVuSelectByIdNhaTro(idNhaTro);\r\n }\r\n\r\n confirm = (data: DichvuEntity, statusAction: number): Observable => {\r\n if (statusAction === STATUS_ACTION.create) {\r\n return this.insert(data);\r\n } else if (statusAction === STATUS_ACTION.edit) {\r\n return this.update(data);\r\n }\r\n }\r\n\r\n getFolder(): string {\r\n return 'DichVu';\r\n }\r\n\r\n getType(): number {\r\n return 1111;\r\n }\r\n}\r\n\r\nexport class ViewModelDichVu {\r\n id: number;\r\n idNhatro: number;\r\n tendv: string;\r\n dongia: string;\r\n donvi: string;\r\n quytac: number;\r\n ghichu: string;\r\n trangthai: number;\r\n unitcode: string;\r\n constructor(data?: ViewModelDichVu) {\r\n if (data) {\r\n this.id = data?.id ?? null;\r\n this.idNhatro = data?.idNhatro ?? null;\r\n this.tendv = data?.tendv ?? null;\r\n this.dongia = data?.dongia ?? null;\r\n this.donvi = data?.donvi ?? null;\r\n this.quytac = data?.quytac ?? null;\r\n this.ghichu = data?.ghichu ?? null;\r\n this.trangthai = data?.trangthai ?? null;\r\n this.unitcode = data?.unitcode ?? null;\r\n }\r\n }\r\n}\r\n","import { CommonService } from 'app/@core/customs/common.service';\r\nimport { SUCCESS_RESPONSE, SUCCESS_NOTICE, STATUS_ACTION, ViewNhaTro } from 'app/@core/customs/constants';\r\nimport { QLDichVuService, ViewModelDichVu } from './../../quan-ly-dich-vu.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { PageModel } from 'app/@core/data/app-dmht.service';\r\nimport { PAGE_SIZE } from 'app/@core/customs/constants';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { QLDichVuComponent } from '../quan-ly-dich-vu/quan-ly-dich-vu.component';\r\nimport { DichvuEntity, SearchModel, ShareModel } from 'app/@core/data/app-congan.service';\r\nimport { QlDichVuRecoverComponent } from '../quan-ly-dich-vu-recover/quan-ly-dich-vu-recover.component';\r\nimport { QLDichVuShareComponent } from '../quan-ly-dich-vu-share/quan-ly-dich-vu-share.component';\r\nimport { QLNhaTroService } from 'app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-nha-tro.service';\r\nimport { QLNhaTroShareComponent } from 'app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-nha-tro/quan-ly-nha-tro-share/quan-ly-nha-tro-share.component';\r\nimport { QLPhongShareComponent } from 'app/modules/app-congan-admin/quan-ly-phong/quan-ly-phong/quan-ly-phong-share/quan-ly-phong-share.component';\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-dich-vu-index',\r\n templateUrl: './quan-ly-dich-vu-index.component.html',\r\n styleUrls: ['./quan-ly-dich-vu-index.component.scss']\r\n})\r\nexport class QLDichVuIndexComponent implements OnInit {\r\n\r\n constructor(\r\n public service: QLDichVuService,\r\n private commonService: CommonService,\r\n private serviceNhatro: QLNhaTroService,\r\n private dialog: MatDialog\r\n ) { }\r\n\r\n totalPage: number;\r\n searchModel: PageModel = new PageModel({\r\n search: null,\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE,\r\n condition: null,\r\n sortColumn: null,\r\n sortExpression: null,\r\n status: null,\r\n columnName: null,\r\n });\r\n\r\n initSearchModel() {\r\n\r\n }\r\n\r\n target: any = {\r\n data: [],\r\n };\r\n file: any[] = [];\r\n isLoading: boolean = true;\r\n title: string = 'Quản lý dịch vụ';\r\n ListTrangthai = [{ id: 1, name: 'Đang soạn thảo' }, { id: 2, name: 'Đã đăng tải' },\r\n { id: 3, name: 'Đã thu hồi' }, { id: 0, name: '-Tất cả-' }];\r\n ListSapxep = [{ id: 1, name: 'Tăng dần từ A-Z' }, { id: 2, name: 'Giảm dần từ A-Z' }, { id: 3, name: 'Thời gian cập nhật cũ nhất' },\r\n { id: 4, name: 'Thời gian cập nhật mới nhất' }, { id: 0, name: '-Chọn nhà trọ-' }];\r\n lstNhatro: any[] = [];\r\n\r\n ngOnInit(): void {\r\n this.loadData();\r\n this.initSearchModel();\r\n this.lstNhatro = [];\r\n this.serviceNhatro.selectAll().subscribe(result => {\r\n this.lstNhatro = result.data.map(c => new ViewNhaTro({\r\n id: c.id,\r\n ten: c.tennhatro\r\n }));\r\n });\r\n }\r\n\r\n loadData() {\r\n this.service.paging(this.searchModel).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.target = result.data;\r\n this.target.data = result.data?.data.map(c => new ViewModelDichVu({\r\n id: c.id,\r\n idNhatro: c.idNhatro,\r\n tendv: c.tendichvu,\r\n dongia: c.giadichvu,\r\n donvi: c.donvitinh,\r\n quytac: c.quytactinhtien,\r\n ghichu: c.mota,\r\n trangthai: c.hoatdong,\r\n unitcode: ''\r\n }));\r\n this.totalPage = result.data.totalPage;\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n this.isLoading = false;\r\n });\r\n }\r\n\r\n changeTrangthai(event) {\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n changeSapxep(event) {\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n getTrangthai(item) {\r\n return this.ListTrangthai.find(c => c.id === item)?.name ?? null;\r\n }\r\n\r\n searchPage() {\r\n this.searchModel.search = this.searchModel.search;\r\n this.loadData();\r\n }\r\n\r\n resetPage() {\r\n this.searchModel.search = null;\r\n this.searchPage();\r\n }\r\n\r\n openCreateDialog() {\r\n this.dialog.open(QLDichVuComponent, this.commonService.configDialog('100%',\r\n { id: null, title: `Thêm dịch vụ`, action: STATUS_ACTION.create, idNhaTro: this.searchModel.condition }))\r\n .afterClosed().subscribe(result => {\r\n if (result === true) {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n\r\n // openConfigSync() {\r\n // this.dialog.open(QLDichVuCreateComponent, this.commonService.configDialog('30%', {testData: 'data'}))\r\n // .afterClosed().subscribe(result => {\r\n // if (result === true) {\r\n // this.loadData();\r\n // }\r\n // });\r\n // }\r\n\r\n detailData(item: ViewModelDichVu) {\r\n this.dialog.open(QLDichVuComponent,\r\n this.commonService.configDialog('100%',\r\n { id: item.id, title: `Chi tiết dịch vụ`, action: STATUS_ACTION.detail, data: item })).afterClosed().subscribe(() => { });\r\n }\r\n\r\n editData(item: ViewModelDichVu) {\r\n this.dialog.open(QLDichVuComponent,\r\n this.commonService.configDialog('100%',\r\n { id: item.id, title: `Sửa dịch vụ`, action: STATUS_ACTION.edit, data: item })).afterClosed().subscribe(result => {\r\n if (result === true) {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n\r\n deleteData(id: number, tendonvi: string) {\r\n this.dialog.open(QLNhaTroShareComponent,\r\n this.commonService.configDialog('20%', null)).afterClosed().subscribe(result => {\r\n if (result === true) {\r\n this.service.delete(id).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.loadData();\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n checkAll: boolean = false;\r\n eventChecked = (item) => {\r\n if (!item && this.target.data.length > 0) {\r\n this.target.data.forEach(c => {\r\n c.checked = this.checkAll;\r\n });\r\n } else {\r\n this.checkAll = this.target.data.filter(c => !c.checked).length === 0;\r\n }\r\n }\r\n\r\n deleteChecked = () => {\r\n const lstDelete = this.target.data?.filter(c => c.checked === true).map(x => x.id);\r\n if (lstDelete.length === 0) {\r\n return this.commonService.toastrWarning('Xin hãy chọn ít nhất 1 bản ghi!');\r\n }\r\n this.dialog.open(QLNhaTroShareComponent,\r\n this.commonService.configDialog('20%', null)).afterClosed().subscribe(result => {\r\n if (result === true) {\r\n // const lstDelete = this.target.data?.filter(c => c.checked === true).map(x => x.id);\r\n this.service.DeleteListrecord(lstDelete).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Thành công!!!');\r\n this.loadData();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n chageStatus = (item: ViewModelDichVu) => {\r\n this.dialog.open(QLDichVuShareComponent,\r\n this.commonService.configDialog('20%', { hoatdong: item.trangthai })).afterClosed().subscribe(result => {\r\n if (result === true) {\r\n const postData = new ShareModel({\r\n id: item.id.toString(),\r\n trangthai: item.trangthai ? 1 : 0\r\n });\r\n this.service.share(postData).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Thành công!!!');\r\n }\r\n this.loadData();\r\n });\r\n } else {\r\n item.trangthai = item.trangthai ? 0 : 1;\r\n }\r\n });\r\n }\r\n}\r\n","\r\n \r\n
    \r\n
    \r\n

    {{title}}

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n  \r\n \r\n \r\n  \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
    STTTên dịch vụĐơn giáĐơn vịQuy tắc tính tiềnMô tảHoạt độngHành động
    {{i+1}}{{item.tendv}}{{item.dongia | number : \"1.0-0\"}}{{item.donvi}}{{item.quytac === 0 ? 'Đơn giá cố định' : 'Đơn giá theo đầu người'}}{{item.ghichu}}\r\n \r\n \r\n   \r\n \r\n   \r\n \r\n   \r\n\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    0\" class=\"row\">\r\n
    \r\n
    \r\n Tổng số bản ghi: {{target?.recordsCount}}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Không có dữ liệu.\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { QLDichVuService } from '../../quan-ly-dich-vu.service';\r\nimport { SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-dich-vu-share',\r\n templateUrl: './quan-ly-dich-vu-share.component.html',\r\n styleUrls: ['./quan-ly-dich-vu-share.component.scss']\r\n})\r\nexport class QLDichVuShareComponent implements OnInit {\r\n\r\n constructor(\r\n public service: QLDichVuService,\r\n private commonService: CommonService,\r\n @Inject(MAT_DIALOG_DATA) private data: { hoatdong: number },\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n\r\n bCqnhanuoc: boolean;\r\n bNguoidan: boolean;\r\n\r\n message = '';\r\n ngOnInit(): void {\r\n this.message = !this.data.hoatdong ? 'Xác nhận dịch vụ ngừng hoạt động' : 'Xác nhận dịch vụ hoạt động';\r\n }\r\n\r\n confirm() {\r\n this.dialogRef.close(true);\r\n }\r\n\r\n close() {\r\n this.dialogRef.close(false);\r\n }\r\n\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n  Thông báo\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {{message}}?\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { DUPLICATE_RESPONE, STATUS_ACTION, ViewNhaTro } from './../../../../../@core/customs/constants';\r\nimport { NgForm } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { DichvuEntity } from './../../../../../@core/data/app-congan.service';\r\nimport { CommonService } from './../../../../../@core/customs/common.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { QLDichVuService, ViewModelDichVu } from '../../quan-ly-dich-vu.service';\r\nimport { QLNhaTroService } from 'app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-nha-tro.service';\r\nimport { CurrencyMaskInputMode } from 'ngx-currency';\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-dich-vu',\r\n templateUrl: './quan-ly-dich-vu.component.html',\r\n styleUrls: ['./quan-ly-dich-vu.component.scss']\r\n})\r\nexport class QLDichVuComponent implements OnInit {\r\n\r\n constructor(\r\n public commonService: CommonService,\r\n public service: QLDichVuService,\r\n private serviceNhatro: QLNhaTroService,\r\n @Inject(MAT_DIALOG_DATA) public fromParent: { id: string, title: string, action: number, idNhaTro: number, data: ViewModelDichVu },\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n\r\n type = 0;\r\n folder: string;\r\n types: number;\r\n listFileTemp: any[] = [];\r\n arr: ViewModelDichVu[] = [];\r\n target = {\r\n entity: new ViewModelDichVu(),\r\n listDetail: [],\r\n listFile: [],\r\n };\r\n\r\n DataYears: number[];\r\n DataMonths: any[];\r\n lstNhatro: any[] = [];\r\n\r\n currencyMaskConfig = {\r\n align: 'left',\r\n allowNegative: false,\r\n allowZero: true,\r\n decimal: ',',\r\n precision: 0,\r\n prefix: '',\r\n suffix: '',\r\n thousands: '.',\r\n nullable: true,\r\n min: -999999999999999999999999,\r\n max: 999999999999999999999999,\r\n inputMode: CurrencyMaskInputMode.NATURAL\r\n };\r\n\r\n getDataInsert(): void {\r\n this.lstNhatro = [];\r\n this.serviceNhatro.selectAll().subscribe(result => {\r\n this.lstNhatro = result.data.map(c => new ViewNhaTro({\r\n id: c.id,\r\n ten: c.tennhatro\r\n }));\r\n });\r\n\r\n if ([STATUS_ACTION.edit, STATUS_ACTION.detail].indexOf(this.fromParent.action) > -1) {\r\n this.target.entity = this.fromParent.data;\r\n } else {\r\n this.target.entity.idNhatro = this.fromParent.idNhaTro;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.initRow();\r\n this.getDataInsert();\r\n this.folder = this.service.getFolder();\r\n this.type = this.service.getType();\r\n }\r\n\r\n initRow() {\r\n const item: ViewModelDichVu = new ViewModelDichVu();\r\n this.arr.push(item);\r\n }\r\n\r\n addRow(): void {\r\n const item: ViewModelDichVu = new ViewModelDichVu();\r\n this.arr.push(item);\r\n }\r\n\r\n removeRow(rowIndex: number): void {\r\n this.arr.splice(rowIndex, 1);\r\n }\r\n\r\n create(frm: NgForm) {\r\n const postData = new DichvuEntity({\r\n donvitinh: this.target.entity.donvi,\r\n giadichvu: Number(this.target.entity.dongia),\r\n // hoatdong: this.target.entity.trangthai === 1,\r\n id: this.target.entity.id,\r\n idNhatro: this.fromParent.idNhaTro,\r\n mota: this.target.entity.ghichu,\r\n quytactinhtien: this.target.entity.quytac,\r\n tendichvu: this.target.entity.tendv,\r\n hoatdong: true\r\n });\r\n this.service.confirm(postData, this.fromParent.action).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close(true);\r\n } else if (result.code === DUPLICATE_RESPONE) {\r\n this.commonService.toastrWarning(\r\n 'Tên đã tồn tại trên hệ thống !'\r\n );\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n for (let i = 0; i < files.length; i++) {\r\n this.listFileTemp.push({ type: this.type, fileName: files[i].name, data: files[i] });\r\n }\r\n }\r\n\r\n deleteFile(file: any) {\r\n const index = this.listFileTemp.indexOf(file);\r\n if (index !== -1) this.listFileTemp.splice(index, 1);\r\n }\r\n\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n {{fromParent.title}}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n Tên nhà trọ là bắt buộc\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n Tên dịch vụ là bắt buộc\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n Đơn giá là bắt buộc\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n Đơn vị tính là bắt buộc\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n  \r\n Đơn giá cố định   \r\n\r\n \r\n đồng/ {{target.entity.donvi}}\r\n \r\n\r\n
    \r\n\r\n  \r\n Đơn giá theo đầu người   \r\n\r\n \r\n đồng/\r\n {{target.entity.donvi}}/ 1 tháng\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { QLHoaDonIndexComponent } from './quan-ly-hoa-don/quan-ly-hoa-don-index/quan-ly-hoa-don-index.component';\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n children: [\r\n { path: '', component: QLHoaDonIndexComponent },\r\n ]\r\n }\r\n];\r\n","import {\r\n ApiResponse,\r\n AppCongAnApiService,\r\n HoadonEntity,\r\n HoaDonModel,\r\n HopDongDichVuModel,\r\n ObjectIEnumerablePageModelViewApiResponse,\r\n PageModel,\r\n PhongtroEntityListApiResponse,\r\n PhongTroHDModelListApiResponse,\r\n ShareModel,\r\n ViewHoaDonModelApiResponse} from './../../../@core/data/app-congan.service';\r\nimport { Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { STATUS_ACTION } from 'app/@core/customs/constants';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class QlHoaDonService {\r\n statusAction = STATUS_ACTION;\r\n constructor(private api: AppCongAnApiService) { }\r\n\r\n paging(body: PageModel | undefined): Observable {\r\n return this.api.appCongAnApiV1HoaDonPagingCus(body);\r\n }\r\n\r\n loadHopDong(idHopdong: number){\r\n return this.api.appCongAnApiV1HopDongSelectOne(idHopdong);\r\n }\r\n\r\n SelectByIdNhaTro(idNhaTro: number): Observable {\r\n return this.api.appCongAnApiV1PhongTroSelectByIdNhaTroV3(idNhaTro);\r\n }\r\n\r\n selectOne(idHoadon): Observable {\r\n return this.api.appCongAnApiV1HoaDonSelectOnCus(idHoadon);\r\n }\r\n\r\n insert(body: HoaDonModel | undefined): Observable {\r\n return this.api.appCongAnApiV1HoaDonInsertCus(body);\r\n }\r\n\r\n // selectOne(id: number): Observable {\r\n // return this.api.appCongAnApiV1HoaDonSelectOne(id);\r\n // }\r\n\r\n update(body: HoadonEntity | undefined): Observable {\r\n return this.api.appCongAnApiV1HoaDonUpdate(body);\r\n }\r\n\r\n delete(id: number): Observable {\r\n return this.api.appCongAnApiV1HoaDonDelete(id);\r\n }\r\n\r\n share(request: ShareModel): Observable {\r\n return this.api.appCongAnApiV1HoaDonShare(request);\r\n }\r\n\r\n DeleteListrecord(body: number[]): Observable {\r\n return this.api.appCongAnApiV1HoaDonDeleteListRecord(body);\r\n }\r\n\r\n confirm = (data: HoaDonModel, statusAction: number): Observable => {\r\n if (statusAction === STATUS_ACTION.create) {\r\n return this.insert(data);\r\n } else if (statusAction === STATUS_ACTION.edit) {\r\n return this.insert(data);\r\n }\r\n }\r\n\r\n getFolder(): string {\r\n return 'TinhHinhAnNinh';\r\n }\r\n\r\n getType(): number {\r\n return 1111;\r\n }\r\n\r\n}\r\n\r\nexport class ViewModelHoaDon {\r\n id: number;\r\n loai: number;\r\n ngaytao: Date;\r\n idphong: number;\r\n dsdichvu: HopDongDichVuModel[];\r\n tienphong: number;\r\n tongtiendv: number;\r\n tiencoc: number;\r\n checktiencoc: boolean;\r\n ducu: number;\r\n nocu: number;\r\n giamgia: number;\r\n thanhtoan: number;\r\n chiphikhac: number;\r\n ghichu: string;\r\n unitcode: string;\r\n idnhatro: number;\r\n mahoadon: string;\r\n ngaythanhtoan: Date;\r\n trangthai: number;\r\n idhopdong: number;\r\n constructor(data?: ViewModelHoaDon) {\r\n if (data) {\r\n this.loai = data.loai;\r\n this.ngaytao = data.ngaytao;\r\n this.idphong = data.idphong;\r\n this.dsdichvu = data.dsdichvu;\r\n this.tienphong = data.tienphong;\r\n this.tongtiendv = data.tongtiendv;\r\n this.tiencoc = data.tiencoc;\r\n this.checktiencoc = data.checktiencoc;\r\n this.ducu = data.ducu;\r\n this.nocu = data.nocu;\r\n this.giamgia = data.giamgia;\r\n this.thanhtoan = data.thanhtoan;\r\n this.chiphikhac = data.chiphikhac;\r\n this.ghichu = data.ghichu;\r\n this.unitcode = data.unitcode;\r\n this.id = data.id;\r\n this.idnhatro = data.idnhatro;\r\n this.mahoadon = data.mahoadon;\r\n this.ngaythanhtoan = data.ngaythanhtoan;\r\n this.trangthai = data.trangthai;\r\n this.idhopdong = data.idhopdong\r\n }\r\n }\r\n}\r\n","import { CommonService } from 'app/@core/customs/common.service';\r\nimport { SUCCESS_RESPONSE, STATUS_ACTION, ViewNhaTro } from 'app/@core/customs/constants';\r\nimport { QlHoaDonService, ViewModelHoaDon } from './../../quan-ly-hoa-don.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { PAGE_SIZE } from 'app/@core/customs/constants';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { QLHoaDonComponent as QLHoaDonComponent } from '../quan-ly-hoa-don/quan-ly-hoa-don.component';\r\nimport { SearchModel, ShareModel } from 'app/@core/data/app-congan.service';\r\nimport { QLNhaTroService } from 'app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-nha-tro.service';\r\nimport { QLNhaTroShareComponent } from 'app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-nha-tro/quan-ly-nha-tro-share/quan-ly-nha-tro-share.component';\r\nimport { QLHoaDonPrintComponent } from '../quan-ly-hoa-don-print/quan-ly-hoa-don-print.component';\r\nimport { QuanLyHoaDonPayComponent } from '../quan-ly-hoa-don-pay/quan-ly-hoa-don-pay.component';\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-hoa-don-index',\r\n templateUrl: './quan-ly-hoa-don-index.component.html',\r\n styleUrls: ['./quan-ly-hoa-don-index.component.scss']\r\n})\r\nexport class QLHoaDonIndexComponent implements OnInit {\r\n\r\n constructor(\r\n private service: QlHoaDonService,\r\n private commonService: CommonService,\r\n private serviceNhatro: QLNhaTroService,\r\n private dialog: MatDialog\r\n ) { }\r\n\r\n totalPage: number;\r\n searchModel: SearchModel = new SearchModel({\r\n trangThai: null,\r\n sapXep: null,\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE,\r\n search: null,\r\n column: null\r\n });\r\n\r\n initSearchModel() {\r\n this.searchModel.trangThai = 0;\r\n this.searchModel.sapXep = 0;\r\n }\r\n\r\n target: any = {\r\n data: []\r\n };\r\n file: any[] = [];\r\n isLoading: boolean = true;\r\n title: string = 'Quản lý hoá đơn';\r\n ListTrangthai = [{ id: 1, name: 'Đã thanh toán' }, { id: 2, name: 'Chưa thanh toán' },\r\n { id: 3, name: 'Đã thu hồi' }, { id: 0, name: '-Tất cả-' }];\r\n lstNhatro = [];\r\n\r\n ngOnInit(): void {\r\n this.loadData();\r\n this.initSearchModel();\r\n this.serviceNhatro.selectAll().subscribe(result => {\r\n this.lstNhatro = result.data.map(c => new ViewNhaTro({\r\n id: c.id,\r\n ten: c.tennhatro\r\n }));\r\n });\r\n }\r\n\r\n loadData() {\r\n this.service.paging(this.searchModel).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.target = result.data;\r\n this.totalPage = result.data.totalPage;\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n this.isLoading = false;\r\n });\r\n }\r\n\r\n changeTrangthai(event) {\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n changeSapxep(event) {\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n getTrangthai(trangthai) {\r\n return trangthai ? 'Đã thanh toán' : 'Chưa thanh toán';\r\n }\r\n\r\n searchPage() {\r\n this.searchModel.search = this.searchModel.search;\r\n this.loadData();\r\n }\r\n\r\n resetPage() {\r\n this.searchModel.search = null;\r\n this.searchPage();\r\n }\r\n\r\n openCreateDialog() {\r\n this.dialog.open(QLHoaDonComponent, this.commonService.configDialog('100%',\r\n { id: null, title: `Thêm ${this.title.toLowerCase()}`, action: STATUS_ACTION.create, idNhaTro: this.searchModel.condition }))\r\n .afterClosed().subscribe(result => {\r\n // console.log(result);\r\n if (result === true) {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n\r\n detailData(item: ViewModelHoaDon) {\r\n this.dialog.open(QLHoaDonComponent,\r\n this.commonService.configDialog('100%',\r\n {\r\n id: item.id, title: `Chi tiết ${this.title.toLowerCase()}`, action: STATUS_ACTION.detail,\r\n idNhaTro: this.searchModel.condition ?? item.idnhatro, data: item\r\n })).afterClosed().subscribe(() => { });\r\n }\r\n\r\n editData(item: ViewModelHoaDon) {\r\n this.dialog.open(QLHoaDonComponent,\r\n this.commonService.configDialog('100%',\r\n {\r\n id: item.id, title: `Sửa ${this.title.toLowerCase()}`, action: STATUS_ACTION.edit,\r\n idNhaTro: this.searchModel.condition ?? item.idnhatro, data: item\r\n })).afterClosed().subscribe(result => {\r\n if (result === true) {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n\r\n printData(item: ViewModelHoaDon) {\r\n const tenNhaTro = this.lstNhatro.find(f => f.id === this.searchModel.condition).ten;\r\n this.dialog.open(QLHoaDonPrintComponent,\r\n this.commonService.configDialog('60%',\r\n {\r\n id: item.id, title: `Chi tiết ${this.title.toLowerCase()}`, action: STATUS_ACTION.print,\r\n idNhaTro: this.searchModel.condition ?? item.idnhatro, data: item, tenNhaTro: tenNhaTro\r\n })).afterClosed().subscribe(() => { });\r\n }\r\n\r\n deleteData(id: number, tendonvi: string) {\r\n this.dialog.open(QLNhaTroShareComponent,\r\n this.commonService.configDialog('20%', null)).afterClosed().subscribe(result => {\r\n if (result === true) {\r\n this.service.delete(id).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.loadData();\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n checkAll: boolean = false;\r\n eventChecked = (item) => {\r\n if (!item && this.target.data.length > 0) {\r\n this.target.data.forEach(c => {\r\n c.checked = this.checkAll;\r\n });\r\n } else {\r\n this.checkAll = this.target.data.filter(c => !c.checked).length === 0;\r\n }\r\n }\r\n\r\n deleteChecked = () => {\r\n const lstDelete = this.target.data?.filter(c => c.checked === true).map(x => x.id);\r\n if (lstDelete.length === 0) {\r\n return this.commonService.toastrWarning('Xin hãy chọn ít nhất 1 bản ghi!');\r\n }\r\n this.dialog.open(QLNhaTroShareComponent,\r\n this.commonService.configDialog('20%', null)).afterClosed().subscribe(result => {\r\n if (result === true) {\r\n // const lstDelete = this.target.data?.filter(c => c.checked === true).map(x => x.id);\r\n this.service.DeleteListrecord(lstDelete).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Thành công!!!');\r\n this.loadData();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n chageStatus = (item: ViewModelHoaDon) => {\r\n this.dialog.open(QuanLyHoaDonPayComponent,\r\n this.commonService.configDialog('30%', { id: item.id, action: STATUS_ACTION.edit })).afterClosed().subscribe(result => {\r\n if (result === true) {\r\n // const lstDelete = this.target.data?.filter(c => c.checked === true).map(x => x.id);\r\n const postData = new ShareModel({\r\n id: item.id.toString(),\r\n trangthai: item.trangthai ? 1 : 0\r\n });\r\n this.service.share(postData).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Thành công!!!');\r\n this.loadData();\r\n }\r\n });\r\n } else {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n}\r\n","\r\n \r\n
    \r\n
    \r\n

    {{title}}

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n  \r\n \r\n  \r\n \r\n  \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
    PhòngĐại diện phòngTổng tiềnNgày tạoNgày thanh toánTrạng tháiHành động
    {{item.tenphong}}{{item.daidienphong}}{{item.thanhtoan | number}}{{item.ngaytao | date:'dd/MM/yyyy'}}{{item.ngaythanhtoan | date:'dd/MM/yyyy'}}\r\n \r\n {{getTrangthai(item.trangthai)}}\r\n \r\n   \r\n \r\n   \r\n \r\n   \r\n \r\n   \r\n
    \r\n
    \r\n
    \r\n
    0\" class=\"row\">\r\n
    \r\n
    \r\n Tổng số bản ghi: {{target?.recordsCount}}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Không có dữ liệu.\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { CommonService, ConvertDatePipe } from 'app/@core/customs/common.service';\r\nimport { SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { HoaDonModel } from 'app/@core/data/app-congan.service';\r\nimport { QLHopDongService } from 'app/modules/app-congan-admin/quan-ly-hop-dong/quan-ly-hop-dong.service';\r\nimport { QLPhongService } from 'app/modules/app-congan-admin/quan-ly-phong/quan-ly-phong.service';\r\nimport { QlHoaDonService, ViewModelHoaDon } from '../../quan-ly-hoa-don.service';\r\n\r\n@Component({\r\n selector: 'app-quan-ly-hoa-don-pay',\r\n templateUrl: './quan-ly-hoa-don-pay.component.html',\r\n styleUrls: ['./quan-ly-hoa-don-pay.component.scss']\r\n})\r\nexport class QuanLyHoaDonPayComponent implements OnInit {\r\n\r\n constructor(\r\n private commonService: CommonService,\r\n public service: QlHoaDonService,\r\n @Inject(MAT_DIALOG_DATA) public fromParent: { id: string; title: string; action: number; idNhaTro: number; data: ViewModelHoaDon },\r\n private dialogRef: MatDialogRef\r\n ) {}\r\n\r\n nguoithanhtoan: string = null;\r\n target = {\r\n entity: new ViewModelHoaDon(),\r\n listDetail: [],\r\n listFile: []\r\n };\r\n\r\n tuNgay: Date = new Date();\r\n denNgay: Date = new Date();\r\n\r\n ngOnInit() {\r\n this.loadData();\r\n }\r\n\r\n loadData() {\r\n this.service.selectOne(this.fromParent.id).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target.entity.ghichu = res.data.hoadon.ghichu;\r\n this.target.entity.giamgia = res.data.hoadon.giamgia;\r\n this.target.entity.id = res.data.hoadon.id;\r\n this.target.entity.idhopdong = res.data.hoadon.idhopdong;\r\n this.target.entity.idphong = res.data.hoadon.idphong;\r\n this.target.entity.loai = res.data.hoadon.loai;\r\n this.target.entity.mahoadon = res.data.hoadon.mahoadon;\r\n this.target.entity.ngaytao = new ConvertDatePipe().transform(res.data.hoadon.ngaytao);\r\n this.tuNgay = new ConvertDatePipe().transform(res.data.hoadon.tungay);\r\n this.denNgay = new ConvertDatePipe().transform(res.data.hoadon.denngay);\r\n this.target.entity.tienphong = res.data.hoadon.tienphong;\r\n this.target.entity.thanhtoan = res.data.hoadon.thanhtoan;\r\n this.target.entity.dsdichvu = res.data.dsDichvu;\r\n this.target.entity.chiphikhac = res.data.hoadon.chiphikhac;\r\n\r\n }\r\n });\r\n }\r\n\r\n create(frm: NgForm) {\r\n const postData = new HoaDonModel({\r\n ducu: this.target.entity.nocu,\r\n ghichu: this.target.entity.ghichu,\r\n giamgia: this.target.entity.giamgia,\r\n id: this.target.entity.id,\r\n idhopdong: this.target.entity.idhopdong,\r\n idphong: this.target.entity.idphong,\r\n loai: this.target.entity.loai,\r\n mahoadon: this.target.entity.mahoadon,\r\n nocu: this.target.entity.nocu,\r\n ngaytao: new Date(this.target.entity.ngaytao),\r\n tiencoc: this.target.entity.tiencoc,\r\n tiendichvu: this.target.entity.tongtiendv,\r\n tienphong: this.target.entity.tienphong,\r\n thanhtoan: this.target.entity.thanhtoan,\r\n lstDichVu: this.target.entity.dsdichvu,\r\n checktiencoc: this.target.entity.checktiencoc,\r\n chiphikhac: this.target.entity.chiphikhac,\r\n tungay: new Date(this.tuNgay),\r\n denngay: new Date(this.denNgay),\r\n tenNguoiTT: this.nguoithanhtoan\r\n });\r\n this.service.confirm(postData, this.fromParent.action).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.dialogRef.close(true);\r\n }\r\n });\r\n }\r\n\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n

    Nguời thanh toán

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { STATUS_ACTION } from './../../../../../@core/customs/constants';\r\nimport { NgForm } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { HopDongDichVuModel, HoaDonModel } from './../../../../../@core/data/app-congan.service';\r\nimport { CommonService, ConvertDatePipe } from './../../../../../@core/customs/common.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { QlHoaDonService, ViewModelHoaDon } from '../../quan-ly-hoa-don.service';\r\nimport { QLPhongService } from 'app/modules/app-congan-admin/quan-ly-phong/quan-ly-phong.service';\r\nimport { QLHopDongService } from 'app/modules/app-congan-admin/quan-ly-hop-dong/quan-ly-hop-dong.service';\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-hoa-don-print',\r\n templateUrl: './quan-ly-hoa-don-print.component.html',\r\n styleUrls: ['./quan-ly-hoa-don-print.component.scss']\r\n})\r\nexport class QLHoaDonPrintComponent implements OnInit {\r\n constructor(\r\n private commonService: CommonService,\r\n public service: QlHoaDonService,\r\n private phongService: QLPhongService,\r\n private hopDongService: QLHopDongService,\r\n @Inject(MAT_DIALOG_DATA)\r\n public fromParent: { id: string; title: string; action: number; idNhaTro: number; data: ViewModelHoaDon; tenNhaTro: string },\r\n private dialogRef: MatDialogRef\r\n ) {}\r\n\r\n type = 0;\r\n folder: string;\r\n types: number;\r\n listFileTemp: any[] = [];\r\n target = {\r\n entity: new ViewModelHoaDon(),\r\n listDetail: [],\r\n listFile: []\r\n };\r\n lstPhong: any[];\r\n tenPhong: string;\r\n getDataInsert(): void {\r\n this.service.SelectByIdNhaTro(Number(this.fromParent.idNhaTro)).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.tenPhong = result.data.find(c => c.idphong === this.target.entity.idphong)?.tenphong;\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.target.entity = this.fromParent.data;\r\n this.target.entity.ngaytao = new ConvertDatePipe().transform(this.target.entity.ngaytao);\r\n this.loadData();\r\n }\r\n\r\n tennguoitt: string = '';\r\n tuNgay: Date = new Date();\r\n denNgay: Date = new Date();\r\n loadData() {\r\n this.service.selectOne(this.fromParent.id).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target.entity.ghichu = res.data.hoadon.ghichu;\r\n this.target.entity.giamgia = res.data.hoadon.giamgia;\r\n this.target.entity.id = res.data.hoadon.id;\r\n this.target.entity.idhopdong = res.data.hoadon.idhopdong;\r\n this.target.entity.idphong = res.data.hoadon.idphong;\r\n this.target.entity.loai = res.data.hoadon.loai;\r\n this.target.entity.mahoadon = res.data.hoadon.mahoadon;\r\n this.target.entity.ngaytao = res.data.hoadon.ngaytao;\r\n this.tuNgay = res.data.hoadon.tungay;\r\n this.denNgay = res.data.hoadon.denngay;\r\n this.target.entity.tienphong = res.data.hoadon.tienphong;\r\n this.target.entity.thanhtoan = res.data.hoadon.thanhtoan;\r\n this.target.entity.dsdichvu = res.data.dsDichvu;\r\n this.tennguoitt = res.data.hoadon.tennguoitt;\r\n this.target.entity.chiphikhac = res.data.hoadon.chiphikhac;\r\n this.service.loadHopDong(this.target.entity.idhopdong).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target.entity.tiencoc = res.data.tiencoc;\r\n this.fnctongTien();\r\n }\r\n });\r\n this.getDataInsert();\r\n }\r\n });\r\n }\r\n\r\n fnctongTien() {\r\n let total = 0;\r\n if (this.target.entity.dsdichvu) {\r\n this.target.entity.dsdichvu.forEach((e) => {\r\n total = total + e.dongia * e.soluong;\r\n });\r\n }\r\n this.target.entity.tongtiendv = total;\r\n }\r\n\r\n initRow() {}\r\n\r\n addRow(): void {}\r\n\r\n removeRow(rowIndex: number): void {}\r\n\r\n sumTotal = (item: HopDongDichVuModel) => {\r\n return Number(item.dongia ?? 0) * (item.soluong ?? 0);\r\n };\r\n\r\n LoadHopDongDichVu = (idPhong: number) => {\r\n this.hopDongService.LoadHopDongDichVu(idPhong, this.target.entity.idhopdong).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.target.entity.dsdichvu = result.data.lstHopDongDichVu;\r\n this.service.loadHopDong(result.data.idHopDong).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target.entity.tiencoc = res.data.tiencoc;\r\n }\r\n });\r\n }\r\n });\r\n };\r\n\r\n Calculator = (item: ViewModelHoaDon) => {\r\n let thanhtoan = 0;\r\n if (item?.idphong) {\r\n const tienphong = Number(item.tienphong ?? 0);\r\n // const tongtiendv = Number(item.tongtiendv ?? 0);\r\n const tongtiendv =\r\n this.target.entity.dsdichvu?.length > 0 ? this.target.entity.dsdichvu.map((x) => this.sumTotal(x))?.reduce((a, b) => a + b) : 0;\r\n item.tongtiendv = tongtiendv;\r\n const tiencoc = Number(item.tiencoc ?? 0);\r\n // const duno = Number(item.ducu ?? 0);\r\n // const nocu = Number(item.nocu ?? 0);\r\n const giamgia = Number(item.giamgia ?? 0);\r\n const chiphikhac = Number(item.chiphikhac ?? 0);\r\n thanhtoan = tienphong + tongtiendv + chiphikhac - giamgia - tiencoc;\r\n // if (item.checktiencoc) {\r\n // thanhtoan += tiencoc;\r\n // } else {\r\n // thanhtoan -= tiencoc;\r\n // }\r\n return (item.thanhtoan = thanhtoan);\r\n }\r\n };\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n {{ fromParent.title }}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n Hóa đơn thu tiền phòng\r\n {{\r\n tuNgay?.getMonth() === denNgay?.getMonth()\r\n ? 'tháng ' + (tuNgay?.getMonth() + 1)\r\n : 'từ tháng ' + (tuNgay?.getMonth() + 1) + 'đến tháng' + (denNgay?.getMonth() + 1)\r\n }}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {{ target.entity.ngaytao | date : 'dd/MM/yyyy' }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {{ tenPhong }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {{ this.target.entity.tiencoc | number }}\r\n
    \r\n
    \r\n
    \r\n {{ tennguoitt }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    STTTên dịch vụĐơn giá (VNĐ)Đơn vị tínhQuy tắc tính tiềnSố lượngTổng tiền (VNĐ)\r\n \r\n
    1Tiền phòng{{ target.entity.tienphong | number}}
    {{ i + 2 }}{{ item.tendichvu }}{{ item.dongia| number }}{{ item.donvi| number }}{{ item.quytac === 0 ? 'Đơn giá cố định' : 'Đơn giá theo đầu người' }}\r\n {{item.soluong | number}}\r\n \r\n {{ sumTotal(item)| number }}\r\n \r\n \r\n
    {{ target.entity.dsdichvu.length + 2 }}Chi phí khác{{ target.entity.chiphikhac| number }}
    {{ target.entity.dsdichvu.length + 3 }}Giảm giá{{ target.entity.giamgia| number }}
    Tổng cộng\r\n {{ Calculator(target.entity) | number}}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n

    {{ target.entity.ghichu }}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Người nộp tiền

    \r\n

    (Ký và ghi rõ họ tên)

    \r\n
    \r\n
    \r\n

    Người thu tiền

    \r\n

    (Ký và ghi rõ họ tên)

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n In hóa đơn\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { STATUS_ACTION } from './../../../../../@core/customs/constants';\r\nimport { NgForm } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { HopDongDichVuModel, HoaDonModel } from './../../../../../@core/data/app-congan.service';\r\nimport { CommonService, ConvertDatePipe } from './../../../../../@core/customs/common.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { QlHoaDonService, ViewModelHoaDon } from '../../quan-ly-hoa-don.service';\r\nimport { QLPhongService } from 'app/modules/app-congan-admin/quan-ly-phong/quan-ly-phong.service';\r\nimport { QLHopDongService } from 'app/modules/app-congan-admin/quan-ly-hop-dong/quan-ly-hop-dong.service';\r\nimport { CurrencyMaskInputMode } from 'ngx-currency';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-hoa-don',\r\n templateUrl: './quan-ly-hoa-don.component.html',\r\n styleUrls: ['./quan-ly-hoa-don.component.scss']\r\n})\r\nexport class QLHoaDonComponent implements OnInit {\r\n constructor(\r\n private commonService: CommonService,\r\n public service: QlHoaDonService,\r\n private phongService: QLPhongService,\r\n private hopDongService: QLHopDongService,\r\n @Inject(MAT_DIALOG_DATA) public fromParent: { id: string; title: string; action: number; idNhaTro: number; data: ViewModelHoaDon },\r\n private dialogRef: MatDialogRef\r\n ) {}\r\n\r\n currencyMaskConfig = {\r\n align: 'left',\r\n allowNegative: false,\r\n allowZero: true,\r\n decimal: ',',\r\n precision: 0,\r\n prefix: '',\r\n suffix: '',\r\n thousands: '.',\r\n nullable: true,\r\n min: -999999999999999999999999,\r\n max: 999999999999999999999999,\r\n inputMode: CurrencyMaskInputMode.NATURAL\r\n };\r\n\r\n type = 0;\r\n folder: string;\r\n types: number;\r\n listFileTemp: any[] = [];\r\n target = {\r\n entity: new ViewModelHoaDon(),\r\n listDetail: [],\r\n listFile: []\r\n };\r\n lstPhong: any[] = [];\r\n getDataInsert(): void {\r\n this.service.SelectByIdNhaTro(Number(this.fromParent.idNhaTro)).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstPhong = result.data;\r\n }\r\n });\r\n }\r\n\r\n tuNgay: Date = new Date();\r\n denNgay: Date = new Date();\r\n\r\n ngOnInit(): void {\r\n this.initRow();\r\n this.getDataInsert();\r\n if ([STATUS_ACTION.edit, STATUS_ACTION.detail].indexOf(this.fromParent.action) > -1) {\r\n this.target.entity = this.fromParent.data;\r\n this.target.entity.ngaytao = new ConvertDatePipe().transform(this.target.entity.ngaytao);\r\n this.loadData();\r\n } else {\r\n this.target.entity.loai = 1;\r\n this.target.entity.mahoadon = 'HD' + new Date().getTime();\r\n this.target.entity.ngaytao = new ConvertDatePipe().transform(new Date());\r\n }\r\n }\r\n\r\n ngaytao:any;\r\n loadData() {\r\n this.service.selectOne(this.fromParent.id).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target.entity.ghichu = res.data.hoadon.ghichu;\r\n this.target.entity.giamgia = res.data.hoadon.giamgia;\r\n this.target.entity.id = res.data.hoadon.id;\r\n this.target.entity.idhopdong = res.data.hoadon.idhopdong;\r\n this.target.entity.idphong = res.data.hoadon.idphong;\r\n this.target.entity.loai = res.data.hoadon.loai;\r\n this.target.entity.mahoadon = res.data.hoadon.mahoadon;\r\n this.target.entity.ngaytao = new ConvertDatePipe().transform(res.data.hoadon.ngaytao);\r\n this.tuNgay = new ConvertDatePipe().transform(res.data.hoadon.tungay);\r\n this.denNgay = new ConvertDatePipe().transform(res.data.hoadon.denngay);\r\n this.target.entity.tienphong = res.data.hoadon.tienphong;\r\n this.target.entity.thanhtoan = res.data.hoadon.thanhtoan;\r\n this.target.entity.dsdichvu = res.data.dsDichvu;\r\n this.target.entity.chiphikhac = res.data.hoadon.chiphikhac;\r\n this.service.loadHopDong(this.target.entity.idhopdong).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target.entity.tiencoc = res.data.tiencoc;\r\n this.fnctongTien();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n initRow() {}\r\n\r\n addRow(): void {}\r\n\r\n removeRow(rowIndex: number): void {}\r\n\r\n create(frm: NgForm) {\r\n const postData = new HoaDonModel({\r\n ducu: this.target.entity.nocu,\r\n ghichu: this.target.entity.ghichu,\r\n giamgia: this.target.entity.giamgia,\r\n id: this.target.entity.id,\r\n idhopdong: this.target.entity.idhopdong,\r\n idphong: this.target.entity.idphong,\r\n loai: this.target.entity.loai,\r\n mahoadon: this.target.entity.mahoadon,\r\n nocu: this.target.entity.nocu,\r\n ngaytao: new Date(this.target.entity.ngaytao),\r\n tiencoc: this.target.entity.tiencoc,\r\n tiendichvu: this.target.entity.tongtiendv,\r\n tienphong: this.target.entity.tienphong,\r\n thanhtoan: this.Calculator(this.target.entity),\r\n lstDichVu: this.target.entity.dsdichvu,\r\n checktiencoc: this.target.entity.checktiencoc,\r\n chiphikhac: this.target.entity.chiphikhac,\r\n tungay: new Date(this.tuNgay),\r\n denngay: new Date(this.denNgay),\r\n });\r\n this.service.confirm(postData, this.fromParent.action).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Thêm mới thành công!');\r\n this.dialogRef.close(true);\r\n }\r\n });\r\n }\r\n tienphong: number = 0;\r\n\r\n chagePhong = (item) => {\r\n // const idPhong = item?.idphong;\r\n // this.target.entity.idphong = idPhong;\r\n this.target.entity.tienphong = item.tienPhong;\r\n this.tienphong = item.tienPhong;\r\n if (this.target.entity.idphong) {\r\n this.LoadHopDongDichVu(this.target.entity.idphong, this.target.entity.idhopdong);\r\n // this.target.entity.tienphong = item.dongia;\r\n }\r\n };\r\n\r\n changeTienCoc = (isSum: boolean = true) => {\r\n let thanhtoan = Number(this.target.entity.thanhtoan);\r\n const tiencoc = Number(this.target.entity.tiencoc);\r\n if (isSum) {\r\n thanhtoan += tiencoc;\r\n } else {\r\n thanhtoan -= tiencoc;\r\n }\r\n\r\n this.target.entity.thanhtoan = thanhtoan;\r\n };\r\n\r\n tongTien = 0;\r\n fnctongTien() {\r\n let total = 0;\r\n if (this.target.entity.dsdichvu) {\r\n this.target.entity.dsdichvu.forEach((e) => {\r\n total = total + e.dongia * e.soluong;\r\n });\r\n }\r\n this.target.entity.tongtiendv = total;\r\n }\r\n\r\n sumTotal = (item: HopDongDichVuModel) => {\r\n return Number(item.dongia ?? 0) * (item.soluong ?? 0);\r\n };\r\n\r\n LoadHopDongDichVu = (idPhong: number, idHopdong) => {\r\n this.hopDongService.LoadHopDongDichVu(idPhong, idHopdong).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n if (result.data.lstHopDongDichVu) {\r\n this.target.entity.dsdichvu = result.data.lstHopDongDichVu;\r\n } else {\r\n this.target.entity.dsdichvu = [];\r\n }\r\n this.target.entity.idhopdong = result.data.idHopDong;\r\n this.service.loadHopDong(result.data.idHopDong).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target.entity.tiencoc = res.data.tiencoc;\r\n this.fnctongTien();\r\n }\r\n });\r\n } else {\r\n this.target.entity.dsdichvu = [];\r\n }\r\n });\r\n };\r\n\r\n tienPhongXX() {\r\n if (this.tuNgay && this.denNgay) {\r\n const tungay = new Date(this.tuNgay);\r\n const denngay = new Date(this.denNgay);\r\n this.target.entity.tienphong = (denngay.getMonth() - tungay.getMonth() + 1) * this.tienphong;\r\n } else {\r\n this.target.entity.tienphong = this.tienphong;\r\n }\r\n }\r\n\r\n // LoadHopDongNguoithue = (idPhong: number) => {\r\n // this.hopDongService.(idPhong).subscribe(result => {\r\n // if (result.code === SUCCESS_RESPONSE) {\r\n // this.target.entity.dsdichvu = result.data;\r\n // }\r\n // });\r\n // }\r\n\r\n Calculator = (item: ViewModelHoaDon) => {\r\n return (item.tienphong ?? 0) + (item.tongtiendv ?? 0) + (item.chiphikhac ?? 0) - (item.giamgia ?? 0) ?? 0;\r\n };\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n {{fromParent.title}}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n Ngày lập hóa đơn là bắt buộc\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    STTTên dịch vụ Đơn giá (VNĐ) Đơn vị tínhQuy tắc tính tiềnSố lượngTổng tiền (VNĐ)\r\n \r\n
    {{i+1}}{{item.tendichvu}}{{item.dongia | number}}{{item.donvi| number}}\r\n {{item.quytactinhtien === 1 ? 'Đơn giá theo đầu người' : 'Đơn giá cố định'}}\r\n {{sumTotal(item) | number}}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n \r\n
    \r\n\r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    {{ Calculator(target.entity) | number}}
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { QLHopDongIndexComponent } from './quan-ly-hop-dong/quan-ly-hop-dong-index/quan-ly-hop-dong-index.component';\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n children: [\r\n { path: '', component: QLHopDongIndexComponent },\r\n ]\r\n }\r\n];\r\n","import {\r\n ApiResponse,\r\n AppCongAnApiService,\r\n ObjectIEnumerablePageModelViewApiResponse,\r\n HopdongEntity,\r\n ShareModel,\r\n HopDongModel,\r\n HopDongNguoiThueModelListApiResponse,\r\n HopDongDichVuModelListApiResponse,\r\n HopDongNguoiThueModel,\r\n HopDongDichVuModel,\r\n ParamNguoiThue,\r\n SearchModel,\r\n HopDongHoaDonModelApiResponse\r\n} from './../../../@core/data/app-congan.service';\r\nimport { Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { STATUS_ACTION } from 'app/@core/customs/constants';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class QLHopDongService {\r\n statusAction = STATUS_ACTION;\r\n constructor(private api: AppCongAnApiService) { }\r\n\r\n paging(body: SearchModel | undefined): Observable {\r\n return this.api.appCongAnApiV1HopDongPagingCus(body);\r\n }\r\n\r\n insert(body: HopDongModel | undefined): Observable {\r\n return this.api.appCongAnApiV1HopDongInsertCus(body);\r\n }\r\n\r\n // selectOne(id: number): Observable {\r\n // return this.api.appCongAnApiV1HopDongSelectOne(id);\r\n // }\r\n\r\n update(body: HopdongEntity | undefined): Observable {\r\n return this.api.appCongAnApiV1HopDongUpdate(body);\r\n }\r\n\r\n delete(id: number): Observable {\r\n return this.api.appCongAnApiV1HopDongDelete(id);\r\n }\r\n\r\n share(request: ShareModel): Observable {\r\n return this.api.appCongAnApiV1HopDongShare(request);\r\n }\r\n\r\n DeleteListrecord(body: number[]): Observable {\r\n return this.api.appCongAnApiV1HopDongDeleteListRecord(body);\r\n }\r\n\r\n LoadHopDongNguoiThue(body: ParamNguoiThue): Observable {\r\n return this.api.appCongAnApiV1HopDongLoadHopDongNguoiThueNew(body);\r\n }\r\n\r\n LoadHopDongDichVu(idPhong: number, idHopdong: number): Observable {\r\n return this.api.appCongAnApiV1HopDongSelectHopDongDichVu(idPhong, idHopdong);\r\n }\r\n\r\n confirm = (data: HopDongModel, statusAction: number): Observable => {\r\n if (statusAction === STATUS_ACTION.create) {\r\n return this.insert(data);\r\n } else if (statusAction === STATUS_ACTION.edit) {\r\n return this.insert(data);\r\n }\r\n }\r\n\r\n LoadNguoiThuePhong(idPhong: number): Observable {\r\n return this.api.appCongAnApiV1HopDongLoadNguoiThuePhong(idPhong);\r\n }\r\n\r\n getFolder(): string {\r\n return 'Hopdong';\r\n }\r\n\r\n getType(): number {\r\n return 1111;\r\n }\r\n}\r\n\r\nexport class ViewModelHopDong {\r\n id: number;\r\n phong: number;\r\n dskhach: HopDongNguoiThueModel[];\r\n dsdichvu: HopDongDichVuModel[];\r\n nguoidaidien: string;\r\n tiencoc: number;\r\n ngaybatdau: Date;\r\n ngayketthuc: Date;\r\n ghichu: string;\r\n kythanhtoan: number;\r\n idnhatro: number;\r\n tenphong: string;\r\n idPhong: number;\r\n unitcode: string;\r\n sohopdong: string;\r\n ngayky: Date;\r\n tennguoidaidien: string;\r\n trangThai: string;\r\n constructor(data?: ViewModelHopDong) {\r\n if (data) {\r\n this.id = data.id;\r\n this.phong = data.phong;\r\n this.dskhach = data.dskhach;\r\n this.dsdichvu = data.dsdichvu;\r\n this.nguoidaidien = data.nguoidaidien;\r\n this.tiencoc = data.tiencoc;\r\n this.ngaybatdau = data.ngaybatdau;\r\n this.ngayketthuc = data.ngayketthuc;\r\n this.ghichu = data.ghichu;\r\n this.kythanhtoan = data.kythanhtoan;\r\n this.idnhatro = data.idnhatro;\r\n this.unitcode = data.unitcode;\r\n this.tenphong = data.tenphong;\r\n this.idPhong = data.idPhong;\r\n this.sohopdong = data.sohopdong;\r\n this.ngayky = data.ngayky;\r\n this.tennguoidaidien = data.tennguoidaidien;\r\n this.trangThai = data.trangThai;\r\n }\r\n }\r\n}\r\n","import { STATUS_HOPDONG } from './../../../../../@core/customs/constants';\r\nimport { NgForm } from '@angular/forms';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { HopDongDichVuModel } from './../../../../../@core/data/app-congan.service';\r\nimport { CommonService } from './../../../../../@core/customs/common.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { QLHopDongService, ViewModelHopDong } from '../../quan-ly-hop-dong.service';\r\nimport { QLDichVuService } from 'app/modules/app-congan-admin/quan-ly-dich-vu/quan-ly-dich-vu.service';\r\n\r\n\r\n@Component({\r\n selector: 'ngx-chon-dich-vu',\r\n templateUrl: './chon-dich-vu.component.html',\r\n styleUrls: ['./chon-dich-vu.component.scss']\r\n})\r\nexport class SelectedDichVuComponent implements OnInit {\r\n\r\n constructor(\r\n private commonService: CommonService,\r\n public service: QLHopDongService,\r\n private serviceDV: QLDichVuService,\r\n @Inject(MAT_DIALOG_DATA) public data: { idNhaTro: number, item: ViewModelHopDong, action: number },\r\n private dialog: MatDialog,\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n\r\n type = 0;\r\n folder: string;\r\n types: number;\r\n listFileTemp: any[] = [];\r\n arr: any[] = [];\r\n isTamTru: boolean = false;\r\n lstDanhSach: HopDongDichVuModel[];\r\n lstSelected: HopDongDichVuModel[];\r\n\r\n ngOnInit(): void {\r\n this.loadForm();\r\n }\r\n\r\n loadForm = () => {\r\n this.serviceDV.SelectByIdNhaTro(this.data.idNhaTro).subscribe(result => {\r\n this.arr = result.data.map(x => {\r\n return {\r\n id: 0,\r\n idhopdong: 0,\r\n iddichvu: x.id,\r\n soluong: 0,\r\n tendichvu: x.tendichvu,\r\n quytactinhtien: x.quytactinhtien,\r\n dongia: x.giadichvu,\r\n donvi: x.donvitinh,\r\n };\r\n });\r\n if (this.data.item?.dsdichvu?.length > 0) {\r\n this.arr.forEach((x, index) => {\r\n this.data.item.dsdichvu.forEach(c => {\r\n if (x.tendichvu === c.tendichvu) {\r\n x.trangthai = STATUS_HOPDONG.dangxuly;\r\n }\r\n });\r\n if (index === this.arr.length - 1) {\r\n this.initRow();\r\n }\r\n });\r\n } else {\r\n this.initRow();\r\n }\r\n });\r\n }\r\n\r\n initRow() {\r\n this.lstDanhSach = this.arr.filter(c => !c.trangthai);\r\n this.lstSelected = this.arr.filter(c => c.trangthai === STATUS_HOPDONG.dangxuly);\r\n }\r\n\r\n changeList(item, isSelected: number): void {\r\n if (this.lstSelected.findIndex(x => x.tendichvu === item.tendichvu) > -1 && isSelected) {\r\n return this.commonService.toastrWarning('Dịch vụ đã được chọn!');\r\n }\r\n item.trangthai = isSelected;\r\n this.lstDanhSach = this.arr.filter(c => !c.trangthai);\r\n this.lstSelected = this.arr.filter(c => c.trangthai === STATUS_HOPDONG.dangxuly);\r\n }\r\n\r\n create(frm: NgForm) {\r\n // console.log(this.lstSelected);\r\n const postData = this.lstSelected.map(x => new HopDongDichVuModel({\r\n id: x.id ?? 0,\r\n idhopdong: 0,\r\n iddichvu: x.iddichvu,\r\n soluong: 0,\r\n trangthai: x.trangthai,\r\n tendichvu: x.tendichvu,\r\n quytactinhtien: x.quytactinhtien,\r\n dongia: x.dongia,\r\n donvi: x.donvi,\r\n }));\r\n this.dialogRef.close(postData);\r\n }\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n Chọn dịch vụ\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    STTTên dịch vụ Quy tắc tính tiền Đơn giáĐơn vị\r\n\r\n
    {{i+1}}\r\n \r\n {{item.quytactinhtien === 0 ? 'Đơn giá cố định'\r\n : 'Đơn giá theo đầu người'}}\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    STTTên dịch vụ Quy tắc tính tiền Đơn giáĐơn vịSố lượng\r\n
    {{i+1}}\r\n \r\n {{item.quytactinhtien === 0 ? 'Đơn giá cố định'\r\n : 'Đơn giá theo đầu người'}}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { STATUS_ACTION, STATUS_HOPDONG, SUCCESS_RESPONSE } from './../../../../../@core/customs/constants';\r\nimport { NgForm } from '@angular/forms';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { HopDongNguoiThueModel } from './../../../../../@core/data/app-congan.service';\r\nimport { CommonService } from './../../../../../@core/customs/common.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { QLHopDongService, ViewModelHopDong } from '../../quan-ly-hop-dong.service';\r\nimport { QLKhachComponent } from 'app/modules/app-congan-admin/quan-ly-khach/quan-ly-khach/quan-ly-khach/quan-ly-khach.component';\r\nimport { QLKhachService } from 'app/modules/app-congan-admin/quan-ly-khach/quan-ly-khach.service';\r\n\r\n\r\n@Component({\r\n selector: 'ngx-chon-khach-thue',\r\n templateUrl: './chon-khach-thue.component.html',\r\n styleUrls: ['./chon-khach-thue.component.scss']\r\n})\r\nexport class SelectedKhachThueComponent implements OnInit {\r\n\r\n constructor(\r\n private commonService: CommonService,\r\n public service: QLHopDongService,\r\n private serviceNguoiThue: QLKhachService,\r\n @Inject(MAT_DIALOG_DATA) public data: {\r\n idNhaTro: number, item: ViewModelHopDong\r\n , action: number, idphong: number, lstHopDongNguoiThue: HopDongNguoiThueModel[], sltoida?: number,\r\n isDetail: boolean\r\n },\r\n private dialog: MatDialog,\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n\r\n type = 0;\r\n folder: string;\r\n types: number;\r\n listFileTemp: any[] = [];\r\n DataYears: number[] = [];\r\n isTamTru: boolean = false;\r\n lstSelected: HopDongNguoiThueModel[] = [];\r\n lstDanhSach: HopDongNguoiThueModel[] = [];\r\n ngOnInit(): void {\r\n this.loadData();\r\n }\r\n\r\n loadForm = () => {\r\n this.lstDanhSach = this.data.lstHopDongNguoiThue.filter(x => x.trangthai === 1);\r\n this.lstSelected = this.data.lstHopDongNguoiThue.filter(x => x.trangthai === 2);\r\n }\r\n\r\n loadData() {\r\n this.service.LoadNguoiThuePhong(this.data.idphong).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstDanhSach = result?.data;\r\n }\r\n });\r\n }\r\n\r\n create(frm: NgForm) {\r\n const postData = this.lstSelected.map(x => new HopDongNguoiThueModel({\r\n id: x.id,\r\n idhopdong: 0,\r\n idnguoithue: x.idnguoithue,\r\n ngaythue: new Date(),\r\n ngaytraphong: new Date(),\r\n hoten: x.hoten,\r\n dienthoai: x.dienthoai,\r\n trangthai: STATUS_HOPDONG.dathue,\r\n }));\r\n this.dialogRef.close(postData);\r\n }\r\n\r\n openFormKhach = () => {\r\n this.dialog.open(QLKhachComponent, this.commonService.configDialog('100%',\r\n { id: null, title: `Thêm khách thuê`, action: STATUS_ACTION.create, idNhaTro: this.data.idNhaTro, idphong: this.data.idphong, isHopDong: true }))\r\n .afterClosed().subscribe(result => {\r\n if (result) {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n\r\n\r\n changeList(item, isSelected: number): void {\r\n if (this.lstSelected.findIndex(x => x.idnguoithue === item.idnguoithue) > -1 && isSelected) {\r\n return this.commonService.toastrWarning('Người thuê đã được chọn!');\r\n }\r\n if (this.lstSelected.length >= this.data.sltoida && isSelected) {\r\n this.commonService.toastrWarning('Số lượng khách thuê được chọn lớn hơn số lượng khách thuê tối đa');\r\n return;\r\n }\r\n item.trangthai = isSelected === 0 ? 1 : 2;\r\n this.lstDanhSach = this.data.lstHopDongNguoiThue.filter(c => c.trangthai === 1);\r\n this.lstSelected = this.data.lstHopDongNguoiThue.filter(c => c.trangthai === 2);\r\n }\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    Danh sách khách thuê
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    STTTên khách thuêSố điện thoại
    {{ i + 1 }}\r\n {{ item.hoten }}\r\n \r\n {{ item.dienthoai }}\r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { CommonService } from 'app/@core/customs/common.service';\r\nimport { SUCCESS_RESPONSE, STATUS_ACTION, ViewNhaTro } from 'app/@core/customs/constants';\r\nimport { QLHopDongService, ViewModelHopDong } from './../../quan-ly-hop-dong.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { PAGE_SIZE } from 'app/@core/customs/constants';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { QLHopDongComponent } from '../quan-ly-hop-dong/quan-ly-hop-dong.component';\r\nimport { SearchModel, ShareModel } from 'app/@core/data/app-congan.service';\r\nimport { QLNhaTroService } from 'app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-nha-tro.service';\r\nimport { QLNhaTroShareComponent } from 'app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-nha-tro/quan-ly-nha-tro-share/quan-ly-nha-tro-share.component';\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-hop-dong-index',\r\n templateUrl: './quan-ly-hop-dong-index.component.html',\r\n styleUrls: ['./quan-ly-hop-dong-index.component.scss']\r\n})\r\nexport class QLHopDongIndexComponent implements OnInit {\r\n\r\n constructor(\r\n private service: QLHopDongService,\r\n private commonService: CommonService,\r\n private serviceNhatro: QLNhaTroService,\r\n private dialog: MatDialog\r\n ) { }\r\n\r\n totalPage: number;\r\n searchModel: SearchModel = new SearchModel({\r\n search: null,\r\n motelId: null,\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE,\r\n });\r\n\r\n initSearchModel() {\r\n\r\n }\r\n\r\n target: any = {\r\n data: []\r\n };\r\n file: any[] = [];\r\n isLoading: boolean = true;\r\n title: string = 'Quản lý hợp đồng thuê phòng';\r\n ListTrangthai = [{ id: 1, name: 'Đang soạn thảo' }, { id: 2, name: 'Đã đăng tải' },\r\n { id: 3, name: 'Đã thu hồi' }, { id: 0, name: '-Tất cả-' }];\r\n ListSapxep = [{ id: 1, name: 'Tăng dần từ A-Z' }, { id: 2, name: 'Giảm dần từ A-Z' }, { id: 3, name: 'Thời gian cập nhật cũ nhất' },\r\n { id: 4, name: 'Thời gian cập nhật mới nhất' }, { id: 0, name: '-Sắp xếp-' }];\r\n\r\n lstNhatro: any[] = [];\r\n ngOnInit(): void {\r\n this.loadData();\r\n this.initSearchModel();\r\n this.lstNhatro = [];\r\n this.serviceNhatro.selectAll().subscribe(result => {\r\n this.lstNhatro = result.data.map(c => new ViewNhaTro({\r\n id: c.id,\r\n ten: c.tennhatro\r\n }));\r\n });\r\n }\r\n\r\n loadData() {\r\n this.service.paging(this.searchModel).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.target = result.data;\r\n this.target.data = result.data.data.map(c => new ViewModelHopDong({\r\n id: c.id,\r\n phong: c.tenphong,\r\n dskhach: c.lstNguoiThue,\r\n dsdichvu: c.lstDichVu,\r\n nguoidaidien: c.tennguoidaidien,\r\n tiencoc: c.tiencoc,\r\n ngaybatdau: c.ngaybatdau ? new Date(c.ngaybatdau) : null,\r\n ngayketthuc: c.ngayketthuc ? new Date(c.ngayketthuc) : null,\r\n ghichu: c.ghichu,\r\n kythanhtoan: c.kythanhtoan,\r\n idnhatro: c.idnhatro,\r\n unitcode: c.unitcode,\r\n tenphong: c.tenphong,\r\n idPhong: c.idPhong,\r\n sohopdong: c.sohopdong,\r\n ngayky: c.ngayky ? new Date(c.ngayky) : null,\r\n tennguoidaidien: c.tennguoidaidienreal ?? c.tennguoidaidien,\r\n trangThai: c.trangThai\r\n }));\r\n\r\n this.totalPage = result.data.totalPage;\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n this.isLoading = false;\r\n });\r\n }\r\n\r\n changeTrangthai(event) {\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n changeSapxep(event) {\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n getTrangthai(item) {\r\n return this.ListTrangthai.find(c => c.id === item)?.name ?? null;\r\n }\r\n\r\n searchPage() {\r\n this.searchModel.search = this.searchModel.search;\r\n this.loadData();\r\n }\r\n\r\n resetPage() {\r\n this.searchModel.search = null;\r\n this.searchPage();\r\n }\r\n\r\n openCreateDialog() {\r\n this.dialog.open(QLHopDongComponent, this.commonService.configDialog('60%',\r\n { id: null, title: `Thêm hợp đồng thuê phòng`, action: STATUS_ACTION.create, idNhaTro: this.searchModel.motelId, data: {} }))\r\n .afterClosed().subscribe(result => {\r\n if (result === true) {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n\r\n detailData(item: ViewModelHopDong) {\r\n this.dialog.open(QLHopDongComponent,\r\n this.commonService.configDialog('60%',\r\n {\r\n id: item.id, title: `Chi tiết hợp đồng thuê phòng`, action: STATUS_ACTION.detail,\r\n idNhaTro: this.searchModel.motelId ?? item.idnhatro, data: item\r\n })).afterClosed().subscribe(() => { });\r\n }\r\n\r\n editData(item: ViewModelHopDong) {\r\n this.dialog.open(QLHopDongComponent,\r\n this.commonService.configDialog('60%',\r\n {\r\n id: item.id, title: `Sửa hợp đồng thuê phòng`, action: STATUS_ACTION.edit,\r\n idNhaTro: this.searchModel.motelId ?? item.idnhatro, data: item\r\n })).afterClosed().subscribe(result => {\r\n if (result === true) {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n\r\n deleteData(id: number, tendonvi: string) {\r\n this.dialog.open(QLNhaTroShareComponent,\r\n this.commonService.configDialog('20%', null)).afterClosed().subscribe(result => {\r\n if (result === true) {\r\n this.service.delete(id).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.loadData();\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n // shareData(id: number) {\r\n // this.dialog.open(QLHopDongShareComponent, this.commonService.configDialog('30%',\r\n // { id: id }))\r\n // .afterClosed().subscribe(res => {\r\n // if (res) this.loadData();\r\n // });\r\n // }\r\n // recoverData(id: number) {\r\n // this.dialog.open(QLHopDongRecoverComponent, this.commonService.configDialog('30%',\r\n // { id: id }))\r\n // .afterClosed().subscribe(res => {\r\n // if (res) this.loadData();\r\n // });\r\n // }\r\n\r\n checkAll: boolean = false;\r\n eventChecked = (item) => {\r\n if (!item && this.target.data.length > 0) {\r\n this.target.data.forEach(c => {\r\n c.checked = this.checkAll;\r\n });\r\n } else {\r\n this.checkAll = this.target.data.filter(c => !c.checked).length === 0;\r\n }\r\n }\r\n\r\n deleteChecked = () => {\r\n const lstDelete = this.target.data?.filter(c => c.checked === true).map(x => x.id);\r\n if (lstDelete.length === 0) {\r\n return this.commonService.toastrWarning('Vui lòng chọn ít nhất 1 hợp đồng');\r\n }\r\n this.dialog.open(QLNhaTroShareComponent,\r\n this.commonService.configDialog('20%', null)).afterClosed().subscribe(result => {\r\n if (result === true) {\r\n // const lstDelete = this.target.data?.filter(c => c.checked === true).map(x => x.id);\r\n this.service.DeleteListrecord(lstDelete).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.loadData();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n chageStatus = (item: ViewModelHopDong) => {\r\n if (confirm(`Xác nhận dổi trạng thái`)) {\r\n const postData = new ShareModel({\r\n id: item.id.toString(),\r\n // trangthai: item.tran ? 1 : 0\r\n });\r\n this.service.share(postData).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n }\r\n this.loadData();\r\n });\r\n }\r\n }\r\n}\r\n","\r\n \r\n
    \r\n
    \r\n {{ title }}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n  \r\n \r\n  \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n PhòngNgười đại diệnNgày bắt đầuNgày hết hạnTrạng thái hợp đồngTiền đặt cọcGhi chúHành động
    {{ item.phong }}{{ item.tennguoidaidien }}{{ item.ngaybatdau | date : 'dd/MM/yyyy' }}{{ item.ngayketthuc | date : 'dd/MM/yyyy' }}{{ item.trangThai }}{{ item.tiencoc | number }}{{ item.ghichu }}\r\n   \r\n \r\n   \r\n   \r\n \r\n
    Không có dữ liệu.
    \r\n
    \r\n
    \r\n
    0\" class=\"row\">\r\n
    \r\n
    Tổng số bản ghi: {{ target?.recordsCount }}
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { DUPLICATE_RESPONE, STATUS_ACTION } from './../../../../../@core/customs/constants';\r\nimport { NgForm } from '@angular/forms';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { HopDongModel, HopDongNguoiThueModel, ParamNguoiThue } from './../../../../../@core/data/app-congan.service';\r\nimport { CommonService, ConvertDatePipe } from './../../../../../@core/customs/common.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { QLHopDongService, ViewModelHopDong } from '../../quan-ly-hop-dong.service';\r\nimport { QLKhachComponent } from 'app/modules/app-congan-admin/quan-ly-khach/quan-ly-khach/quan-ly-khach/quan-ly-khach.component';\r\nimport { SelectedKhachThueComponent } from '../chon-khach-thue/chon-khach-thue.component';\r\nimport { SelectedDichVuComponent } from '../chon-dich-vu/chon-dich-vu.component';\r\nimport { QLPhongService } from 'app/modules/app-congan-admin/quan-ly-phong/quan-ly-phong.service';\r\nimport { CurrencyMaskConfig, CurrencyMaskInputMode } from 'ngx-currency';\r\nimport { QLKhachService } from 'app/modules/app-congan-admin/quan-ly-khach/quan-ly-khach.service';\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-hop-dong',\r\n templateUrl: './quan-ly-hop-dong.component.html',\r\n styleUrls: ['./quan-ly-hop-dong.component.scss']\r\n})\r\nexport class QLHopDongComponent implements OnInit {\r\n constructor(\r\n private commonService: CommonService,\r\n public service: QLHopDongService,\r\n private phongService: QLPhongService,\r\n private khachService: QLKhachService,\r\n @Inject(MAT_DIALOG_DATA)\r\n public fromParent: {\r\n id: string;\r\n title: string;\r\n action: number;\r\n idNhaTro: number;\r\n data: ViewModelHopDong;\r\n fromPhong: any;\r\n info: any;\r\n },\r\n private dialog: MatDialog,\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n\r\n type = 0;\r\n folder: string;\r\n types: number;\r\n listFileTemp: any[] = [];\r\n\r\n target = {\r\n entity: new ViewModelHopDong(),\r\n listDetail: [],\r\n listFile: []\r\n };\r\n\r\n DataYears: number[] = [];\r\n isTamTru: boolean = false;\r\n lstPhong: any[] = [];\r\n nguoidaidienTemp: string;\r\n lstHdNguoiThue: HopDongNguoiThueModel[] = [];\r\n\r\n configPrice: CurrencyMaskConfig = {\r\n align: 'left',\r\n allowNegative: false,\r\n allowZero: true,\r\n decimal: ',',\r\n precision: 0,\r\n prefix: '',\r\n suffix: '',\r\n thousands: '.',\r\n nullable: false,\r\n min: 0,\r\n max: 999999999,\r\n inputMode: CurrencyMaskInputMode.NATURAL\r\n };\r\n\r\n ngOnInit(): void {\r\n if (!this.fromParent.title) {\r\n this.fromParent.title = this.fromParent.info.title ?? '';\r\n }\r\n this.getDataInsert();\r\n this.target.entity.sohopdong = 'HD' + new Date().getTime();\r\n if (this.fromParent.action === STATUS_ACTION.create) {\r\n this.target.entity.kythanhtoan = 1; // mặc định kỳ thanh toán là 1 tháng/lần\r\n this.target.entity.ngaybatdau = new ConvertDatePipe().transform(new Date());\r\n } else {\r\n this.idPhong = this.fromParent.data.idPhong;\r\n this.nguoidaidienTemp = this.fromParent.data.nguoidaidien;\r\n this.target.entity.id = Number(this.fromParent.id);\r\n this.target.entity.idnhatro = this.fromParent.idNhaTro;\r\n this.target.entity.idPhong = this.fromParent.data.idPhong;\r\n this.target.entity.tiencoc = this.fromParent.data.tiencoc;\r\n this.target.entity.kythanhtoan = this.fromParent.data.kythanhtoan;\r\n this.target.entity.ghichu = this.fromParent.data.ghichu;\r\n this.target.entity.ngaybatdau = new ConvertDatePipe().transform(this.fromParent.data.ngaybatdau);\r\n if (this.fromParent.data.ngayketthuc) {\r\n this.target.entity.ngayketthuc = new ConvertDatePipe().transform(this.fromParent.data.ngayketthuc);\r\n }\r\n this.loadHdNguoiThue();\r\n }\r\n }\r\n\r\n getDataInsert(): void {\r\n if (this.fromParent.fromPhong?.idPhong && this.fromParent.fromPhong?.idNhaTro) {\r\n this.fromParent.idNhaTro = this.fromParent.fromPhong?.idNhaTro;\r\n this.idPhong = this.fromParent.fromPhong?.idPhong;\r\n }\r\n if (this.fromParent.action === STATUS_ACTION.create) {\r\n this.phongService.SelectByIdNhaTroCusForQLKhach(Number(this.fromParent.idNhaTro)).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n if ([STATUS_ACTION.edit, STATUS_ACTION.detail].indexOf(this.fromParent.action) > -1) {\r\n this.target.entity = this.fromParent.data;\r\n this.target.entity.ngaybatdau = new ConvertDatePipe().transform(this.target.entity.ngaybatdau);\r\n this.target.entity.ngayketthuc = new ConvertDatePipe().transform(this.target.entity.ngayketthuc);\r\n this.idPhong = this.target.entity.idPhong;\r\n this.changePhong(this.idPhong);\r\n this.lstPhong = result?.data;\r\n this.nguoidaidienTemp = this.target.entity.nguoidaidien;\r\n } else {\r\n this.lstPhong = result.data;\r\n }\r\n if (this.fromParent.info?.phong) {\r\n const index = this.lstPhong.findIndex((c) => c.id === this.fromParent.info.phong.id);\r\n if (index === -1) {\r\n const phong = {\r\n id: this.fromParent.info.phong.id,\r\n tenphong: this.fromParent.info.phong.ten\r\n };\r\n this.lstPhong.push(phong);\r\n this.idPhong = phong.id;\r\n }\r\n }\r\n this.loadHdNguoiThue();\r\n }\r\n });\r\n } else {\r\n this.khachService.selectAllPhong().subscribe((res) => {\r\n this.lstPhong = res.data.filter((c) => c.idnhatro === this.fromParent.idNhaTro);\r\n });\r\n }\r\n }\r\n\r\n create(frm: NgForm) {\r\n console.log(this.target.entity.dskhach)\r\n const ds = this.target.entity.dskhach.map((x) => {\r\n x.ngaythue = x.ngaythue ? new Date(x.ngaythue) : null;\r\n x.ngaytraphong = x.ngaytraphong ? new Date(x.ngaytraphong) : null;\r\n return x;\r\n });\r\n\r\n const postData = new HopDongModel({\r\n ghichu: this.target.entity.ghichu ?? null,\r\n id: this.target.entity.id ?? 0,\r\n idnhatro: this.target.entity.idnhatro ?? this.fromParent.idNhaTro ?? null,\r\n idPhong: this.target.entity.idPhong ?? this.idPhong ?? null,\r\n kythanhtoan: this.target.entity.kythanhtoan ?? null,\r\n ngaybatdau: this.target.entity.ngaybatdau ? new Date(this.target.entity.ngaybatdau) : null,\r\n ngayketthuc: this.target.entity.ngayketthuc ? new Date(this.target.entity.ngayketthuc) : null,\r\n sohopdong: this.target.entity.sohopdong,\r\n ngayky: new Date(),\r\n tennguoidaidien: this.nguoidaidienTemp,\r\n tenphong: this.lstPhong?.find((x) => x.id === (this.target.entity.idPhong ?? this.idPhong))?.tenphong,\r\n tiencoc: this.target.entity.tiencoc,\r\n lstNguoiThue: ds,\r\n lstDichVu: this.target.entity.dsdichvu,\r\n tennguoidaidienreal: this.nguoidaidienTemp\r\n });\r\n this.service.confirm(postData, this.fromParent.action).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close(true);\r\n } else if (result.code === DUPLICATE_RESPONE) {\r\n this.commonService.toastrWarning('Tên đã tồn tại trên hệ thống !');\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n for (let i = 0; i < files.length; i++) {\r\n this.listFileTemp.push({ type: this.type, fileName: files[i].name, data: files[i] });\r\n }\r\n }\r\n deleteFile(file: any) {\r\n const index = this.listFileTemp.indexOf(file);\r\n if (index !== -1) this.listFileTemp.splice(index, 1);\r\n }\r\n\r\n showTamTru = () => {\r\n this.isTamTru = !this.isTamTru;\r\n };\r\n\r\n openFormKhach = () => {\r\n this.dialog\r\n .open(QLKhachComponent, this.commonService.configDialog('60%', { testData: 'data' }))\r\n .afterClosed()\r\n .subscribe((result) => {\r\n if (result === true) {\r\n }\r\n });\r\n };\r\n\r\n openFormSelectdKhach = () => {\r\n if (!this.idPhong) {\r\n this.commonService.toastrWarning('Vui lòng chọn phòng');\r\n return;\r\n }\r\n const sltoida = this.lstPhong?.find((c) => c.id === this.idPhong)?.songuoitoida;\r\n this.dialog\r\n .open(\r\n SelectedKhachThueComponent,\r\n this.commonService.configDialog('50%', {\r\n idNhaTro: this.fromParent.idNhaTro,\r\n item: this.fromParent.data,\r\n action: this.fromParent.action,\r\n idphong: this.target.entity.idPhong,\r\n lstHopDongNguoiThue: this.fromParent?.data?.dskhach,\r\n sltoida: sltoida ?? this.fromParent.fromPhong.sltoida,\r\n isDetail: this.fromParent.action\r\n })\r\n )\r\n .afterClosed()\r\n .subscribe((result) => {\r\n this.changePhong(this.idPhong);\r\n });\r\n };\r\n\r\n openFormSelectdDV = () => {\r\n this.dialog\r\n .open(\r\n SelectedDichVuComponent,\r\n this.commonService.configDialog('100%', {\r\n idNhaTro: this.fromParent.idNhaTro,\r\n item: this.fromParent.data,\r\n action: this.fromParent.action\r\n })\r\n )\r\n .afterClosed()\r\n .subscribe((result) => {\r\n if (result) {\r\n this.fromParent.data = this.fromParent.data ?? new ViewModelHopDong();\r\n this.target.entity.dsdichvu = result;\r\n this.fromParent.data.dsdichvu = result;\r\n }\r\n });\r\n };\r\n\r\n idPhong: number;\r\n changePhong = (idPhong) => {\r\n this.target.entity.idPhong = idPhong;\r\n this.service.LoadNguoiThuePhong(this.target.entity.idPhong).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.fromParent.data.dskhach = result?.data;\r\n }\r\n });\r\n this.loadHdNguoiThue();\r\n };\r\n\r\n getIdNguoiDaiDien = () => {\r\n this.target.entity.nguoidaidien = this.nguoidaidienTemp;\r\n };\r\n\r\n loadHdNguoiThue() {\r\n const post = new ParamNguoiThue({\r\n idhopdong: this.target.entity.id,\r\n idnhatro: this.target.entity.idnhatro ?? this.fromParent.idNhaTro,\r\n idphong: this.target.entity.idPhong\r\n });\r\n this.service.LoadHopDongNguoiThue(post).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstHdNguoiThue = res.data;\r\n this.target.entity.dskhach = res.data;\r\n }\r\n });\r\n }\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n {{ fromParent.title }}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    Phòng là bắt buộc
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n  \r\n Khách thuê phòng\r\n
    \r\n
    \r\n  \r\n Dịch vụ\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    Ngày bắt đầu là bắt buộc
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    Ngày kết thúc là bắt buộc
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    Kỳ thanh toán là bắt buộc
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'ngx-confirm',\r\n templateUrl: './confirm.component.html',\r\n styleUrls: ['./confirm.component.scss']\r\n})\r\nexport class ConfirmComponent implements OnInit {\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n confirm() {\r\n this.dialogRef.close(true);\r\n }\r\n\r\n}\r\n","\r\n \r\n
    \r\n
    \r\n Xác nhận\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n Người thuê này đang ở nhà trọ khác. Bạn có chắc chắn muốn thêm người thuê này ?\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    ","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'ngx-dang-ky-tam-tru-confirm',\r\n templateUrl: './dang-ky-tam-tru-confirm.component.html',\r\n styleUrls: ['./dang-ky-tam-tru-confirm.component.scss']\r\n})\r\nexport class DangKyTamTruConfirmComponent implements OnInit {\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n\r\n ngayDangKyTamTru?: Date = null;\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n confirm() {\r\n this.dialogRef.close(this.ngayDangKyTamTru);\r\n }\r\n\r\n close() {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n}\r\n","\r\n \r\n
    \r\n
    \r\n Xác nhận đăng ký tạm trú\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    ","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { QLKhachIndexComponent } from './quan-ly-khach/quan-ly-khach-index/quan-ly-khach-index.component';\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n children: [\r\n { path: '', component: QLKhachIndexComponent },\r\n ]\r\n }\r\n];\r\n","import {\r\n ApiResponse,\r\n AppCongAnApiService,\r\n CheckNguoiThueModel,\r\n NguoithueEntity,\r\n NguoithueEntityApiResponse,\r\n NguoithueEntityListApiResponse,\r\n NguoiThueModel,\r\n ObjectApiResponse,\r\n ObjectIEnumerablePageModelViewApiResponse,\r\n ResquestApiBG,\r\n SearchModel,\r\n ShareModel,\r\n ItemDmcongtyListApiResponse,\r\n SwapRoomModel,\r\n ShareModelApiResponse,\r\n NhaTroIndexModelComboboxListApiResponse\r\n} from './../../../@core/data/app-congan.service';\r\nimport { Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { STATUS_ACTION } from 'app/@core/customs/constants';\r\nimport { ObjectIEnumerableApiResponse } from 'app/@core/data/app-qtht.service';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class QLKhachService {\r\n statusAction = STATUS_ACTION;\r\n constructor(private api: AppCongAnApiService) { }\r\n\r\n pagingDto(body: SearchModel | undefined): Observable {\r\n return this.api.appCongAnApiV1QuanLyKhachQuanlykhachindex(body);\r\n }\r\n\r\n paging(body: SearchModel | undefined): Observable {\r\n return this.api.appCongAnApiV1NguoiThuePagingWeb(body);\r\n }\r\n\r\n insert(body: NguoiThueModel | undefined): Observable {\r\n return this.api.appCongAnApiV1NguoithueInsertNguoithueNhatroNhathue(body);\r\n }\r\n\r\n Selectloainhatro(_loainhatro: number | undefined): Observable {\r\n return this.api.appCongAnApiV1NhaTroSelectByLoainhatro(_loainhatro);\r\n }\r\n\r\n insertWeb(body: NguoiThueModel | undefined, isHopdong: boolean): Observable {\r\n return this.api.appCongAnApiV1NguoiThueInsertWeb(isHopdong, body);\r\n }\r\n\r\n selectOne(id: number): Observable {\r\n return this.api.appCongAnApiV1NguoiThueSelectOne(id);\r\n }\r\n\r\n update(body: NguoithueEntity | undefined): Observable {\r\n return this.api.appCongAnApiV1NguoiThueUpdate(body);\r\n }\r\n\r\n delete(id: number): Observable {\r\n return this.api.appCongAnApiV1NguoiThueDelete(id);\r\n }\r\n\r\n share(request: ShareModel): Observable {\r\n return this.api.appCongAnApiV1NguoiThueShareWebTraphong(request);\r\n }\r\n\r\n deleteNguoithuePhong(idNguoithue: number, idPhong: number): Observable {\r\n return this.api.appCongAnApiV1NguoiThueDeleteNguoiThuePhong(idNguoithue, idPhong);\r\n }\r\n\r\n Swap(request: SwapRoomModel): Observable {\r\n return this.api.appCongAnApiV1NguoiThueSwap(request);\r\n }\r\n\r\n DeleteListrecord(body: number[]): Observable {\r\n return this.api.appCongAnApiV1NguoiThueDeleteListRecord(body);\r\n }\r\n\r\n SelectByIdNhaTro(idNhaTro: number): Observable {\r\n return this.api.appCongAnApiV1NguoiThueSelectByIdNhaTro(idNhaTro);\r\n }\r\n\r\n selectAllPhong(): Observable {\r\n return this.api.appCongAnApiV1PhongTroSelectAllCus()\r\n }\r\n\r\n\r\n SelectAllDiaBan(): Observable {\r\n return this.api.appCongAnApiV1DmDiaBanSelectAll();\r\n }\r\n\r\n CheckValiDate(body: CheckNguoiThueModel): Observable {\r\n return this.api.appCongAnApiV1NguoiThueCheckValidate(body);\r\n }\r\n\r\n GetDataApiBG(body: ResquestApiBG): Observable {\r\n return this.api.appCongAnApiV1NguoiThueGetDataApiBG(body);\r\n }\r\n\r\n confirm = (data: NguoithueEntity, statusAction: number): Observable => {\r\n if (statusAction === STATUS_ACTION.create) {\r\n return this.insert(data);\r\n } else if (statusAction === STATUS_ACTION.edit) {\r\n return this.insert(data);\r\n }\r\n }\r\n\r\n getInforTenant(value: string | undefined, isPhoneNumber: boolean): Observable {\r\n if (isPhoneNumber) {\r\n return this.api.appCongAnApiV1InforNguoiThueGetByPhone(value);\r\n } else {\r\n return this.api.appCongAnApiV1InforNguoiThueGetByIdentification(value);\r\n }\r\n\r\n }\r\n\r\n getNguoithueByPhoneOrPasstPortIdnhatro(ma: string, Idnhatro: number): Observable {\r\n return this.api.appCongAnApiV1NguoiThueGetNguoiThueByPhoneOrPasstPortIdnhatro(ma, Idnhatro);\r\n }\r\n\r\n dangKyTamTru(body: NguoiThueModel[] | undefined): Observable {\r\n return this.api.appCongAnApiV1NguoiThueDangKyTamTru(body);\r\n }\r\n\r\n getNoiLamViec(): Observable {\r\n return this.api.appCongAnApiV1DmcongtyGetAll();\r\n }\r\n\r\n checkout(roomId: number, tenantId: number): Observable {\r\n return this.api.appCongAnApiV1NguoiThueCheckout(roomId, tenantId);\r\n }\r\n\r\n checkTenantInRoom(roomId: number, tenantId: number): Observable {\r\n return this.api.appCongAnApiV1NguoiThueCheckTenantInRoom(roomId, tenantId);\r\n }\r\n\r\n\r\n // apiKey: string;\r\n // findInfoFromBG = (phoneNumber?: string) => {\r\n // let raw = \"\";\r\n // this.apiKey = 'epYWTeVV6kuaIMg2rEJdyA';\r\n // phoneNumber = '0972992720';\r\n // let myHeaders: HeadersInit = {'Accept': 'application/json', 'Content-type': 'application/json'};\r\n // let requestOptions : RequestInit = {\r\n // method: 'GET',\r\n // headers: myHeaders,\r\n // // body: raw,\r\n // redirect: 'follow'\r\n // };\r\n\r\n // fetch(`http://qlcn.bacgiang.gov.vn/apichecking/apiinfo_phone?args[0]=${phoneNumber}&api-key=${this.apiKey}`, requestOptions)\r\n // .then(response => response.text())\r\n // .then(result => console.log(result))\r\n // .catch(error => console.log('error', error));\r\n // }\r\n\r\n getFolder(): string {\r\n return 'KhachThue';\r\n }\r\n\r\n getType(): number {\r\n return 1111;\r\n }\r\n}\r\n\r\nexport class ViewModelKhachThue {\r\n id: number;\r\n loaiDT: number;\r\n hoten: string;\r\n gioitinh: number;\r\n email: string;\r\n dtlienhe: string;\r\n ngaysinh: Date;\r\n cmnd: string;\r\n noicap: string;\r\n ngaycap: Date;\r\n nghenghiep: number;\r\n noicongtac: string;\r\n tamtrutu: Date;\r\n tamtruden: Date;\r\n lydotamtru: string;\r\n nguoithan: string;\r\n dtnguoithan: string;\r\n imgcmndBefore: string;\r\n imgcmndAfter: string;\r\n imgchandung: string;\r\n trangthai: number;\r\n unitcode: string;\r\n dangkytamtrutamvang: boolean;\r\n tongiao: string;\r\n idnhatro: number;\r\n dantoc: string;\r\n idphong: number;\r\n tenphong: string;\r\n matinh: string;\r\n mahuyen: string;\r\n maxa: string;\r\n nghenghiepkhac: string;\r\n ngaynhanphonggannhat: Date;\r\n cccd: string;\r\n hktt: string;\r\n tamtru: string;\r\n madiabankey: string;\r\n thon: string;\r\n thoigianthue: number;\r\n ngayDangKyTamTru: Date;\r\n lng?: string;\r\n lat?: string;\r\n iddantoc?: number;\r\n constructor(data?: ViewModelKhachThue) {\r\n if (data) {\r\n this.id = data.id ?? null;\r\n this.loaiDT = data.loaiDT ?? null;\r\n this.hoten = data.hoten ?? null;\r\n this.gioitinh = data.gioitinh ?? null;\r\n this.email = data.email ?? null;\r\n this.dtlienhe = data.dtlienhe ?? null;\r\n this.ngaysinh = data.ngaysinh ?? null;\r\n this.cmnd = data.cmnd ?? null;\r\n this.noicap = data.noicap ?? null;\r\n this.ngaycap = data.ngaycap ?? null;\r\n this.nghenghiep = data.nghenghiep ?? null;\r\n this.noicongtac = data.noicongtac ?? null;\r\n this.tamtrutu = data.tamtrutu ?? null;\r\n this.tamtruden = data.tamtruden ?? null;\r\n this.lydotamtru = data.lydotamtru ?? null;\r\n this.nguoithan = data.nguoithan ?? null;\r\n this.dtnguoithan = data.dtnguoithan ?? null;\r\n this.imgcmndBefore = data.imgcmndBefore ?? null;\r\n this.imgcmndAfter = data.imgcmndAfter ?? null;\r\n this.imgchandung = data.imgchandung ?? null;\r\n this.trangthai = data.trangthai ?? null;\r\n this.unitcode = data.unitcode ?? null;\r\n this.dangkytamtrutamvang = data.dangkytamtrutamvang ?? null;\r\n this.tongiao = data.tongiao ?? null;\r\n this.idnhatro = data.idnhatro ?? null;\r\n this.dantoc = data.dantoc ?? null;\r\n this.idphong = data.idphong ?? null;\r\n this.tenphong = data.tenphong ?? null;\r\n this.matinh = data.matinh ?? null;\r\n this.mahuyen = data.mahuyen ?? null;\r\n this.maxa = data.maxa ?? null;\r\n this.nghenghiepkhac = data.nghenghiepkhac ?? null;\r\n this.ngaynhanphonggannhat = data.ngaynhanphonggannhat ?? null;\r\n this.cccd = data.cccd ?? null;\r\n this.hktt = data.hktt ?? null;\r\n this.tamtru = data.tamtru ?? null;\r\n this.madiabankey = data.madiabankey ?? null;\r\n this.thon = data.thon ?? null;\r\n this.thoigianthue = data.thoigianthue ?? null;\r\n this.ngayDangKyTamTru = data.ngayDangKyTamTru ?? null;\r\n this.lat = data.lat ?? null;\r\n this.lng = data.lng ?? null;\r\n this.iddantoc = data.iddantoc ?? null;\r\n }\r\n }\r\n}\r\n\r\nexport class ApiBGModel {\r\n bophan: string;\r\n congty: string[];\r\n hoten: string;\r\n ngaysinh: Date;\r\n tonhom: string;\r\n nid: string;\r\n constructor(data?: ApiBGModel) {\r\n this.nid = data.nid;\r\n this.bophan = data.bophan;\r\n this.congty = data.congty;\r\n this.hoten = data.hoten;\r\n this.ngaysinh = data.ngaysinh;\r\n this.tonhom = data.tonhom;\r\n }\r\n}\r\n","import { CommonService } from 'app/@core/customs/common.service';\r\nimport { SUCCESS_RESPONSE, SUCCESS_NOTICE, STATUS_ACTION, ViewNhaTro, STATUS_HOPDONG, STATUS_DELETE } from 'app/@core/customs/constants';\r\nimport { QLKhachService, ViewModelKhachThue } from './../../quan-ly-khach.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { QLKhachComponent } from '../quan-ly-khach/quan-ly-khach.component';\r\nimport { AppCongAnApiService, NguoiThueModel, SearchModel, SearchModel_quanlykhachindex, ShareModel } from 'app/@core/data/app-congan.service';\r\nimport { QLNhaTroShareComponent } from 'app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-nha-tro/quan-ly-nha-tro-share/quan-ly-nha-tro-share.component';\r\nimport { Router } from '@angular/router';\r\nimport { QLKhachReportComponent } from '../quan-ly-khach-report/quan-ly-khach-report.component';\r\nimport { QLNhaTroSwapComponent } from '../quan-ly-khach-swap/quan-ly-khach-swap.component';\r\nimport { DangKyTamTruConfirmComponent } from '../../dang-ky-tam-tru-confirm/dang-ky-tam-tru-confirm.component';\r\nimport { TokenService } from 'app/@core/token.service';\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-khach-index',\r\n templateUrl: './quan-ly-khach-index.component.html',\r\n styleUrls: ['./quan-ly-khach-index.component.scss']\r\n})\r\nexport class QLKhachIndexComponent implements OnInit {\r\n constructor(\r\n private service: QLKhachService,\r\n private commonService: CommonService,\r\n private dialog: MatDialog,\r\n private api: AppCongAnApiService,\r\n private to: TokenService,\r\n private router: Router\r\n ) {\r\n }\r\n user: any;\r\n totalPage: number;\r\n searchModel: SearchModel_quanlykhachindex = new SearchModel_quanlykhachindex({\r\n search: '',\r\n condition: '16',\r\n currentPage: 1,\r\n pageSize: 10,\r\n loainhatro: 0,\r\n arrIdnhatro: []\r\n });\r\n public listItemsLoainha: Array<{ text: string; value: number }> = [\r\n { text: \"Tất cả\", value: 0 },\r\n { text: \"Nhà trọ\", value: 1 },\r\n { text: \"Nhà thuê\", value: 2 },\r\n { text: \"Nhà nghỉ\", value: 3 },\r\n { text: \"Khách sạn\", value: 4 },\r\n ];\r\n public data_button = [\r\n {\r\n text: \"PDF file\",\r\n icon: \"pdf\",\r\n },\r\n {\r\n text: \"Excel file\",\r\n icon: \"excel\",\r\n },\r\n {\r\n text: \"PNG image\",\r\n icon: \"image\",\r\n },\r\n {\r\n text: \"CSV\",\r\n icon: \"csv\",\r\n disabled: true,\r\n },\r\n ];\r\n public selectedvalueLoainha = 0;\r\n public selectedMutileValuesNhatro: number[] = [];\r\n initSearchModel() { }\r\n target: any = {\r\n data: []\r\n };\r\n file: any[] = [];\r\n isLoading: boolean = true;\r\n title: string = 'Quản lý thông tin khách thuê';\r\n lstNhatro: any[] = [];\r\n isDangKyTamTru: boolean = this.router.url.includes('/quan-ly-tam-tru');\r\n childTitle: string = 'thông tin khách thuê';\r\n lstPhong: any[] = [];\r\n ngOnInit(): void {\r\n\r\n this.service.selectAllPhong().subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstPhong = res.data;\r\n }\r\n });\r\n if (this.isDangKyTamTru) {\r\n this.title = 'Quản lý đăng ký tạm trú';\r\n this.childTitle = 'đăng ký tam trú';\r\n }\r\n this.loadData();\r\n this.initSearchModel();\r\n }\r\n\r\n public valueChangeLoainha(value: any): void {\r\n this.service.Selectloainhatro(value).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.selectedMutileValuesNhatro = null;\r\n this.lstNhatro = result.data;\r\n this.searchPage();\r\n }\r\n });\r\n }\r\n loadData() {\r\n\r\n this.checkAll = false;\r\n this.existChecked = false;\r\n this.searchModel.loainhatro = this.selectedvalueLoainha;\r\n if (this.selectedvalueLoainha != 0) {\r\n this.selectedMutileValuesNhatro?.forEach(element => {\r\n if (element != null) this.searchModel.arrIdnhatro.push(element);\r\n })\r\n }\r\n this.to.getUserInfo().subscribe((users: any) => (\r\n this.user = users,\r\n this.api.appCongAnApiV1NhaTroSelectAllByIdChu(this.user.Id).subscribe(r => {\r\n for (let i = 0; r.data.length > i; i++) {\r\n this.searchModel.arrIdnhatro.push(r.data[i].id)\r\n }\r\n this.service.pagingDto(this.searchModel).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.target = result.data;\r\n this.totalPage = result.data.totalPage;\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n this.isLoading = false;\r\n });\r\n })\r\n ));\r\n }\r\n searchPage() {\r\n this.loadData();\r\n }\r\n\r\n\r\n openCreateDialog() {\r\n this.dialog\r\n .open(\r\n QLKhachComponent,\r\n this.commonService.configDialog('100%', {\r\n id: null,\r\n title: `Thêm ${this.childTitle}`,\r\n action: STATUS_ACTION.create,\r\n isDangKyTamTru: this.isDangKyTamTru,\r\n idNhaTro: this.selectedMutileValuesNhatro[0]\r\n })\r\n )\r\n .afterClosed()\r\n .subscribe((result) => {\r\n if (result) {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n\r\n detailData(item: ViewModelKhachThue) {\r\n this.dialog\r\n .open(\r\n QLKhachComponent,\r\n this.commonService.configDialog('100%', {\r\n id: item.id,\r\n title: `Chi tiết ${this.childTitle}`,\r\n action: STATUS_ACTION.detail,\r\n data: item\r\n })\r\n )\r\n .afterClosed()\r\n .subscribe(() => { });\r\n }\r\n\r\n openReport(item: ViewModelKhachThue) {\r\n this.dialog\r\n .open(\r\n QLKhachReportComponent,\r\n this.commonService.configDialog('100%', { id: item.id, title: `Đăng ký tạm trú`, idNhaTro: this.searchModel.condition, data: item })\r\n )\r\n .afterClosed()\r\n .subscribe(() => { });\r\n }\r\n\r\n editData(item: ViewModelKhachThue) {\r\n this.dialog\r\n .open(\r\n QLKhachComponent,\r\n this.commonService.configDialog('100%', {\r\n id: item.id,\r\n title: `Sửa ${this.childTitle}`,\r\n action: STATUS_ACTION.edit,\r\n data: item,\r\n isDangKyTamTru: this.isDangKyTamTru\r\n })\r\n )\r\n .afterClosed()\r\n .subscribe((result) => {\r\n this.loadData();\r\n });\r\n }\r\n\r\n Swap(item: ViewModelKhachThue) {\r\n this.dialog\r\n .open(\r\n QLNhaTroSwapComponent,\r\n this.commonService.configDialog('40%', {\r\n id: item.id,\r\n title: `Sửa ${this.childTitle}`,\r\n lstPhong: this.lstPhong,\r\n action: STATUS_ACTION.swap,\r\n idNhaTro: this.searchModel.condition,\r\n idphong: item.idphong,\r\n isDangKyTamTru: this.isDangKyTamTru\r\n })\r\n )\r\n .afterClosed()\r\n .subscribe((result) => {\r\n this.loadData();\r\n });\r\n }\r\n\r\n\r\n checkAll: boolean = false;\r\n existChecked: boolean = false;\r\n eventChecked = (item) => {\r\n if (!item && this.target.data.length > 0) {\r\n this.target.data.forEach((c) => {\r\n if (!c.ngayDangKyTamTru) {\r\n c.checked = this.checkAll;\r\n c.dangkytamtrutamvang = !c.dangkytamtrutamvang;\r\n }\r\n });\r\n } else {\r\n this.checkAll = this.target.data.filter((c) => !c.checked).length === 0;\r\n if (!item.ngayDangKyTamTru) {\r\n item.dangkytamtrutamvang = !item.dangkytamtrutamvang;\r\n }\r\n }\r\n this.existChecked = this.target.data?.filter((c) => c.checked)?.length > 0;\r\n };\r\n\r\n deleteChecked = () => {\r\n const lstDelete = this.target.data?.filter((c) => c.checked === true).map((x) => x.id);\r\n if (lstDelete.length === 0) {\r\n return this.commonService.toastrWarning('Xin hãy chọn ít nhất 1 bản ghi!');\r\n }\r\n this.dialog\r\n .open(QLNhaTroShareComponent, this.commonService.configDialog('20%', null))\r\n .afterClosed()\r\n .subscribe((result) => {\r\n if (result === true) {\r\n this.service.DeleteListrecord(lstDelete).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Thành công!!!');\r\n this.loadData();\r\n }\r\n });\r\n }\r\n });\r\n };\r\n\r\n chageStatus = (item: ViewModelKhachThue) => {\r\n this.dialog\r\n .open(QLNhaTroShareComponent, this.commonService.configDialog('20%', { statusUnDo: true }))\r\n .afterClosed()\r\n .subscribe((result) => {\r\n if (result === true) {\r\n const postData = new ShareModel({\r\n nguoiThueId: item.id,\r\n trangthai: 3,\r\n idPhong: item.idphong,\r\n idNhatro: item.idnhatro\r\n });\r\n this.service.share(postData).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Thành công!!!');\r\n }\r\n this.loadData();\r\n });\r\n }\r\n });\r\n };\r\n\r\n getStatus = (status) => {\r\n let message = '';\r\n switch (status) {\r\n case 1:\r\n message = 'Mới';\r\n break;\r\n case 2:\r\n message = 'Đang thuê';\r\n break;\r\n case 3:\r\n message = 'Đã trả phòng';\r\n break;\r\n default:\r\n break;\r\n }\r\n return message;\r\n };\r\n\r\n changeTemporary(item: ViewModelKhachThue) {\r\n if (item.dangkytamtrutamvang) {\r\n this.dialog\r\n .open(DangKyTamTruConfirmComponent, this.commonService.configDialog('20%', {}))\r\n .afterClosed()\r\n .subscribe((result) => {\r\n if (result) {\r\n if (item.dangkytamtrutamvang) {\r\n const model = new NguoiThueModel();\r\n model.id = item.id;\r\n model.idPhong = item.idphong;\r\n model.ngayDangKyTamTru = result ? new Date(result) : null;\r\n model.dangkytamtrutamvang = item.dangkytamtrutamvang;\r\n\r\n const lstData: NguoiThueModel[] = [];\r\n lstData.push(model);\r\n this.registerTemporary(lstData);\r\n }\r\n } else {\r\n item.dangkytamtrutamvang = !item.dangkytamtrutamvang;\r\n }\r\n });\r\n } else {\r\n this.loadData();\r\n }\r\n }\r\n\r\n registerTemporary(lstData: NguoiThueModel[]) {\r\n this.service.dangKyTamTru(lstData).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Đăng ký tạm trú thành công.');\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n this.loadData();\r\n });\r\n }\r\n\r\n registerAll() {\r\n this.dialog\r\n .open(DangKyTamTruConfirmComponent, this.commonService.configDialog('20%', {}))\r\n .afterClosed()\r\n .subscribe((result) => {\r\n if (result) {\r\n const lstData: NguoiThueModel[] = [];\r\n let lstTenant: ViewModelKhachThue[] = [];\r\n lstTenant = this.target.data?.filter((c) => c.checked);\r\n lstTenant?.map((item) => {\r\n if (item.dangkytamtrutamvang) {\r\n const model = new NguoiThueModel();\r\n model.id = item.id;\r\n model.idPhong = item.idphong;\r\n model.ngayDangKyTamTru = result ? new Date(result) : null;\r\n model.dangkytamtrutamvang = item.dangkytamtrutamvang;\r\n lstData.push(model);\r\n }\r\n });\r\n if (lstData?.length > 0) {\r\n this.registerTemporary(lstData);\r\n }\r\n }\r\n });\r\n }\r\n\r\n deleteData(item) {\r\n this.dialog\r\n .open(QLNhaTroShareComponent, this.commonService.configDialog('20%', null))\r\n .afterClosed()\r\n .subscribe((result) => {\r\n if (result === true) {\r\n this.service.deleteNguoithuePhong(item.id, item.idPhong).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.loadData();\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","\r\n \r\n
    \r\n
    \r\n

    {{ title }}

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n  \r\n \r\n \r\n {{ dataItem.value }}\r\n {{ dataItem.text }}\r\n \r\n \r\n   \r\n \r\n \r\n {{ dataItem.id }}\r\n {{ dataItem.tennhatro }}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    STTTên khách thuêCMTND/CCCDThường trúTạm trú (Đ/c nhà trọ)Số điện thoạiTrạng tháiNgày nhận phòng gần nhấtHành động
    \r\n \r\n {{ i + 1 }}{{ item.hoten }}{{ item.cccd }}{{ item.hktt }}{{ item.tamtru }}{{ item.dienthoai }}{{ getStatus(item.trangthai) }}{{ item.ngaynhanphonggannhat | date : 'short' }}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    0\" class=\"row\">\r\n
    \r\n
    Tổng số bản ghi: {{ target?.recordsCount }}
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Không có dữ liệu.
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { CommonService } from './../../../../../@core/customs/common.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { QLKhachService, ViewModelKhachThue } from '../../quan-ly-khach.service';\r\nimport { QLPhongService } from 'app/modules/app-congan-admin/quan-ly-phong/quan-ly-phong.service';\r\nimport { environment } from 'environments/environment';\r\n\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-khach-report',\r\n templateUrl: './quan-ly-khach-report.component.html',\r\n styleUrls: ['./quan-ly-khach-report.component.scss']\r\n})\r\nexport class QLKhachReportComponent implements OnInit {\r\n\r\n constructor(\r\n private commonService: CommonService,\r\n public service: QLKhachService,\r\n private phongService: QLPhongService,\r\n @Inject(MAT_DIALOG_DATA) public fromParent:\r\n { id: string, title: string, idNhaTro: number, data: ViewModelKhachThue, isDangKyTamTru: boolean },\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n parameter: ReportParamater = null;\r\n reportName: string = 'quan-ly-tam-tru.trdp';\r\n\r\n getDataInsert(): void {\r\n this.parameter = new ReportParamater({\r\n // donvigui: this.fromParent.data.donvigui,\r\n donvigui: 'Công An Bắc Giang',\r\n hoten: this.fromParent.data.hoten,\r\n ngaysinh: this.fromParent.data.ngaysinh,\r\n cmnd: this.fromParent.data.cmnd,\r\n noicap: this.fromParent.data.noicap,\r\n ngaycap: this.fromParent.data.ngaycap,\r\n dcthuongtru: 'Bắc Giang',\r\n noitamtru: this.fromParent.data.noicongtac,\r\n ngaybatdau: this.fromParent.data.tamtrutu,\r\n ngayketthuc: this.fromParent.data.tamtruden,\r\n lydo: this.fromParent.data.lydotamtru,\r\n noidk: 'Tỉnh Bắc Giang',\r\n ngaydk: new Date(),\r\n nguoidk: this.fromParent.data.hoten,\r\n url: environment.APP_CONGAN_PATH + '/api/reports'\r\n });\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getDataInsert();\r\n\r\n }\r\n\r\n}\r\n\r\nexport class ReportParamater {\r\n donvigui: string;\r\n hoten: string;\r\n ngaysinh: Date;\r\n cmnd: string;\r\n noicap: string;\r\n ngaycap: Date;\r\n dcthuongtru: string;\r\n noitamtru: string;\r\n ngaybatdau: Date;\r\n ngayketthuc: Date;\r\n lydo: string;\r\n noidk: string;\r\n ngaydk: Date;\r\n nguoidk: string;\r\n url: string;\r\n constructor(data?: ReportParamater) {\r\n if (data) {\r\n this.donvigui = data.donvigui ?? null;\r\n this.hoten = data.hoten ?? null;\r\n this.ngaysinh = data.ngaysinh ?? null;\r\n this.cmnd = data.cmnd ?? null;\r\n this.noicap = data.noicap ?? null;\r\n this.ngaycap = data.ngaycap ?? null;\r\n this.dcthuongtru = data.dcthuongtru ?? null;\r\n this.noitamtru = data.noitamtru ?? null;\r\n this.ngaybatdau = data.ngaybatdau ?? null;\r\n this.ngayketthuc = data.ngayketthuc ?? null;\r\n this.lydo = data.lydo ?? null;\r\n this.noidk = data.noidk ?? null;\r\n this.ngaydk = data.ngaydk ?? null;\r\n this.nguoidk = data.nguoidk ?? null;\r\n this.url = data.url ?? null;\r\n }\r\n }\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n {{fromParent.title}}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { AppCongAnApiService, SwapRoomModel } from 'app/@core/data/app-congan.service';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { QLKhachService } from '../../quan-ly-khach.service';\r\nimport { DUPLICATE_RESPONE, SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-khach-swap',\r\n templateUrl: './quan-ly-khach-swap.component.html'\r\n})\r\nexport class QLNhaTroSwapComponent implements OnInit {\r\n constructor(\r\n private service: QLKhachService,\r\n private commonService: CommonService,\r\n private api: AppCongAnApiService,\r\n @Inject(MAT_DIALOG_DATA) public fromParent: { id: number, title: string, lstPhong: any[], action: number, idNhaTro: number, idphong: number },\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n\r\n model: SwapRoomModel = new SwapRoomModel({\r\n fromRoomId: null,\r\n toRoomId: null,\r\n status: null,\r\n tenantId: this.fromParent.id,\r\n });\r\n\r\n lstPhong: any[] = [];\r\n lstPhongMoi: any[] = [];\r\n\r\n title: string;\r\n ngOnInit(): void {\r\n this.api.appCongAnApiV1PhongTroSelectByIdNhaTro(Number(this.fromParent.idNhaTro), 1).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstPhongMoi = result.data?.filter((x) => x.hoatdong === true && x.id !== this.fromParent.idphong);\r\n this.lstPhong = result.data?.filter(x => x.hoatdong === true);\r\n this.model.fromRoomId = this.fromParent.idphong;\r\n this.model.toRoomId = null;\r\n }\r\n });\r\n // this.api.appCongAnApiV1PhongTroSelectByIdNhaTroForQuanLyKhach(this.fromParent.idNhaTro).subscribe(result => {\r\n // if (result.code === SUCCESS_RESPONSE) {\r\n // this.lstPhong = result.data?.filter(x => x.hoatdong === true);\r\n // this.model.fromRoomId = this.fromParent.idphong;\r\n // this.lstPhongMoi = this.lstPhong.filter(f => f.id !== this.model.fromRoomId);\r\n // this.model.toRoomId = null;\r\n // }\r\n // });\r\n }\r\n\r\n confirm() {\r\n this.service.Swap(this.model).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.dialogRef.close(true);\r\n } else if (result.code === DUPLICATE_RESPONE) {\r\n this.commonService.toastrWarning(result.message);\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n\r\n close() {\r\n this.dialogRef.close(false);\r\n }\r\n\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
     Chuyển phòng
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { ResquestApiBG } from 'app/@core/data/app-congan.service';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ApiBGModel, QLKhachService } from '../../quan-ly-khach.service';\r\nimport { KEY_APIBG, SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { Renderer2 } from '@angular/core';\r\n@Component({\r\n selector: 'ngx-quan-ly-khach-sync',\r\n templateUrl: './quan-ly-khach-sync.component.html',\r\n styleUrls: ['./quan-ly-khach-sync.component.scss']\r\n})\r\nexport class QLKhachSyncComponent implements OnInit {\r\n constructor(\r\n private service: QLKhachService,\r\n private commonService: CommonService,\r\n private renderer: Renderer2,\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n\r\n bCqnhanuoc: boolean;\r\n bNguoidan: boolean;\r\n lstNguoiThue: any[] = [];\r\n title: string;\r\n postParam: ResquestApiBG = new ResquestApiBG({\r\n key: null,\r\n value: null\r\n });\r\n lstKey: any[] = [\r\n { key: KEY_APIBG.keyphone, value: 'Tìm theo số điện thoại' },\r\n { key: KEY_APIBG.keycccd, value: 'Tìm theo số cccd' },\r\n ];\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n confirm(item: ApiBGModel) {\r\n this.dialogRef.close(item);\r\n }\r\n\r\n close() {\r\n this.dialogRef.close(false);\r\n }\r\n\r\n search = () => {\r\n // this.postParam.key = 'apiinfo_phone';\r\n // this.postParam.value = '0972992720';\r\n this.lstNguoiThue = [];\r\n this.service.GetDataApiBG(this.postParam).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE && res.data?.length > 0) {\r\n const item = res.data[0];\r\n const data = new ApiBGModel({\r\n nid: item['nid'],\r\n bophan: item['Bộ phận/ Phân xưởng'],\r\n congty: item['Công ty/ Đơn vị/ Trường'],\r\n hoten: item['Họ và tên'],\r\n ngaysinh: item['Ngày sinh'],\r\n tonhom: item['Tổ (nhóm)/ Lớp']\r\n });\r\n this.lstNguoiThue.push(data);\r\n }\r\n });\r\n }\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n  Thông tin khách thuê\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
    Bộ phận/ Phân xưởngCông ty/ Đơn vị/ TrườngHọ và tênNgày sinhTổ (nhóm)/ LớpHành động
    {{item.bophan}}{{item.congty}}{{item.hoten}}{{item.ngaysinh | date: 'dd/MM/yyyy'}}{{item.tonhom}}\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { DUPLICATE_RESPONE, LIST_NGHENGHIEP, NOTFOUND_RESPONE, STATUS_ACTION, ViewDiaBan } from './../../../../../@core/customs/constants';\r\nimport { NgForm } from '@angular/forms';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport {\r\n NguoiThueModel,\r\n CheckNguoiThueModel,\r\n DmtudienEntity,\r\n AppCongAnApiService,\r\n PhongTroHDModel,\r\n DoituongTruynaEntity,\r\n PageModel,\r\n SearchModel\r\n} from './../../../../../@core/data/app-congan.service';\r\nimport { CommonService, ConvertDatePipe } from './../../../../../@core/customs/common.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { ApiBGModel, QLKhachService, ViewModelKhachThue } from '../../quan-ly-khach.service';\r\nimport { QLPhongService } from 'app/modules/app-congan-admin/quan-ly-phong/quan-ly-phong.service';\r\nimport { QLKhachSyncComponent } from '../quan-ly-khach-sync/quan-ly-khach-sync.component';\r\nimport { Html5Qrcode } from 'html5-qrcode';\r\nimport { DanhMucDanTocService } from 'app/modules/app-congan-admin/danh-muc-dan-toc/danh-muc-dan-toc.service';\r\nimport { ConfirmComponent } from '../../confirm/confirm.component';\r\nimport { ThongBaoToiPhamComponent } from '../../thong-bao-toi-pham/thong-bao-toi-pham.component';\r\nimport { TokenService } from 'app/@core/token.service';\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-khach',\r\n templateUrl: './quan-ly-khach.component.html',\r\n styleUrls: ['./quan-ly-khach.component.scss']\r\n})\r\nexport class QLKhachComponent implements OnInit {\r\n constructor(\r\n private commonService: CommonService,\r\n private tokenService: TokenService,\r\n public service: QLKhachService,\r\n private phongService: QLPhongService,\r\n private serviceDmDanToc: DanhMucDanTocService,\r\n private dialog: MatDialog,\r\n private api: AppCongAnApiService,\r\n @Inject(MAT_DIALOG_DATA)\r\n public fromParent: {\r\n id: string;\r\n title: string;\r\n action: number;\r\n idNhaTro: number;\r\n data: any;\r\n isDangKyTamTru: boolean;\r\n idphong: number;\r\n isHopDong: boolean;\r\n tenNha?: string; // xem chi tiết ds khách thuê từ Chức năng Danh sách khách thuê\r\n tenPhong?: string; // xem chi tiết ds khách thuê từ Chức năng Danh sách khách thuê\r\n isFromLst?: boolean; // xem chi tiết ds khách thuê từ Chức năng Danh sách khách thuê\r\n },\r\n private dialogRef: MatDialogRef\r\n ) {\r\n this.tokenService.getUserInfo().subscribe((users: any) => (this.user = users));\r\n\r\n }\r\n user: any;\r\n type = 0;\r\n folder: string;\r\n types: number;\r\n listFileTemp1: any[] = [];\r\n listFileTemp2: any[] = [];\r\n listFileTemp3: any[] = [];\r\n lstTinh: ViewDiaBan[] = [];\r\n lstHuyen: ViewDiaBan[] = [];\r\n lstXa: ViewDiaBan[] = [];\r\n lstDSDiaBan: any[] = [];\r\n target: any = {\r\n hoten: ''\r\n };\r\n lstGioiTinh = [\r\n { value: 0, text: 'Nữ' },\r\n { value: 1, text: 'Nam' }\r\n ];\r\n lstTrangThaiPhong = [\r\n { value: 1, text: 'Mới' },\r\n { value: 2, text: 'Đã nhận phòng' },\r\n { value: 3, text: 'Đã trả phòng' },\r\n { value: 3, text: 'Chuyển phòng' }\r\n ];\r\n lstPhong: any[] = [];\r\n lstNha: any[] = [];\r\n idOldPhong: number;\r\n lstDanDoc: any[] = [];\r\n\r\n lstNgheNghiep = LIST_NGHENGHIEP;\r\n\r\n maDinhDanh: string = 'NOILAMVIEC';\r\n lstNoiLamViec: DmtudienEntity[] = [];\r\n isHopdong: boolean = false;\r\n async getDataInsert() {\r\n this.loadDiaBan();\r\n const a = await this.loadPhong();\r\n if ([STATUS_ACTION.edit, STATUS_ACTION.detail, STATUS_ACTION.swap].indexOf(this.fromParent.action) > -1) {\r\n this.target = this.fromParent.data;\r\n console.log(this.fromParent)\r\n console.log(this.fromParent.data)\r\n this.target.ngaycap = this.commonService.transform(this.target.ngaycap);\r\n this.ngaySinh = new ConvertDatePipe().transform(this.target.ngaysinh);\r\n this.target.tamtruden = this.commonService.transform(this.target.tamtruden);\r\n this.target.tamtrutu = this.commonService.transform(this.target.tamtrutu);\r\n this.ConvertBinarytoFile();\r\n if (this.fromParent.action === STATUS_ACTION.swap) {\r\n this.target.idphong = null;\r\n this.target.trangthai = 3;\r\n this.idOldPhong = this.target?.idphong;\r\n }\r\n }\r\n if (this.fromParent.data?.idPhong) {\r\n this.target.idphong = this.fromParent.data?.idPhong;\r\n }\r\n if (this.fromParent.data?.idnhatro) {\r\n this.fromParent.idNhaTro = this.fromParent.data.idnhatro;\r\n }\r\n\r\n if (this.fromParent.isFromLst) {\r\n this.target.tenphong = this.fromParent.tenPhong;\r\n }\r\n\r\n this.serviceDmDanToc.selectAll().subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstDanDoc = res.data;\r\n }\r\n });\r\n }\r\n\r\n async loadPhong() {\r\n if (this.fromParent.action === STATUS_ACTION.detail) {\r\n const res = await this.api.appCongAnApiV1PhongTroSelectByIdNhaTroV3(Number(this.fromParent.idNhaTro)).toPromise();\r\n\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstPhong = res.data?.map((m) => {\r\n return { id: m.idphong, tenphong: m.tenphong };\r\n });\r\n }\r\n } else {\r\n const res = await this.api.appCongAnApiV1PhongTroSelectByIdNhaTro(Number(this.fromParent.idNhaTro), 1).toPromise();\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstPhong = res.data?.filter((x) => x.hoatdong === true);\r\n }\r\n }\r\n }\r\n listLoaidt: any[] = [{ name: 'Bỏ theo dõi', value: 0 }];\r\n\r\n ngOnInit(): void {\r\n this.api.appCongAnApiV1NhaTroPagingCustom(new SearchModel({\r\n currentPage: 1,\r\n pageSize: 100, sapXep: 0,\r\n trangThai: 0\r\n })).subscribe(r => {\r\n this.lstNha = r.data.data\r\n })\r\n this.api.appCongAnApiV1PhongTroPaging(new PageModel({ currentPage: 1, pageSize: 100 })).subscribe(r => {\r\n this.lstPhong = r.data.data\r\n })\r\n this.isHopdong = this.fromParent.isHopDong ? true : false;\r\n if (this.fromParent.isDangKyTamTru) {\r\n this.target.dangkytamtrutamvang = this.fromParent.isDangKyTamTru;\r\n }\r\n this.getDataInsert();\r\n this.folder = this.service.getFolder();\r\n this.type = this.service.getType();\r\n this.getNoiLamViec();\r\n this.api.appCongAnApiV1DoiTuongTruyNaLstdoituongtheodoi().subscribe(r => {\r\n if (r.code == SUCCESS_RESPONSE) {\r\n this.listLoaidt = this.listLoaidt.concat(r.data)\r\n }\r\n })\r\n }\r\n entity: DoituongTruynaEntity = new DoituongTruynaEntity({\r\n citizenIdentification: '',\r\n type: 0,\r\n status: 1,\r\n fullname: '',\r\n })\r\n\r\n changeLoaiDT(loai) {\r\n this.entity.type = loai;\r\n this.entity.status = loai == 0 ? 0 : 1;\r\n this.entity.fullname = this.target.hoten;\r\n this.entity.citizenIdentification = this.target.cccd;\r\n this.api.appCongAnApiV1DoiTuongTruyNaInsertDoiTuongTruyNa(this.entity).subscribe(r => {\r\n if (r.code == SUCCESS_RESPONSE) {\r\n\r\n }\r\n })\r\n }\r\n\r\n getNoiLamViec() {\r\n this.service.getNoiLamViec().subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstNoiLamViec = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n create(frm: NgForm) {\r\n const postData = new NguoiThueModel({\r\n anhchandung: this.target.imgchandung ? btoa(this.target.imgchandung) : null,\r\n cccd: this.target.cccd ?? null,\r\n cccdMatsau: this.target.imgcmndAfter ? btoa(this.target.imgcmndAfter) : null,\r\n cccdMattruoc: this.target.imgcmndBefore ? btoa(this.target.imgcmndBefore) : null,\r\n cccdNgaycap: this.target.ngaycap ? new Date(this.target.ngaycap) : null,\r\n cccdNoicap: this.target.noicap ?? null,\r\n dangkytamtrutamvang: this.target.dangkytamtrutamvang ?? null,\r\n dantoc: this.target.dantoc ?? null,\r\n diachi: null,\r\n dienthoai: this.target.dienthoai ?? null,\r\n dienthoainguoithan: this.target.dtnguoithan ?? null,\r\n email: this.target.email ?? null,\r\n gioitinh: this.target.gioitinh ?? null,\r\n hinhanh: null,\r\n hoten: this.target.hoten ?? null,\r\n id: this.target.id ?? 0,\r\n lydotamtru: this.target.lydotamtru ?? null,\r\n ngaysinh: new Date(this.ngaySinh),\r\n nghenghiep: this.target.nghenghiep ?? null,\r\n noicongtac: this.target.noicongtac ?? null,\r\n quoctich: null,\r\n tamtruden: this.target.tamtruden ? new Date(this.target.tamtruden) : new Date(),\r\n tamtrutu: this.target.tamtrutu ? new Date(this.target.tamtrutu) : new Date(),\r\n tengnuoithan: this.target.nguoithan ?? null,\r\n thongtinthemtttv: null,\r\n tongiao: this.target.tongiao ?? null,\r\n trangthai: this.target.trangthai ?? 0,\r\n idnhatro: this.target.idnhatro,\r\n idPhong: this.target.idphong,\r\n matinh: this.target.matinh,\r\n mahuyen: this.target.mahuyen,\r\n maxa: this.target.maxa,\r\n tenphong: this.target.tenphong,\r\n madiabankey: this.target.madiabankey,\r\n thoiGianThue: this.target.thoigianthue,\r\n thon: this.target.thon,\r\n idDantoc: this.lstDanDoc.find((c) => c.tendantoc === this.target.dantoc).id\r\n });\r\n if (this.isExist == true) {\r\n this.dialog\r\n .open(ConfirmComponent, this.commonService.configDialog('30%', {}))\r\n .afterClosed()\r\n .subscribe((res) => {\r\n if (res) {\r\n this.service.insertWeb(postData, this.isHopdong).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close(postData);\r\n } else if (result.code === DUPLICATE_RESPONE) {\r\n this.commonService.toastrWarning(\r\n // 'Tên đã tồn tại trên hệ thống !'\r\n result.message\r\n );\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n });\r\n } else {\r\n this.service.insertWeb(postData, this.isHopdong).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close(postData);\r\n } else if (result.code === DUPLICATE_RESPONE) {\r\n this.commonService.toastrWarning(\r\n //'Tên đã tồn tại trên hệ thống !'\r\n result.message\r\n );\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList, numImg: number) {\r\n this.setValueFile(files[0]).then((result) => {\r\n if (numImg === 3) {\r\n this.listFileTemp3 = result.showValue;\r\n this.target.imgchandung = result.saveValue;\r\n } else if (numImg === 1) {\r\n this.listFileTemp1 = result.showValue;\r\n this.target.imgcmndBefore = result.saveValue;\r\n this.getQRCode(files[0]);\r\n } else if (numImg === 2) {\r\n this.listFileTemp2 = result.showValue;\r\n this.target.imgcmndAfter = result.saveValue;\r\n }\r\n });\r\n }\r\n\r\n async setValueFile(file) {\r\n const data = {\r\n saveValue: (await this.commonService.encodeFile(file)) + '',\r\n showValue: [{ type: this.type, fileName: file.name, data: file }]\r\n };\r\n return data;\r\n }\r\n\r\n deleteFile(file: any, numImg: number) {\r\n if (numImg === 3) {\r\n const index = this.listFileTemp3.indexOf(file);\r\n if (index !== -1) {\r\n this.listFileTemp3.splice(index, 1);\r\n this.target.imgchandung = null;\r\n }\r\n } else if (numImg === 1) {\r\n const index = this.listFileTemp1.indexOf(file);\r\n if (index !== -1) {\r\n this.listFileTemp1.splice(index, 1);\r\n this.target.imgcmndBefore = null;\r\n }\r\n } else if (numImg === 2) {\r\n const index = this.listFileTemp2.indexOf(file);\r\n if (index !== -1) {\r\n this.listFileTemp2.splice(index, 1);\r\n this.target.imgcmndAfter = null;\r\n }\r\n }\r\n }\r\n\r\n ConvertBinarytoFile = () => {\r\n if (this.target.imgcmndBefore) {\r\n this.target.imgcmndBefore = atob(this.target.imgcmndBefore);\r\n // const file = this.commonService.decodeFile(this.target.imgcmndBefore, 'imgcmndBefore');\r\n // this.listFileTemp1 = [{ type: this.type, fileName: file.name, data: file }];\r\n fetch(this.target.imgcmndBefore)\r\n .then((res) => res.blob())\r\n .then((blob) => {\r\n const file = new File([blob], 'imgcmndBefore', { type: 'image/png' });\r\n this.listFileTemp1 = [{ type: this.type, fileName: file.name, data: file }];\r\n });\r\n }\r\n if (this.target.imgcmndAfter) {\r\n this.target.imgcmndAfter = atob(this.target.imgcmndAfter);\r\n // const file = this.commonService.decodeFile(this.target.imgcmndAfter, 'imgcmndAfter');\r\n // this.listFileTemp2 = [{ type: this.type, fileName: file.name, data: file }];\r\n fetch(this.target.imgcmndAfter)\r\n .then((res) => res.blob())\r\n .then((blob) => {\r\n const file = new File([blob], 'imgcmndAfter', { type: 'image/png' });\r\n this.listFileTemp2 = [{ type: this.type, fileName: file.name, data: file }];\r\n });\r\n }\r\n if (this.target.imgchandung) {\r\n this.target.imgchandung = atob(this.target.imgchandung);\r\n // const file = this.commonService.decodeFile(this.target.imgcmndAfter, 'imgchandung');\r\n // this.listFileTemp3 = [{ type: this.type, fileName: file.name, data: file }];\r\n fetch(this.target.imgchandung)\r\n .then((res) => res.blob())\r\n .then((blob) => {\r\n const file = new File([blob], 'imgchandung', { type: 'image/png' });\r\n this.listFileTemp3 = [{ type: this.type, fileName: file.name, data: file }];\r\n });\r\n }\r\n };\r\n\r\n ChangePhong = () => {\r\n this.target.idnhatro = this.lstPhong.find((x) => x.id === this.target.idphong)?.idnhatro;\r\n console.log(1111111111111);\r\n \r\n this.target.tenphong = null;\r\n if (this.target.idphong) {\r\n this.target.trangthai = 2;\r\n this.target.tenphong = this.lstPhong.find((x) => x.id === this.target.idphong)?.tenphong;\r\n }\r\n };\r\n\r\n loadDiaBan = () => {\r\n this.service.SelectAllDiaBan().subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstDSDiaBan = result.data.map((x) => {\r\n return {\r\n id: x.id,\r\n ma: x.ma,\r\n ten: x.ten,\r\n macha: x.maCha,\r\n loai: x.level,\r\n madiabankey: x.makey\r\n };\r\n });\r\n\r\n this.lstTinh = this.lstDSDiaBan\r\n .filter((c) => c.loai === 1)\r\n .map(\r\n (x) =>\r\n new ViewDiaBan({\r\n id: x.id,\r\n ma: x.ma,\r\n ten: x.ten,\r\n macha: x.macha,\r\n madiabankey: x.madiabankey\r\n })\r\n );\r\n\r\n if (this.target?.matinh) {\r\n this.lstHuyen = this.lstDSDiaBan.filter((x) => x.macha === this.target.matinh);\r\n }\r\n\r\n if (this.target.mahuyen) {\r\n this.lstXa = this.lstDSDiaBan.filter((x) => x.macha === this.target.mahuyen);\r\n }\r\n }\r\n });\r\n };\r\n\r\n getlistHuyen = (matinh) => {\r\n this.lstXa = [];\r\n this.target.mahuyen = null;\r\n this.lstHuyen = this.lstDSDiaBan.filter((x) => x.macha === matinh);\r\n };\r\n\r\n getlistXa = (mahuyen) => {\r\n this.lstXa = [];\r\n this.target.maxa = null;\r\n this.lstXa = this.lstDSDiaBan.filter((x) => x.macha === mahuyen);\r\n };\r\n\r\n getMaDiaBanKey = () => {\r\n const xa = this.lstDSDiaBan.find((c) => c.ma === this.target.maxa);\r\n if (xa) {\r\n this.target.madiabankey = xa.madiabankey;\r\n }\r\n };\r\n\r\n message: string;\r\n isExist: boolean = false;\r\n ngaySinh: string;\r\n CheckValue = (isPhoneNumber: boolean) => {\r\n const postData = new CheckNguoiThueModel({\r\n cmnd: this.target.cccd,\r\n sdt: this.target.dienthoai,\r\n idNhatro: this.fromParent.idNhaTro\r\n });\r\n this.isExist = false;\r\n this.service.CheckValiDate(postData).subscribe((res) => {\r\n if (res.code === DUPLICATE_RESPONE) {\r\n this.message = res.message;\r\n this.isExist = true;\r\n this.getInforTenant(isPhoneNumber)\r\n }\r\n if (res.code === NOTFOUND_RESPONE || res.message === NOTFOUND_RESPONE) {\r\n this.dialog\r\n .open(\r\n ThongBaoToiPhamComponent,\r\n this.commonService.configDialog('40%', {\r\n cccd: this.target.cmnd\r\n })\r\n )\r\n .afterClosed()\r\n .subscribe();\r\n } else {\r\n this.message = null;\r\n }\r\n });\r\n };\r\n\r\n getInforTenant(isPhoneNumber) {\r\n let data: string;\r\n if (isPhoneNumber) {\r\n data = this.target.dtlienhe;\r\n } else {\r\n data = this.target.cmnd;\r\n }\r\n this.service.getInforTenant(data, isPhoneNumber).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n if (res.data.id) {\r\n this.target.id = res.data.id;\r\n this.target.hoten = res.data.hoten;\r\n this.target.gioitinh = res.data.gioitinh;\r\n this.target.dantoc = res.data.dantoc;\r\n this.target.email = res.data.email;\r\n this.target.dtlienhe = res.data.dienthoai;\r\n this.ngaySinh = new ConvertDatePipe().transform(res.data.ngaysinh);\r\n // this.target.cccd = res.data.cccd;\r\n this.target.cmnd = res.data.cccd;\r\n this.target.matinh = res.data.matinh;\r\n if (this.target.matinh) {\r\n this.getlistHuyen(this.target.matinh);\r\n }\r\n this.target.mahuyen = res.data.mahuyen;\r\n if (this.target.mahuyen) {\r\n this.getlistXa(this.target.mahuyen);\r\n }\r\n this.target.maxa = res.data.maxa;\r\n this.getMaDiaBanKey();\r\n this.target.madiabankey = res.data.madiabankey;\r\n this.target.thon = res.data.thon;\r\n this.target.nghenghiep = res.data.nghenghiep;\r\n this.target.noicongtac = res.data.noicongtac;\r\n this.target.thoigianthue = res.data.thoigianthue;\r\n this.target.imgcmndBefore = res.data.cccdMattruoc ? btoa(res.data.cccdMattruoc) : null;\r\n }\r\n }\r\n });\r\n }\r\n\r\n checkDate: boolean;\r\n ChangeDate = () => {\r\n if (new Date(this.target.ngaycap).getTime() > new Date().getTime()) {\r\n this.checkDate = true;\r\n } else {\r\n this.checkDate = false;\r\n }\r\n };\r\n\r\n openSync = () => {\r\n this.dialog\r\n .open(QLKhachSyncComponent, this.commonService.configDialog('60%', { testData: 'data' }))\r\n .afterClosed()\r\n .subscribe((result: ApiBGModel) => {\r\n if (result) {\r\n this.target.hoten = result.hoten;\r\n this.ngaySinh = new ConvertDatePipe().transform(result.ngaysinh);\r\n this.target.noicongtac = result.congty.length > 0 ? result.congty[0] : null;\r\n }\r\n });\r\n };\r\n\r\n getQRCode(file: File) {\r\n const html5QrCode = new Html5Qrcode('reader');\r\n html5QrCode\r\n .scanFile(file, false)\r\n .then((qrCodeMessage) => {\r\n this.setQRCode(qrCodeMessage);\r\n })\r\n .catch((err) => {\r\n this.commonService.toastrWarning('Không phát hiện QRCode');\r\n });\r\n }\r\n\r\n setQRCode(QRCode) {\r\n // FIXME: Set QR Code\r\n const infoCCCD = QRCode.split('|');\r\n this.target.cccd = infoCCCD[0];\r\n this.target.hoten = infoCCCD[2];\r\n this.ngaySinh = new ConvertDatePipe().transform(this.transformDate(infoCCCD[3]));\r\n this.target.gioitinh = infoCCCD[4] === 'Nam' ? 1 : 0;\r\n this.target.noicap = infoCCCD[5];\r\n // this.target. = infoCCCD[0];\r\n }\r\n\r\n transformDate(d: string) {\r\n const arr = Array.from(d);\r\n if (arr.length === 4) return new Date(d);\r\n else {\r\n const str = [];\r\n str.push(arr[4]);\r\n str.push(arr[5]);\r\n str.push(arr[6]);\r\n str.push(arr[7]);\r\n str.push('-');\r\n str.push(arr[2]);\r\n str.push(arr[3]);\r\n str.push('-');\r\n str.push(arr[0]);\r\n str.push(arr[1]);\r\n\r\n return new Date(str.join(''));\r\n }\r\n }\r\n\r\n changeNgheNghiep() {\r\n this.target.noicongtac = null;\r\n if (this.target.nghenghiep === 1 || this.target.nghenghiep === 2) {\r\n this.target.noicongtac = 'Khác';\r\n }\r\n }\r\n\r\n ckDate: boolean = false;\r\n checkDate2 = (str) => {\r\n if (str) {\r\n const date = this.commonService.patternDate(str);\r\n if (date) {\r\n this.ckDate = true;\r\n }\r\n }\r\n };\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n {{ fromParent.title }}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    Họ và tên là bắt buộc
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    Giới tính là bắt buộc
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    Họ và tên là bắt buộc
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    Điện thoại liên hệ là bắt buộc
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    Ngày/tháng/năm sinh là bắt buộc
    \r\n
    Ngày/ tháng/ năm không đúng định dạng
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Thông tin CMTND/CCCD:\r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    Số CMTND/CCCD là bắt buộc
    \r\n
    Số CMTND/CCCD tối thiểu 9 ký tự
    \r\n
    \r\n
    \r\n
    Tỉnh là bắt buộc
    \r\n
    \r\n
    \r\n
    Huyện/Thành phố là bắt buộc
    \r\n
    \r\n
    \r\n
    Xã/Phường/Thị trấn là bắt buộc
    \r\n
    \r\n
    \r\n
    Thôn/Xóm là bắt buộc
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
  • \r\n \r\n {{ file.fileName }}\r\n
  • \r\n
    \r\n
    \r\n \"Không\r\n
    \r\n Không có ảnh\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { DoituongTruynaEntity } from './../../../../@core/data/app-congan.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { DoiTuongTruyNaService } from '../../ds-doi-tuong-truy-na/doi-tuong-truy-na.service';\r\n\r\n@Component({\r\n selector: 'app-thong-bao-toi-pham',\r\n templateUrl: './thong-bao-toi-pham.component.html',\r\n styleUrls: ['./thong-bao-toi-pham.component.scss']\r\n})\r\nexport class ThongBaoToiPhamComponent implements OnInit {\r\n constructor(\r\n private service: DoiTuongTruyNaService,\r\n @Inject(MAT_DIALOG_DATA) public fromParent: { cccd: string },\r\n private dialogRef: MatDialogRef,\r\n private commonService: CommonService\r\n ) {}\r\n\r\n toiPham: DoituongTruynaEntity = new DoituongTruynaEntity();\r\n type:number;\r\n ngOnInit() {\r\n this.type = this.service.getType();\r\n this.service.selectByCccd(this.fromParent.cccd).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.toiPham = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n close() {\r\n this.dialogRef.close(false);\r\n }\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n  CẢNH BÁO ĐỐI TƯỢNG TRUY NÃ\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n Cảnh báo: Đối tượng truy nã {{ toiPham.fullname }} có số CCCD/CMT {{ toiPham.citizenIdentification }} quê quán tại\r\n {{ toiPham.hometown }} với tội danh\r\n {{ toiPham.sin }}.\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { QuanLyKienNghiIndexComponent } from './quan-ly-kien-nghi/quan-ly-kien-nghi-index/quan-ly-kien-nghi-index.component';\r\nimport { Routes } from '@angular/router';\r\n\r\n\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n children: [\r\n { path: '', component: QuanLyKienNghiIndexComponent },\r\n ]\r\n }\r\n];\r\n","import {\r\n ObjectIEnumerableApiResponse,\r\n StringApiResponse,\r\n SysunitEntityApiResponse,\r\n ThongbaoEntity,\r\n ThongbaoEntityApiResponse\r\n} from './../../../@core/data/app-congan.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { STATUS_ACTION } from 'app/@core/customs/constants';\r\nimport {\r\n ApiResponse, AppCongAnApiService,\r\n ObjectIEnumerablePageModelViewApiResponse, SearchModel\r\n} from 'app/@core/data/app-congan.service';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QuanLyKienNghiService {\r\n\r\n statusAction = STATUS_ACTION;\r\n constructor(private api: AppCongAnApiService) { }\r\n\r\n paging(body: SearchModel | undefined): Observable {\r\n return this.api.appCongAnApiV1ThongBaoPaging(body);\r\n }\r\n\r\n selectAllDonvi(): Observable {\r\n return this.api.appCongAnApiV1ThongBaoSelectTk();\r\n }\r\n\r\n insert(body: ThongbaoEntity | undefined): Observable {\r\n return this.api.appCongAnApiV1ThongBaoInsert(body);\r\n }\r\n\r\n // selectOne(type: number): Observable {\r\n // return this.api.appCongAnApiV1ThongBaoSelectOne(type);\r\n // }\r\n\r\n TenTk(type: number): Observable {\r\n return this.api.appCongAnApiV1ThongBaoTenTk(type);\r\n }\r\n\r\n selectAll(): Observable {\r\n return this.api.appCongAnApiV1ThongBaoSelectAll();\r\n }\r\n\r\n update(body: ThongbaoEntity | undefined): Observable {\r\n return this.api.appCongAnApiV1ThongBaoUpdate(body);\r\n }\r\n\r\n delete(id: number): Observable {\r\n return this.api.appCongAnApiV1ThongBaoDelete(id);\r\n }\r\n\r\n share(body: number): Observable {\r\n return this.api.appCongAnApiV1ThongBaoShare(body);\r\n }\r\n\r\n DeleteListrecord(body: number[]): Observable {\r\n return this.api.appCongAnApiV1ThongBaoDeleteListRecord(body);\r\n }\r\n\r\n selectOneWithUnitCode(unitCode: string): Observable {\r\n return this.api.appCongAnApiV1DonViSelectOneWithUnitCode(unitCode);\r\n }\r\n\r\n\r\n // SelectByIdNhaTro(idNhaTro: number): Observable {\r\n // return this.api.appCongAnApiV1NguoiThueSelectByIdNhaTro(idNhaTro);\r\n // }\r\n\r\n confirm = (data: ThongbaoEntity, statusAction: number): Observable => {\r\n if (statusAction === STATUS_ACTION.create) {\r\n return this.insert(data);\r\n } else if (statusAction === STATUS_ACTION.edit) {\r\n return this.update(data);\r\n }\r\n }\r\n\r\n getFolder(): string {\r\n return 'ThongBao';\r\n }\r\n\r\n getType(): number {\r\n return 1111;\r\n }\r\n\r\n}\r\n\r\nexport class ViewModelThongBao {\r\n chude?: string | undefined;\r\n dvlap?: string | undefined;\r\n dvnhan?: string | undefined;\r\n id?: number;\r\n ngaylap?: Date | undefined;\r\n ngaygui?: Date | undefined;\r\n noidung?: string | undefined;\r\n tendvlap?: string | undefined;\r\n trangthai?: number;\r\n constructor(\r\n data?: ViewModelThongBao\r\n ) {\r\n if (data) {\r\n this.id = data.id;\r\n this.chude = data.chude;\r\n this.dvlap = data.dvlap;\r\n this.dvnhan = data.dvnhan;\r\n this.ngaylap = data.ngaylap;\r\n this.ngaygui = data.ngaygui;\r\n this.noidung = data.noidung;\r\n this.tendvlap = data.tendvlap;\r\n this.trangthai = data.trangthai;\r\n }\r\n }\r\n}\r\n","import { PAGE_SIZE, SUCCESS_RESPONSE, STATUS_ACTION, DUPLICATE_RESPONE } from 'app/@core/customs/constants';\r\nimport { CommonService } from './../../../../../@core/customs/common.service';\r\nimport { QuanLyKienNghiService, ViewModelThongBao } from './../../quan-ly-kien-nghi.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { SearchModel, ShareModel } from 'app/@core/data/app-congan.service';\r\nimport { QuanLyKienNghiComponent } from '../quan-ly-kien-nghi/quan-ly-kien-nghi.component';\r\nimport { AppGopyApiService, PostNoiDungGopYForWebModel, PostNoiDungGopYModel } from 'app/@core/data/app-gopy.service';\r\nimport { DeleteDialogComponent } from 'app/@theme/components/template/dialog/delete/delete-dialog.component';\r\nimport { TokenService } from 'app/@core/token.service';\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-kien-nghi-index',\r\n templateUrl: './quan-ly-kien-nghi-index.component.html',\r\n styleUrls: ['./quan-ly-kien-nghi-index.component.scss']\r\n})\r\nexport class QuanLyKienNghiIndexComponent implements OnInit {\r\n\r\n constructor(\r\n private service: QuanLyKienNghiService,\r\n private commonService: CommonService,\r\n private dialog: MatDialog,\r\n private gopyService: AppGopyApiService,\r\n private tokenService: TokenService\r\n ) { }\r\n user: any = {};\r\n totalPage: number;\r\n searchModel: SearchModel = new SearchModel({\r\n trangThai: null,\r\n sapXep: null,\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE,\r\n search: null,\r\n column: null\r\n });\r\n\r\n initSearchModel() {\r\n this.searchModel.trangThai = 0;\r\n this.searchModel.sapXep = 0;\r\n }\r\n\r\n target: any = {};\r\n file: any[] = [];\r\n isLoading: boolean = true;\r\n\r\n ListTrangthai = [{ id: 0, name: 'Đang soạn thảo' }, { id: 1, name: 'Đã gửi' }];\r\n ListSapxep = [{ id: '1', name: 'Tăng dần từ A-Z' }, { id: '2', name: 'Giảm dần từ A-Z' }, { id: '3', name: 'Thời gian cập nhật cũ nhất' },\r\n { id: '4', name: 'Thời gian cập nhật mới nhất' }, { id: '0', name: '-Sắp xếp-' }];\r\n\r\n title: string = 'Quản lý kiến nghị';\r\n\r\n body: PostNoiDungGopYForWebModel = new PostNoiDungGopYForWebModel({\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE\r\n });\r\n\r\n ngOnInit(): void {\r\n this.tokenService.getUserInfo().subscribe((users: any) => this.user = users);\r\n this.loadData();\r\n this.initSearchModel();\r\n }\r\n\r\n loadData() {\r\n this.body.idThanhVien = this.user.Id;\r\n this.gopyService.appGopyApiV1CongGopYGetPostsNewForWeb(this.body).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.target = result.data;\r\n // this.target.data = data.map(x => new ViewModelThongBao({\r\n // id: x.id,\r\n // chude: x.chude,\r\n // dvlap: x.dvlap,\r\n // dvnhan: x.dvnhan,\r\n // noidung: x.noidung,\r\n // ngaylap: x.ngaylap,\r\n // trangthai: x.trangthai,\r\n // ngaygui: x.ngaygui\r\n // }));\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n this.isLoading = false;\r\n });\r\n }\r\n\r\n changeTrangthai(event) {\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n changeSapxep(event) {\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n getTrangthai(item) {\r\n const check = item ? 1 : 0;\r\n return this.ListTrangthai.find(c => c.id === check)?.name ?? null;\r\n }\r\n\r\n searchPage() {\r\n this.searchModel.search = this.searchModel.search;\r\n this.loadData();\r\n }\r\n\r\n resetPage() {\r\n this.searchModel.search = null;\r\n this.searchPage();\r\n }\r\n\r\n openCreateDialog() {\r\n const title = `Thêm mới ${this.title.toLowerCase()}`;\r\n this.dialog.open(QuanLyKienNghiComponent,\r\n this.commonService.configDialog('60%', { id: null, title: title, action: STATUS_ACTION.create }))\r\n .afterClosed().subscribe(result => {\r\n if (result === true) {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n\r\n detailData(item: any) {\r\n const title = `Chi tiết ${this.title.toLowerCase()}`;\r\n this.dialog.open(QuanLyKienNghiComponent,\r\n this.commonService.configDialog('60%', { id: item.noiDungGopYId, title: title,\r\n action: STATUS_ACTION.detail, data: item })).afterClosed().subscribe(() => { });\r\n }\r\n\r\n editData(item: any) {\r\n const title = `Sửa ${this.title.toLowerCase()}`;\r\n this.dialog.open(QuanLyKienNghiComponent,\r\n this.commonService.configDialog('60%', { id: item.noiDungGopYId, title: title,\r\n action: STATUS_ACTION.edit, data: item })).afterClosed().subscribe(result => {\r\n if (result === true) {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n\r\n deleteData(item: any) {\r\n this.dialog.open(DeleteDialogComponent,\r\n this.commonService.configDialog('30%', `Xác nhận xóa kiến nghị ${item.tieuDe}?`))\r\n .afterClosed().subscribe((dialog) => {\r\n if (dialog) {\r\n this.gopyService.appGopyApiV1CongGopYDelete(item.noiDungGopYId).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.loadData();\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n sendData(item: any) {\r\n this.dialog.open(DeleteDialogComponent,\r\n this.commonService.configDialog('30%', `Xác nhận gửi kiến nghị ${item.tieuDe}?`))\r\n .afterClosed().subscribe((dialog) => {\r\n if (dialog) {\r\n this.gopyService.appGopyApiV1CongGopYGuiKienNghi(item.noiDungGopYId).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.loadData();\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n checkAll: boolean = false;\r\n eventChecked = (item) => {\r\n if (!item && this.target.data.length > 0) {\r\n this.target.data.forEach(c => {\r\n c.checked = this.checkAll;\r\n });\r\n } else {\r\n this.checkAll = this.target.data.filter(c => !c.checked).length === 0;\r\n }\r\n }\r\n\r\n deleteChecked = () => {\r\n if (confirm(`Xác nhận xóa`)) {\r\n const lstDelete = this.target.data?.filter(c => c.checked === true).map(x => x.id);\r\n this.service.DeleteListrecord(lstDelete).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Thành công!!!');\r\n this.loadData();\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n }\r\n\r\n chageStatus = (item) => {\r\n this.service.share(item).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Thành công!!!');\r\n }\r\n this.loadData();\r\n });\r\n }\r\n\r\n\r\n\r\n tentk: string;\r\n chageTentk = (item) => {\r\n this.service.TenTk(item).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.tentk = result.data;\r\n this.target.data.push(this.tentk);\r\n this.commonService.toastrSuccess('Thành công!!!');\r\n }\r\n this.loadData();\r\n });\r\n }\r\n\r\n chageTenDv = (item: string) => {\r\n this.service.selectOneWithUnitCode(item).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Thành công!!!');\r\n }\r\n this.loadData();\r\n });\r\n}\r\n\r\n}\r\n","\r\n \r\n
    \r\n
    \r\n

    {{title}}

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n  \r\n \r\n  \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n
    STTTiêu đềNội dungNgày góp ýHành động
    {{(i + 1) + ((body.currentPage - 1) * body.pageSize)}}{{item.tieuDe}}{{item.noiDung}}{{item.ngayGopY | date: \"dd/MM/yyyy\"}}\r\n   \r\n \r\n   \r\n \r\n   \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    0\" class=\"row\">\r\n
    \r\n
    \r\n Tổng số bản ghi: {{target?.recordsCount}}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Không có dữ liệu.\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { STATUS_ACTION, SUCCESS_RESPONSE, DUPLICATE_RESPONE } from 'app/@core/customs/constants';\r\nimport { IUserDataToken } from 'app/@core/auth.service';\r\nimport { AppCongAnApiService, AttFileattachmentEntity, ThongbaoEntity} from './../../../../../@core/data/app-congan.service';\r\nimport { TokenService } from 'app/@core/token.service';\r\nimport { Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { CommonService, ConvertDatePipe } from 'app/@core/customs/common.service';\r\nimport { QuanLyKienNghiService, ViewModelThongBao } from '../../quan-ly-kien-nghi.service';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { NgForm } from '@angular/forms';\r\nimport { AppGopyApiService, DanhSachLinhVucModel, SendPostModel, UpdatePostModel } from 'app/@core/data/app-gopy.service';\r\nimport { AppQthtApiService, FileParameter } from 'app/@core/data/app-qtht.service';\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-kien-nghi',\r\n templateUrl: './quan-ly-kien-nghi.component.html',\r\n styleUrls: ['./quan-ly-kien-nghi.component.scss']\r\n})\r\nexport class QuanLyKienNghiComponent implements OnInit {\r\n @ViewChild('fileImagesForPost') fileImagesForPost: ElementRef;\r\n constructor(\r\n public commonService: CommonService,\r\n public service: QuanLyKienNghiService,\r\n private tokenService: TokenService,\r\n private congAnService: AppCongAnApiService,\r\n private gopyService: AppGopyApiService,\r\n private qthtService: AppQthtApiService,\r\n\r\n @Inject(MAT_DIALOG_DATA) public fromParent: {\r\n id: number,\r\n title: string,\r\n action: number,\r\n data: any\r\n },\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n lstLinhVuc: DanhSachLinhVucModel[] = [];\r\n user: any = {};\r\n type = 0;\r\n folder: string;\r\n types: number;\r\n listFileTemp: any[] = [];\r\n arr: ViewModelThongBao[] = [];\r\n statusAction = STATUS_ACTION;\r\n target = {\r\n entity: new ViewModelThongBao(),\r\n listDetail: [],\r\n listFile: [],\r\n };\r\n donvinhan: number;\r\n tmpIMGList: any[] = [];\r\n\r\n selectedImages: FileParameter[] = [];\r\n\r\n selectedImagesViewOne: {\r\n file: FileParameter;\r\n image: any;\r\n };\r\n\r\n selectedImagesView: {\r\n file: FileParameter;\r\n image: any;\r\n }[] = [];\r\n\r\n maHuyen: string;\r\n lstHuyen: any[] = [];\r\n maXa: string;\r\n lstXa: any[] = [];\r\n maThon: string;\r\n lstThon: any[] = [];\r\n\r\n model: SendPostModel = new SendPostModel();\r\n\r\n ngay: any;\r\n\r\n listCongAnHuyen: any[] = [];\r\n listCongAnXa: any[] = [];\r\n\r\n listFileTemp1: any[] = [];\r\n lstDonvi: any[] = [];\r\n userInfo: IUserDataToken;\r\n getDataInsert(): void {\r\n if ([STATUS_ACTION.edit, STATUS_ACTION.detail].indexOf(this.fromParent.action) > -1) {\r\n this.model = this.fromParent.data;\r\n if (this.fromParent.data.huyen){\r\n this.maHuyen = this.addLeadingZeros(this.fromParent.data.huyen, 3);\r\n this.loadDiaBanCon(2, this.maHuyen);\r\n }\r\n if (this.fromParent.data.xa){\r\n this.maXa = this.addLeadingZeros(this.fromParent.data.xa, 5);\r\n this.loadDiaBanCon(3, this.maXa);\r\n }\r\n this.loadFeedbackImg(this.fromParent.id);\r\n if (this.model.unitCode.length === 2){\r\n this.donvinhan = 1;\r\n } else if (this.model.unitCode.length === 3) {\r\n this.donvinhan = 2;\r\n } else if (this.model.unitCode.length === 5) {\r\n this.donvinhan = 3;\r\n }\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loadLinhVuc();\r\n this.getDataInsert();\r\n this.loadDiaBanInitially();\r\n this.getCongAn();\r\n this.tokenService.getUserInfo().subscribe((users: any) => this.user = users);\r\n this.model.providerId = this.user.Id;\r\n this.model.nameThanhVien = this.user.FullName;\r\n this.model.from_FullName = this.user.FullName;\r\n }\r\n\r\n loadDiaBanInitially(){\r\n this.congAnService.appCongAnApiV1DmDiaBanGetByMaChaDiabanCus('24').subscribe((sub) => {\r\n this.lstHuyen = sub.data;\r\n if ([STATUS_ACTION.edit, STATUS_ACTION.detail].indexOf(this.fromParent.action) > -1) {\r\n this.model.diaBanHuyenId = this.fromParent.data.huyen;\r\n }\r\n })\r\n }\r\n\r\n loadFeedbackImg(id: number){\r\n this.gopyService.appGopyApiV1FeedbackGetFeedbackDetails(id).subscribe((sub) => {\r\n if (sub.data.anh !== '') {\r\n this.tmpIMGList = sub.data.anh.split(';;;');\r\n let i = 0;\r\n this.tmpIMGList.forEach(f => {\r\n const tmpFileParam: FileParameter = { data : i, fileName: i.toString()};\r\n const tmpIMG = f;\r\n this.selectedImagesView.push({ file : tmpFileParam, image : tmpIMG });\r\n }\r\n );\r\n }\r\n })\r\n }\r\n\r\n changeDvNhan() {\r\n this.model.unitCode = '';\r\n }\r\n\r\n loadDiaBanCon(cap: number, ma){\r\n if (cap === 2) {\r\n this.maXa = '';\r\n this.maThon = '';\r\n }\r\n if (cap === 3) {\r\n this.maThon = '';\r\n }\r\n switch (cap){\r\n case 2 : ma = this.addLeadingZeros(ma, 3);\r\n break;\r\n case 3 : ma = this.addLeadingZeros(ma, 5);\r\n break;\r\n default:\r\n break;\r\n }\r\n this.congAnService.appCongAnApiV1DmDiaBanGetByLevelAndMaDiabanCus(cap + 1, ma, false).subscribe((sub) => {\r\n switch (cap){\r\n case 2 : this.lstXa = sub.data;\r\n this.model.diaBanXaId = this.fromParent.data.xa;\r\n break;\r\n case 3 : this.lstThon = sub.data;\r\n this.model.diaBanThonId = this.fromParent.data.thon;\r\n this.maThon = this.fromParent.data.thon.toString();\r\n break;\r\n default:\r\n break;\r\n }\r\n })\r\n }\r\n\r\n create(frm: NgForm) {\r\n this.model.diaBanHuyenId = parseInt(this.maHuyen);\r\n this.model.diaBanXaId = parseInt(this.maXa);\r\n this.model.diaBanThonId = parseInt(this.maThon);\r\n this.model.anh = '';\r\n\r\n for (let i = 0; i < this.selectedImagesView?.length; i++) {\r\n if (i >= 1) {\r\n this.model.anh += \";;;\"\r\n }\r\n this.model.anh += this.selectedImagesView[i]?.image;\r\n }\r\n this.model.anh = btoa(this.model.anh)\r\n\r\n if (this.donvinhan === 1){\r\n this.model.unitCode = '24';\r\n }\r\n\r\n if ([STATUS_ACTION.edit].indexOf(this.fromParent.action) > -1){\r\n const updateModel = new UpdatePostModel({\r\n id: this.fromParent.id,\r\n tieuDe: this.model.tieuDe,\r\n noiDung: this.model.noiDung,\r\n linhVucId: this.model.linhVucId,\r\n diaBanHuyenId: this.model.diaBanHuyenId,\r\n diaBanXaId: this.model.diaBanXaId,\r\n diaBanThonId: this.model.diaBanThonId,\r\n diaDiem: this.model.diaDiem,\r\n providerId: this.model.providerId,\r\n nameThanhVien: this.model.nameThanhVien,\r\n from_FullName: this.model.from_FullName,\r\n anh : this.model.anh,\r\n unitCode : this.model.unitCode,\r\n });\r\n\r\n this.gopyService.appGopyApiV1CongGopYUpdatePost(updateModel).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close(true);\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n\r\n } else {\r\n this.gopyService.appGopyApiV1CongGopYSendPost(this.model).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close(true);\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n }\r\n\r\n loadLinhVuc(){\r\n this.gopyService.appGopyApiV1CongGopYGetDanhSachLinhVuc().subscribe((sub) => {\r\n this.lstLinhVuc = sub.data;\r\n });\r\n }\r\n\r\n addLeadingZeros(num, totalLength) {\r\n return String(num).padStart(totalLength, '0');\r\n }\r\n\r\n chooseFileImages(files: FileParameter[]) {\r\n if (files.length === 0) {\r\n return;\r\n }\r\n for (let i = 0; i < files.length; i++) {\r\n const fileParameter: FileParameter = {\r\n data: files[i],\r\n fileName: files[i]['name'],\r\n };\r\n this.selectedImages.push(fileParameter);\r\n this.setFileDisplay(fileParameter);\r\n }\r\n }\r\n\r\n setFileDisplay(file: FileParameter) {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file.data);\r\n reader.onload = (event) => {\r\n // called once readAsDataURL is completed\r\n this.selectedImagesView.push({ file: file, image: event.target.result });\r\n };\r\n }\r\n\r\n removeImageUpload(fileName: string) {\r\n this.selectedImages.splice(\r\n this.selectedImages.findIndex((c) => c.fileName === fileName),\r\n 1\r\n );\r\n this.selectedImagesView.splice(\r\n this.selectedImagesView.findIndex((c) => c.file.fileName === fileName),\r\n 1\r\n );\r\n this.fileImagesForPost.nativeElement.value = '';\r\n }\r\n\r\n getCongAn(){\r\n this.qthtService.appQthtApiV1SysUnitGetAllCongAn().subscribe((sub) => {\r\n if (sub.code === SUCCESS_RESPONSE) {\r\n this.listCongAnHuyen = sub.data.filter(f => f.unitcode.length === 3 && f.ten !== 'Công an Huyện');\r\n this.listCongAnXa = sub.data.filter(f => f.unitcode.length === 5);\r\n }\r\n });\r\n }\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n {{fromParent.title}}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n 0\"\r\n >\r\n
    \r\n
    \r\n
    \r\n \"Preview\"\r\n ×\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n Tiêu đề là bắt buộc\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n Tiêu đề là bắt buộc\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n Công an tỉnh\r\n
    \r\n Công an huyện\r\n \r\n \r\n
    \r\n Công an xã\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { IUserDataToken } from 'app/@core/auth.service';\r\nimport { CommonService, ConvertDatePipe } from 'app/@core/customs/common.service';\r\nimport { STATUS_ACTION, LIST_DOI_TUONG, SUCCESS_RESPONSE, DUPLICATE_RESPONE } from 'app/@core/customs/constants';\r\nimport {\r\n ThongbaoEntity,\r\n ThongbaoEntityProcessInsertFileModel,\r\n AttFileattachmentEntity,\r\n ThongbaoEntityProcessUpdateFileModel\r\n} from 'app/@core/data/app-congan.service';\r\nimport { TokenService } from 'app/@core/token.service';\r\nimport { QuanLyThongBaoService, ViewModelThongBao } from '../../quan-ly-thong-bao/quan-ly-thong-bao.service';\r\n\r\n@Component({\r\n selector: 'ngx-crud',\r\n templateUrl: './crud.component.html',\r\n styleUrls: ['./crud.component.scss']\r\n})\r\nexport class CrudComponent implements OnInit {\r\n constructor(\r\n public commonService: CommonService,\r\n public service: QuanLyThongBaoService,\r\n private tokenService: TokenService,\r\n @Inject(MAT_DIALOG_DATA)\r\n public fromParent: {\r\n id: number;\r\n title: string;\r\n action: number;\r\n data: ViewModelThongBao;\r\n dvnhan: number[];\r\n },\r\n private dialogRef: MatDialogRef\r\n ) {}\r\n\r\n type = 0;\r\n folder: string;\r\n types: number;\r\n listFileTemp: any[] = [];\r\n listFileTempOld: any[] = [];\r\n arr: ViewModelThongBao[] = [];\r\n\r\n target = {\r\n entity: new ViewModelThongBao(),\r\n listDetail: [],\r\n listFile: []\r\n };\r\n ngay: any;\r\n test: any[] = [];\r\n listFileTemp1: any[] = [];\r\n lstDonvi: any[] = [];\r\n dvnhan: any[] = [];\r\n userInfo: IUserDataToken;\r\n checkAll: boolean;\r\n lstDoituong: any[] = [];\r\n getDataInsert(): void {\r\n this.tokenService.getUserInfo().subscribe((result) => {\r\n this.userInfo = result;\r\n });\r\n if ([STATUS_ACTION.edit, STATUS_ACTION.detail].indexOf(this.fromParent.action) > -1) {\r\n this.target.entity = this.fromParent.data;\r\n } else {\r\n this.target.entity.tendvlap = this.userInfo.UnitName;\r\n this.target.entity.dvlap = this.userInfo.UnitCode;\r\n this.ngay = new Date();\r\n this.target.entity.ngaylap = new ConvertDatePipe().transform(this.ngay);\r\n this.target.entity.ngaygui = new ConvertDatePipe().transform(this.ngay);\r\n }\r\n }\r\n\r\n loadData() {\r\n this.service;\r\n }\r\n\r\n downLoadFile(fileId: number) {\r\n this.commonService.downloadFile(fileId);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getDataInsert();\r\n this.folder = this.service.getFolder();\r\n this.type = this.service.getType();\r\n\r\n if (this.userInfo.CapDonVi) {\r\n this.lstDoituong =\r\n this.userInfo.CapDonVi < 3\r\n ? LIST_DOI_TUONG.filter((e) => Number(e.value) <= 3)\r\n : LIST_DOI_TUONG.filter((e) => Number(e.value) >= 3);\r\n if (this.userInfo.CapDonVi === 3) {\r\n this.loadDataDonvi();\r\n }\r\n } else {\r\n this.lstDoituong = LIST_DOI_TUONG;\r\n }\r\n this.loadDiaban();\r\n if (this.fromParent.id) {\r\n this.load();\r\n }\r\n }\r\n\r\n load() {\r\n this.service.selectOneWithThongbao(this.fromParent.id, 1).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target.entity.ngaylap = new ConvertDatePipe().transform(res.data.entity.ngaylap);\r\n this.target.entity.ngaygui = new ConvertDatePipe().transform(res.data.entity.ngaygui);\r\n this.listFileTempOld = res.data.listFile;\r\n this.changeDoituong();\r\n let converData = JSON.parse(this.target.entity.dvnhan);\r\n let tempCA = this.lstCongAn.filter((c) => converData.lstCA.includes(c.unitcode));\r\n let tempNT = this.lstDonvi.filter((c) => converData.lstNT.includes(c.id));\r\n let tempNt2 = tempNT.map((c) => {\r\n return {\r\n text: c.tenchunhatro,\r\n id: c.id,\r\n parentId: '4'\r\n };\r\n });\r\n let tempCA1 = tempCA.map((c) => {\r\n // let a = tempNt2.filter((e) => e.id === c.unitcode);\r\n return {\r\n text: c.tendonvi,\r\n id: c.unitcode,\r\n items: [],\r\n parentId: '3'\r\n };\r\n });\r\n this.test = [...tempCA1, ...tempNt2];\r\n }\r\n });\r\n }\r\n\r\n lstDiaban: any[] = [];\r\n loadDiaban() {\r\n this.service.selectAllDiaban().subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstDiaban = res.data.filter((e) => e.maCha === '24');\r\n this.loadDataDoituong();\r\n }\r\n });\r\n }\r\n\r\n loadDataDonvi() {\r\n this.service.selectAllDonvi(this.userInfo.UnitCode).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstDonvi = result.data;\r\n if (this.fromParent.action === STATUS_ACTION.swap) {\r\n this.dvnhan = this.fromParent.dvnhan;\r\n } else {\r\n this.dvnhan = this.target.entity.dvnhan ? this.target.entity.dvnhan.split(',').map((res) => Number(res)) : [];\r\n }\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n\r\n lstCongAn: any[] = [];\r\n\r\n changeLoaithongbao() {\r\n if (this.target.entity.loaiThongbao === 2) {\r\n this.target.entity.noidung = `Kính gửi [tennguoinhan]! \\n- Đối tượng truy nã: [tendoituongtruyna] \\n- Hiện đang có mặt ở nhà trọ [tennhatro]. \\n- Địa chỉ nhà trọ: [diachinhatro].`\r\n }\r\n }\r\n\r\n loadDataDoituong() {\r\n this.service.selectAllDoituong(this.userInfo.CapDonVi.toString()).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n let temp = res.data.find((c) => c.unitcode === this.userInfo.UnitCode);\r\n this.lstCongAn = res.data;\r\n this.changeDoituong();\r\n }\r\n });\r\n }\r\n\r\n lstDonvinhan: any[] = [];\r\n changeDoituong() {\r\n let temp = this.lstCongAn;\r\n let res = temp.map((c) => {\r\n return {\r\n text: c.tendonvi,\r\n id: c.unitcode,\r\n items: [],\r\n parentId: '3'\r\n };\r\n });\r\n this.lstDonvinhan = temp.map((c) => {\r\n return {\r\n text: c.tendonvi,\r\n id: c.unitcode,\r\n items: [],\r\n parentId: '3'\r\n };\r\n });\r\n }\r\n\r\n lstLoaiThongbao: {\r\n text: string;\r\n value: number;\r\n }[] = [\r\n {\r\n text: 'Thông báo thường',\r\n value: 1\r\n },\r\n {\r\n text: 'Thông báo đối tượng truy nã',\r\n value: 2\r\n }\r\n ];\r\n\r\n loaiThongbao: number = 0;\r\n\r\n handleFileInput(files: FileList) {\r\n for (let i = 0; i < files.length; i++) {\r\n this.listFileTemp.push({\r\n type: this.type,\r\n fileName: files[i].name,\r\n data: files[i]\r\n });\r\n this.listFileTempOld.push({\r\n type: this.type,\r\n fileName: files[i].name,\r\n data: files[i]\r\n });\r\n }\r\n }\r\n\r\n lstFileIdDelete: number[] = [];\r\n deleteFile(file: any) {\r\n const index = this.listFileTempOld.indexOf(file);\r\n const index1 = this.listFileTemp.indexOf(file);\r\n if (file.fileId) {\r\n this.lstFileIdDelete.push(file.fileId);\r\n }\r\n if (index !== -1) this.listFileTempOld.splice(index, 1);\r\n if (index1 !== -1) this.listFileTemp.splice(index, 1);\r\n }\r\n\r\n create(frm: NgForm) {\r\n let lstCA = this.test.filter((c) => c.parentId === '3').map((c) => c.id);\r\n let lstCT = this.test.filter((c) => c.parentId === '4').map((c) => c.id);\r\n let dvnhantb = JSON.stringify({\r\n lstCA: lstCA,\r\n lstNT: lstCT\r\n });\r\n const postData = new ThongbaoEntity({\r\n id: this.fromParent.id ? this.fromParent.id : this.target.entity.id,\r\n dvlap: this.target.entity.dvlap,\r\n chude: this.target.entity.chude,\r\n ngaylap: new Date(this.target.entity.ngaylap),\r\n ngaygui: new Date(this.target.entity.ngaygui),\r\n dvnhan: dvnhantb,\r\n noidung: this.target.entity.noidung,\r\n tendvlap: this.target.entity.tendvlap,\r\n trangthai: 0,\r\n trangthaixem: 0,\r\n doituongnhan: this.target.entity.doituongnhan ? this.target.entity.doituongnhan.toString() : '',\r\n loaiThongbao: this.target.entity.loaiThongbao,\r\n isNew: this.fromParent.id ? false : true,\r\n isDirty: true\r\n });\r\n if (this.fromParent.action === STATUS_ACTION.create) {\r\n const data = new ThongbaoEntityProcessInsertFileModel();\r\n data.entity = postData;\r\n if (this.listFileTemp.length > 0) {\r\n this.commonService.uploadFile(this.folder, this.listFileTemp).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target.listFile = res.data.map((file) => {\r\n return new AttFileattachmentEntity({\r\n fileid: file.id,\r\n filename: file.fileName,\r\n type: 1\r\n });\r\n });\r\n data.lstFileAttachment = this.target.listFile;\r\n this.service.insert(data).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close();\r\n }\r\n });\r\n }\r\n });\r\n } else {\r\n data.lstFileAttachment = [];\r\n this.service.insert(data).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close(true);\r\n }\r\n });\r\n }\r\n } else {\r\n const data = new ThongbaoEntityProcessUpdateFileModel();\r\n data.entity = postData;\r\n data.lstFileIdDelete = this.lstFileIdDelete;\r\n if (this.listFileTemp.length > 0) {\r\n this.commonService.uploadFile(this.folder, this.listFileTemp).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target.listFile = res.data.map((file) => {\r\n return new AttFileattachmentEntity({\r\n fileid: file.id,\r\n filename: file.fileName,\r\n type: 1\r\n });\r\n });\r\n data.lstFileAttachment = this.target.listFile;\r\n data.typeDelete = 1;\r\n // data.lstFileIdDelete = t;\r\n this.service.update(data).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close(true);\r\n }\r\n });\r\n }\r\n });\r\n } else {\r\n data.lstFileAttachment = [];\r\n data.typeDelete = 1;\r\n this.service.update(data).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close(true);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n saveData = (postData) => {\r\n this.service.confirm(postData, this.fromParent.action).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close(true);\r\n } else if (result.code === DUPLICATE_RESPONE) {\r\n this.commonService.toastrWarning('Tên đã tồn tại trên hệ thống !');\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n };\r\n\r\n lstCheckDonviNhan: any[] = [];\r\n changeDVNhan(event) {\r\n if (this.userInfo.CapDonVi === 1 && this.target.entity.doituongnhan === '3') {\r\n let caHuyen = this.lstCongAn.filter((e) => e.capdonvi === '2').map((e) => e.unitcode);\r\n let unitcodeHuyen = event.find((e) => caHuyen.includes(e.id))?.id;\r\n this.test = event.filter((e) => !caHuyen.includes(e.id));\r\n if (JSON.stringify(this.test) === JSON.stringify(this.lstCheckDonviNhan)) {\r\n let temp = this.lstDonvinhan.find((e) => e.id === unitcodeHuyen).items.map((e) => e.id);\r\n let a = this.test.filter((e) => !temp.includes(e.id));\r\n this.test = a;\r\n }\r\n this.lstCheckDonviNhan = this.test.map((x) => x);\r\n }\r\n // this.test = event.filter(e => ))\r\n }\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n {{ fromParent.title }}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    Chủ đề là bắt buộc
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ","import { Component, OnInit } from '@angular/core';\r\nimport { CrudComponent } from '../crud/crud.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { PAGE_SIZE, SUCCESS_RESPONSE, STATUS_ACTION, LIST_DOI_TUONG } from 'app/@core/customs/constants';\r\nimport { SearchModel } from 'app/@core/data/app-congan.service';\r\nimport { QuanLyThongBaoService, ViewModelThongBao } from '../../quan-ly-thong-bao/quan-ly-thong-bao.service';\r\n\r\n@Component({\r\n selector: 'ngx-index',\r\n templateUrl: './index.component.html',\r\n styleUrls: ['./index.component.scss']\r\n})\r\nexport class IndexComponent implements OnInit {\r\n\r\n constructor(\r\n private service: QuanLyThongBaoService,\r\n private commonService: CommonService,\r\n private dialog: MatDialog\r\n ) { }\r\n \r\n isCAX: boolean = false;\r\n totalPage: number;\r\n searchModel: SearchModel = new SearchModel({\r\n trangThai: null,\r\n sapXep: null,\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE,\r\n search: null,\r\n column: '2'\r\n });\r\n \r\n initSearchModel() {\r\n this.searchModel.trangThai = 0;\r\n this.searchModel.sapXep = 0;\r\n }\r\n \r\n target: any = {\r\n data: []\r\n };\r\n file: any[] = [];\r\n isLoading: boolean = true;\r\n \r\n ListTrangthai = [{ id: 0, name: 'Đang soạn thảo' }, { id: 1, name: 'Đã gửi' }];\r\n ListSapxep = [{ id: 1, name: 'Tăng dần từ A-Z' }, { id: 2, name: 'Giảm dần từ A-Z' }, { id: 3, name: 'Thời gian cập nhật cũ nhất' },\r\n { id: 4, name: 'Thời gian cập nhật mới nhất' }, { id: 0, name: '-Sắp xếp-' }];\r\n \r\n title: string = 'Quản lý mẫu thông báo';\r\n \r\n ngOnInit(): void {\r\n this.commonService.getUserInfo().subscribe((result) => {\r\n if (result.CapDonVi === 3) {\r\n this.isCAX = true;\r\n }\r\n });\r\n this.loadData();\r\n this.initSearchModel();\r\n }\r\n \r\n loadData() {\r\n \r\n this.service.paging(this.searchModel).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.target = result.data;\r\n this.totalPage = result.data.totalPage;\r\n const data = result.data?.data;\r\n this.target.data = data.map(x => new ViewModelThongBao({\r\n id: x.entity.id,\r\n chude: x.entity.chude,\r\n dvlap: x.entity.dvlap,\r\n dvnhan: x.entity.dvnhan,\r\n noidung: x.entity.noidung,\r\n ngaylap: x.entity.ngaylap,\r\n trangthai: x.entity.trangthai,\r\n ngaygui: x.entity.ngaygui,\r\n dsdvnhan: x.dsdvnhan,\r\n isFeedback: x.isFeedback,\r\n tendvlap: x.entity.tendvlap,\r\n doituongnhan: x.entity.doituongnhan,\r\n loaiThongbao: x.entity.loaiThongbao,\r\n mahuyen: x.entity.mahuyen,\r\n maxa: x.entity.maxa,\r\n loai: x.entity.loai,\r\n }));\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n this.isLoading = false;\r\n });\r\n }\r\n \r\n changeTrangthai(event) {\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n \r\n changeSapxep(event) {\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n \r\n getTrangthai(item) {\r\n const check = item ? 1 : 0;\r\n return this.ListTrangthai.find(c => c.id === check)?.name ?? null;\r\n }\r\n \r\n searchPage() {\r\n this.searchModel.search = this.searchModel.search;\r\n this.loadData();\r\n }\r\n \r\n resetPage() {\r\n this.searchModel.search = null;\r\n this.searchPage();\r\n }\r\n \r\n openCreateDialog() {\r\n const title = `Thêm mới ${this.title.toLowerCase()}`;\r\n this.dialog.open(CrudComponent,\r\n this.commonService.configDialog('60%', { id: null, title: title, action: STATUS_ACTION.create }))\r\n .afterClosed().subscribe(result => {\r\n this.loadData();\r\n });\r\n }\r\n \r\n detailData(item: ViewModelThongBao) {\r\n const title = `Chi tiết ${this.title.toLowerCase()}`;\r\n this.dialog.open(CrudComponent,\r\n this.commonService.configDialog('60%', {\r\n id: item.id, title: title,\r\n action: STATUS_ACTION.detail, data: item\r\n })).afterClosed().subscribe(result => {\r\n this.loadData();\r\n });\r\n }\r\n \r\n editData(item: ViewModelThongBao) {\r\n const title = `Sửa ${this.title.toLowerCase()}`;\r\n this.dialog.open(CrudComponent,\r\n this.commonService.configDialog('60%', {\r\n id: item.id, title: title,\r\n action: STATUS_ACTION.edit, data: item\r\n })).afterClosed().subscribe(result => {\r\n this.loadData();\r\n });\r\n }\r\n \r\n getDoiTuong(doituong) {\r\n return doituong ? LIST_DOI_TUONG.find(c => c.value === doituong).text : '';\r\n }\r\n \r\n deleteData(id: number, tendonvi: string) {\r\n if (confirm(`Xác nhận xóa`)) {\r\n this.service.delete(id).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.loadData();\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n }\r\n \r\n checkAll: boolean = false;\r\n eventChecked = (item) => {\r\n if (!item && this.target.data.length > 0) {\r\n this.target.data.forEach(c => {\r\n c.checked = this.checkAll;\r\n });\r\n } else {\r\n this.checkAll = this.target.data.filter(c => !c.checked).length === 0;\r\n }\r\n }\r\n \r\n deleteChecked = () => {\r\n if (confirm(`Xác nhận xóa`)) {\r\n const lstDelete = this.target.data?.filter(c => c.checked === true).map(x => x.id);\r\n this.service.DeleteListrecord(lstDelete).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Thành công!!!');\r\n this.loadData();\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n }\r\n \r\n \r\n \r\n tentk: string;\r\n \r\n chageTenDv = (item: string) => {\r\n this.service.selectOneWithUnitCode(item).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Thành công!!!');\r\n }\r\n this.loadData();\r\n });\r\n }\r\n \r\n }\r\n ","\r\n \r\n
    \r\n
    \r\n

    {{title}}

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n  \r\n
    \r\n \r\n
    \r\n  \r\n \r\n  \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n
    Chủ đềHành động
    {{item.chude}}\r\n   \r\n \r\n   \r\n \r\n   \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    0\" class=\"row\">\r\n
    \r\n
    \r\n Tổng số bản ghi: {{target?.recordsCount}}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Không có dữ liệu.\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { Routes } from '@angular/router';\r\nimport { IndexComponent } from './index/index.component';\r\n\r\n\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n children: [\r\n { path: '', component: IndexComponent },\r\n ]\r\n }\r\n];\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { QLNhaNghiIndexComponent } from './quan-ly-nha-nghi/quan-ly-nha-nghi-index/quan-ly-nha-nghi-index.component';\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n children: [\r\n { path: '', component: QLNhaNghiIndexComponent },\r\n ]\r\n }\r\n];\r\n","import {\r\n ApiResponse,\r\n AppCongAnApiService,\r\n InsertModel,\r\n ObjectIEnumerablePageModelViewApiResponse,\r\n SearchModel,\r\n} from './../../../@core/data/app-congan.service';\r\nimport { Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { STATUS_ACTION } from 'app/@core/customs/constants';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class QLNhaNghiService {\r\n statusAction = STATUS_ACTION;\r\n constructor(private api: AppCongAnApiService) { }\r\n\r\n // paging(body: SearchModel | undefined): Observable {\r\n // return this.api.appCongAnApiV1TinhhinhanninhPagingData(body);\r\n // }\r\n // insert(body: InsertModel | undefined): Observable {\r\n // return this.api.appCongAnApiV1TinhhinhanninhInsertData(body);\r\n // }\r\n\r\n // selectOne(type: number, id: number): Observable {\r\n // return this.api.appCongAnApiV1TinhhinhanninhSelectOneData(type, id);\r\n // }\r\n\r\n // selectOneEntity(id: number): Observable {\r\n // return this.api.appCongAnApiV1TinhhinhanninhSelectOne(id);\r\n // }\r\n\r\n // update(body: UpdatetModel | undefined): Observable {\r\n // return this.api.appCongAnApiV1TinhhinhanninhUpdateData(body);\r\n // }\r\n\r\n // updateEntity(body: TinhhinhanninhEntity): Observable {\r\n // return this.api.appCongAnApiV1TinhhinhanninhUpdate(body);\r\n // }\r\n\r\n // delete(id: number): Observable {\r\n // return this.api.appCongAnApiV1TinhhinhanninhDeleteData(id);\r\n // }\r\n\r\n getFolder(): string {\r\n return 'TinhHinhAnNinh';\r\n }\r\n\r\n getType(): number {\r\n return 1111;\r\n }\r\n\r\n // Getdatafile(type: number): Observable {\r\n // return this.api.appCongAnApiV1TinhhinhanninhGetDataFile(type);\r\n // }\r\n\r\n // selectFormInsert(): Observable {\r\n // return this.api.appCongAnApiV1TinhhinhanninhSelectFormInsert();\r\n // }\r\n\r\n // selectFormSync(): Observable {\r\n // return this.api.appCongAnApiV1TinhhinhanninhSelectFormSync();\r\n // }\r\n\r\n // SyncData(body: CauhinhdongboModel | undefined): Observable {\r\n // return this.api.appCongAnApiV1TinhhinhanninhSyncDataApi(body);\r\n // }\r\n}\r\n\r\nexport class ViewModel {\r\n ma: string;\r\n ten: string;\r\n tang: string;\r\n songuoitoida: number;\r\n loaiphong: string;\r\n cachtinhtien: string;\r\n mota: string;\r\n unitcode: string;\r\n}\r\n\r\n","import { CommonService } from 'app/@core/customs/common.service';\r\nimport { SUCCESS_RESPONSE, SUCCESS_NOTICE, STATUS_ACTION } from 'app/@core/customs/constants';\r\nimport { QLNhaNghiService } from './../../quan-ly-nha-nghi.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { PageModel } from 'app/@core/data/app-dmht.service';\r\nimport { PAGE_SIZE } from 'app/@core/customs/constants';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { QLNhaNghiComponent } from '../quan-ly-nha-nghi/quan-ly-nha-nghi.component';\r\nimport { SearchModel } from 'app/@core/data/app-congan.service';\r\nimport { SelectedKhachThueComponent } from 'app/modules/app-congan-admin/quan-ly-hop-dong/quan-ly-hop-dong/chon-khach-thue/chon-khach-thue.component';\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-nha-nghi-index',\r\n templateUrl: './quan-ly-nha-nghi-index.component.html',\r\n styleUrls: ['./quan-ly-nha-nghi-index.component.scss']\r\n})\r\nexport class QLNhaNghiIndexComponent implements OnInit {\r\n\r\n constructor(\r\n private sevice: QLNhaNghiService,\r\n private commonService: CommonService,\r\n private dialog: MatDialog\r\n ) { }\r\n\r\n totalPage: number;\r\n searchModel: SearchModel = new SearchModel({\r\n trangThai: null,\r\n sapXep: null,\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE,\r\n search: null,\r\n column: null\r\n });\r\n\r\n initSearchModel() {\r\n this.searchModel.trangThai = 0;\r\n this.searchModel.sapXep = 0;\r\n }\r\n\r\n target: any = {\r\n data: []\r\n };\r\n file: any[] = [];\r\n isLoading: boolean = true;\r\n\r\n ListTrangthai = [{ id: 1, name: 'Đang soạn thảo' }, { id: 2, name: 'Đã đăng tải' },\r\n { id: 3, name: 'Đã thu hồi' }, { id: 0, name: '-Tất cả-' }];\r\n ListSapxep = [{ id: 1, name: 'Tăng dần từ A-Z' }, { id: 2, name: 'Giảm dần từ A-Z' }, { id: 3, name: 'Thời gian cập nhật cũ nhất' },\r\n { id: 4, name: 'Thời gian cập nhật mới nhất' }, { id: 0, name: '-Sắp xếp-' }];\r\n\r\n title: string = 'Quản lý danh sách nhà trọ';\r\n\r\n ngOnInit(): void {\r\n this.loadData();\r\n this.initSearchModel();\r\n }\r\n\r\n loadData() {\r\n this.target.data = [{ trangthai: 1 }, {}];\r\n // this.sevice.paging(this.searchModel).subscribe(result => {\r\n // if (result.code === SUCCESS_RESPONSE) {\r\n // this.target = result.data;\r\n // this.totalPage = result.data.totalPage;\r\n // this.target.data?.forEach(element => {\r\n // const chiase = element.chiase?.split('');\r\n // element.chiaseCQNN = chiase.length === 0 ? false : (chiase.findIndex(m => m === '1') === -1 ? false : true);\r\n // element.chiaseND = chiase.length === 0 ? false : (chiase.findIndex(m => m === '2') === -1 ? false : true);\r\n // });\r\n // this.sevice.Getdatafile(1111).subscribe(result1 => {\r\n // this.file = result1.data;\r\n // });\r\n // } else {\r\n // this.commonService.toastrDanger(result.message);\r\n // }\r\n // this.isLoading = false;\r\n // });\r\n }\r\n\r\n changeTrangthai(event) {\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n changeSapxep(event) {\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n getTrangthai(item) {\r\n return this.ListTrangthai.find(c => c.id === item)?.name ?? null;\r\n }\r\n\r\n searchPage() {\r\n this.searchModel.search = this.searchModel.search;\r\n this.loadData();\r\n }\r\n\r\n resetPage() {\r\n this.searchModel.search = null;\r\n this.searchPage();\r\n }\r\n\r\n openCreateDialog() {\r\n const title = `Thêm mới ${this.title.toLowerCase()}`;\r\n this.dialog.open(QLNhaNghiComponent, this.commonService.configDialog('60%', { id: null, title: title, action: STATUS_ACTION.create }))\r\n .afterClosed().subscribe(result => {\r\n if (result === true) {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n\r\n detailData(id: number) {\r\n const title = `Chi tiết ${this.title.toLowerCase()}`;\r\n this.dialog.open(QLNhaNghiComponent,\r\n this.commonService.configDialog('60%', { id: id, title: title, action: STATUS_ACTION.detail })).afterClosed().subscribe(() => { });\r\n }\r\n\r\n editData(id: number) {\r\n const title = `Sửa ${this.title.toLowerCase()}`;\r\n this.dialog.open(QLNhaNghiComponent,\r\n this.commonService.configDialog('60%', { id: id, title: title, action: STATUS_ACTION.edit })).afterClosed().subscribe(result => {\r\n if (result === true) {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n\r\n deleteData(id: number, tendonvi: string) {\r\n if (confirm(`Xác nhận xóa`)) {\r\n // this.sevice.delete(id).subscribe(result => {\r\n // if (result.code === SUCCESS_RESPONSE) {\r\n // this.commonService.toastrSuccess();\r\n // this.loadData();\r\n // } else {\r\n // this.commonService.toastrDanger(result.message);\r\n // }\r\n // });\r\n }\r\n }\r\n\r\n checkAll: boolean = false;\r\n eventChecked = (item) => {\r\n if (!item && this.target.data.length > 0) {\r\n this.target.data.forEach(c => {\r\n c.checked = this.checkAll;\r\n });\r\n } else {\r\n this.checkAll = this.target.data.filter(c => !c.checked).length === 0;\r\n }\r\n }\r\n\r\n deleteChecked = () => {\r\n const lstDelete = this.target.data?.filter(c => c.checked === true);\r\n }\r\n\r\n openFormKhach = () => {\r\n this.dialog.open(SelectedKhachThueComponent, this.commonService.configDialog('100%', { testData: 'data' }))\r\n .afterClosed().subscribe(result => {\r\n if (result === true) {\r\n\r\n }\r\n });\r\n }\r\n}\r\n","\r\n \r\n
    \r\n
    \r\n {{title}}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n  \r\n \r\n  \r\n \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
    TầngTên phòngLoại phòngCách tính tiềnTrạng tháiHoạt độngHành động
    {{getTrangthai(item.trangthai)}}{{getTrangthai(item.trangthai)}}{{getTrangthai(item.trangthai)}}{{getTrangthai(item.trangthai)}}{{getTrangthai(item.trangthai)}}\r\n \r\n \r\n \r\n   \r\n \r\n   \r\n \r\n   \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    0\" class=\"row\">\r\n
    \r\n
    \r\n Tổng số bản ghi: {{target?.recordsCount}}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Không có dữ liệu.\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { NgForm } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { InsertModel } from './../../../../../@core/data/app-congan.service';\r\nimport { CommonService } from './../../../../../@core/customs/common.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { QLNhaNghiService } from '../../quan-ly-nha-nghi.service';\r\n\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-nha-nghi',\r\n templateUrl: './quan-ly-nha-nghi.component.html',\r\n styleUrls: ['./quan-ly-nha-nghi.component.scss']\r\n})\r\nexport class QLNhaNghiComponent implements OnInit {\r\n\r\n constructor(\r\n private commonService: CommonService,\r\n public service: QLNhaNghiService,\r\n @Inject(MAT_DIALOG_DATA) public fromParent: { id: string, title: string, action: number },\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n\r\n type = 0;\r\n folder: string;\r\n types: number;\r\n listFileTemp: any[] = [];\r\n\r\n target: InsertModel = new InsertModel(\r\n {\r\n entity: {},\r\n listFile: [],\r\n }\r\n );\r\n DataYears: number[];\r\n\r\n DataMonths: any[];\r\n getDataInsert(): void {\r\n // this.service.selectFormInsert()\r\n // .subscribe(res => {\r\n // if (res.code === SUCCESS_RESPONSE) {\r\n // this.commonService.getUserInfo().subscribe(res1 => {\r\n // this.target.entity.donvilap = res1.UnitName;\r\n // });\r\n // this.DataDonvi.lstDonvi = res.data.lstDonvi;\r\n // this.DataMonths = ['Tháng 1', 'Tháng 2', 'Tháng 3', 'Tháng 4',\r\n // 'Tháng 5', 'Tháng 6', 'Tháng 7', 'Tháng 8',\r\n // 'Tháng 9', 'Tháng 10',\r\n // 'Tháng 11', 'Tháng 12'];\r\n // this.DataYears = [new Date().getFullYear() - 3, new Date().getFullYear() - 2, new Date().getFullYear() - 1,\r\n // new Date().getFullYear(), new Date().getFullYear() + 1, new Date().getFullYear() + 2, new Date().getFullYear() + 3];\r\n // } else {\r\n // this.commonService.toastrDanger(res.message);\r\n // }\r\n // });\r\n }\r\n\r\n ngOnInit(): void {\r\n // this.initRow();\r\n // this.getDataInsert();\r\n // this.target.entity.tieude = ' Tình hình an ninh, trật tự an toàn xã hội đến ngày '\r\n // + new Date().getDate().toString() + '/' + new Date().getMonth().toString() + '/'\r\n // + new Date().getFullYear().toString();\r\n\r\n // const mont = new Date().getMonth() + 1;\r\n // this.target.entity.thang = 'Tháng ' + mont.toString();\r\n // this.target.entity.nam = new Date().getFullYear().toString();\r\n // this.folder = this.service.getFolder();\r\n // this.type = this.service.getType();\r\n // this.changeTieuDe();\r\n }\r\n\r\n changeTieuDe() {\r\n // this.target.entity.tieude = 'Tình hình an ninh, trật tự an toàn xã hội cập nhật đến tháng ' + this.target.entity.thang\r\n // + ' năm ' + this.target.entity.nam.toString();\r\n }\r\n\r\n create(frm: NgForm) {\r\n\r\n // this.commonService.uploadFile(this.folder, this.listFileTemp).subscribe((res) => {\r\n // if (res.code === SUCCESS_RESPONSE) {\r\n // this.target.listFile = res.data.map((file) => {\r\n // return new AttFileattachmentEntity({\r\n // fileid: file.id,\r\n // filename: file.fileName,\r\n // type: this.listFileTemp.find(x => x.fileName === file.fileName)?.type\r\n // });\r\n // });\r\n // this.target.entity.isNew = true;\r\n // this.target.entity.ngay = new Date();\r\n // this.target.entity.trangthai = 1;\r\n // this.arr.forEach(element => {\r\n // if (element.ngaydang) {\r\n // element.ngaydang = new Date(element.ngaydang);\r\n // }\r\n // element.isNew = true;\r\n // });\r\n // this.target.listDetail = this.arr;\r\n // this.target.entity.donvilap = 'Công an tỉnh';\r\n // this.service.insert(this.target).subscribe((result) => {\r\n // if (result.code === SUCCESS_RESPONSE) {\r\n // this.commonService.toastrSuccess();\r\n // this.dialogRef.close(true);\r\n // } else if (result.code === DUPLICATE_RESPONE) {\r\n // this.commonService.toastrWarning(\r\n // 'Tên đã tồn tại trên hệ thống !'\r\n // );\r\n // } else {\r\n // this.commonService.toastrDanger(result.message);\r\n // }\r\n // });\r\n // }\r\n // });\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n for (let i = 0; i < files.length; i++) {\r\n this.listFileTemp.push({ type: this.type, fileName: files[i].name, data: files[i] });\r\n }\r\n }\r\n deleteFile(file: any) {\r\n const index = this.listFileTemp.indexOf(file);\r\n if (index !== -1) this.listFileTemp.splice(index, 1);\r\n }\r\n\r\n}\r\n","import { NgForm } from '@angular/forms';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { DUPLICATE_RESPONE, STATUS_ACTION, SUCCESS_RESPONSE, ViewDiaBan } from 'app/@core/customs/constants';\r\nimport { stat } from 'fs';\r\nimport { QLPhongService } from 'app/modules/app-congan-admin/quan-ly-phong/quan-ly-phong.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Html5Qrcode } from 'html5-qrcode';\r\nimport { DanhMucDanTocService } from 'app/modules/app-congan-admin/danh-muc-dan-toc/danh-muc-dan-toc.service';\r\nimport { CommonService, ConvertDatePipe } from 'app/@core/customs/common.service';\r\nimport { ApiBGModel, QLKhachService, ViewModelKhachThue } from '../../quan-ly-khach/quan-ly-khach.service';\r\nimport { CheckNguoiThueModel, NguoiThueModel } from 'app/@core/data/app-congan.service';\r\nimport { QLKhachSyncComponent } from '../../quan-ly-khach/quan-ly-khach/quan-ly-khach-sync/quan-ly-khach-sync.component';\r\nimport { QLNhaTroService } from '../quan-ly-nha-tro.service';\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-khach-qrcode',\r\n templateUrl: './quan-ly-khach-qrcode.component.html',\r\n styleUrls: ['./quan-ly-khach-qrcode.component.scss']\r\n})\r\nexport class QLKhachQrcodeComponent implements OnInit {\r\n\r\n constructor(\r\n private commonService: CommonService,\r\n public service: QLKhachService,\r\n private serviceNhaTro: QLNhaTroService,\r\n private phongService: QLPhongService,\r\n private serviceDmDanToc: DanhMucDanTocService,\r\n private dialog: MatDialog,\r\n private route: ActivatedRoute\r\n ) { }\r\n\r\n type = 0;\r\n folder: string;\r\n types: number;\r\n listFileTemp1: any[] = [];\r\n listFileTemp2: any[] = [];\r\n listFileTemp3: any[] = [];\r\n lstTinh: ViewDiaBan[];\r\n lstHuyen: ViewDiaBan[];\r\n lstXa: ViewDiaBan[];\r\n lstThon: ViewDiaBan[];\r\n lstDSDiaBan: any[] = [];\r\n target = {\r\n entity: new ViewModelKhachThue(),\r\n };\r\n lstGioiTinh = [\r\n { value: 0, text: 'Nữ' },\r\n { value: 1, text: 'Nam' }\r\n ];\r\n lstTrangThaiPhong = [\r\n { value: 1, text: 'Mới' },\r\n { value: 2, text: 'Đã nhận phòng' },\r\n { value: 3, text: 'Đã trả phòng' },\r\n { value: 3, text: 'Chuyển phòng' },\r\n ];\r\n\r\n lstNgheNghiep = [\r\n { value: 0, text: 'Công nhân' },\r\n { value: 1, text: 'Lao động tự do' },\r\n { value: 2, text: 'Khác' }\r\n ];\r\n\r\n lstPhong: any[];\r\n idOldPhong: number;\r\n lstDanDoc: any[] = [];\r\n\r\n idNhaTro: number;\r\n tenNhaTro: string;\r\n\r\n getDataInsert(): void {\r\n this.loadDiaBan();\r\n this.getListPhong();\r\n this.selectOneNhaTro();\r\n this.selectDanToc();\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.route.snapshot.params['idnhatro']) {\r\n this.target.entity.idnhatro = Number(this.route.snapshot.params['idnhatro']);\r\n }\r\n if (this.route.snapshot.params['idphong']) {\r\n this.target.entity.idphong = Number(this.route.snapshot.params['idphong']);\r\n }\r\n // if (this.fromParent.isDangKyTamTru) {\r\n // this.target.entity.dangkytamtrutamvang = this.fromParent.isDangKyTamTru;\r\n // }\r\n this.getDataInsert();\r\n this.folder = this.service.getFolder();\r\n this.type = this.service.getType();\r\n }\r\n\r\n selectOneNhaTro() {\r\n this.serviceNhaTro.selectOne(this.idNhaTro).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.tenNhaTro = res.data?.tennhatro;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n getListPhong() {\r\n this.phongService.SelectByIdNhaTro(Number(this.idNhaTro)).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstPhong = result.data?.filter(x => x.hoatdong === true);\r\n }\r\n });\r\n }\r\n\r\n selectDanToc() {\r\n this.serviceDmDanToc.selectAll().subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstDanDoc = res.data;\r\n }\r\n });\r\n }\r\n\r\n create(frm: NgForm) {\r\n this.getMaDiaBanKey();\r\n const postData = new NguoiThueModel({\r\n anhchandung: this.target.entity.imgchandung ? btoa(this.target.entity.imgchandung) : null,\r\n cccd: this.target.entity.cmnd ?? null,\r\n cccdMatsau: this.target.entity.imgcmndAfter ? btoa(this.target.entity.imgcmndAfter) : null,\r\n cccdMattruoc: this.target.entity.imgcmndBefore ? btoa(this.target.entity.imgcmndBefore) : null,\r\n cccdNgaycap: new Date(this.target.entity.ngaycap) ?? null,\r\n cccdNoicap: this.target.entity.noicap ?? null,\r\n dangkytamtrutamvang: this.target.entity.dangkytamtrutamvang ?? null,\r\n dantoc: this.target.entity.dantoc ?? null,\r\n diachi: null,\r\n dienthoai: this.target.entity.dtlienhe ?? null,\r\n dienthoainguoithan: this.target.entity.dtnguoithan ?? null,\r\n email: this.target.entity.email ?? null,\r\n gioitinh: this.target.entity.gioitinh ?? null,\r\n hinhanh: null,\r\n hoten: this.target.entity.hoten ?? null,\r\n id: this.target.entity.id ?? 0,\r\n lydotamtru: this.target.entity.lydotamtru ?? null,\r\n ngaysinh: new Date(this.target.entity.ngaysinh) ?? new Date(),\r\n nghenghiep: this.target.entity.nghenghiep ?? null,\r\n noicongtac: this.target.entity.noicongtac ?? null,\r\n quoctich: null,\r\n tamtruden: this.target.entity.tamtruden ? new Date(this.target.entity.tamtruden) : new Date(),\r\n tamtrutu: this.target.entity.tamtrutu ? new Date(this.target.entity.tamtrutu) : new Date(),\r\n tengnuoithan: this.target.entity.nguoithan ?? null,\r\n thongtinthemtttv: null,\r\n tongiao: this.target.entity.tongiao ?? null,\r\n trangthai: this.target.entity.trangthai ?? 0,\r\n idnhatro: this.target.entity.idnhatro ?? this.idNhaTro ?? null,\r\n idPhong: this.target.entity.idphong ?? null,\r\n matinh: this.target.entity.matinh,\r\n mahuyen: this.target.entity.mahuyen,\r\n maxa: this.target.entity.maxa,\r\n tenphong: this.target.entity.tenphong,\r\n madiabankey: this.target.entity.madiabankey\r\n });\r\n\r\n this.service.confirm(postData, STATUS_ACTION.create).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n } else if (result.code === DUPLICATE_RESPONE) {\r\n this.commonService.toastrWarning(\r\n 'Tên đã tồn tại trên hệ thống !'\r\n );\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n\r\n handleFileInput(files: FileList, numImg: number) {\r\n this.setValueFile(files[0]).then(result => {\r\n if (numImg === 3) {\r\n this.listFileTemp3 = result.showValue;\r\n this.target.entity.imgchandung = result.saveValue;\r\n } else if (numImg === 1) {\r\n this.listFileTemp1 = result.showValue;\r\n this.target.entity.imgcmndBefore = result.saveValue;\r\n this.getQRCode(files[0]);\r\n } else if (numImg === 2) {\r\n this.listFileTemp2 = result.showValue;\r\n this.target.entity.imgcmndAfter = result.saveValue;\r\n }\r\n });\r\n\r\n }\r\n\r\n async setValueFile(file) {\r\n const data = {\r\n saveValue: await this.commonService.encodeFile(file) + '',\r\n showValue: [{ type: this.type, fileName: file.name, data: file }]\r\n };\r\n return data;\r\n }\r\n\r\n deleteFile(file: any, numImg: number) {\r\n if (numImg === 3) {\r\n const index = this.listFileTemp3.indexOf(file);\r\n if (index !== -1) {\r\n this.listFileTemp3.splice(index, 1);\r\n this.target.entity.imgchandung = null;\r\n }\r\n } else if (numImg === 1) {\r\n const index = this.listFileTemp1.indexOf(file);\r\n if (index !== -1) {\r\n this.listFileTemp1.splice(index, 1);\r\n this.target.entity.imgcmndBefore = null;\r\n }\r\n } else if (numImg === 2) {\r\n const index = this.listFileTemp2.indexOf(file);\r\n if (index !== -1) {\r\n this.listFileTemp2.splice(index, 1);\r\n this.target.entity.imgcmndAfter = null;\r\n }\r\n }\r\n }\r\n\r\n ConvertBinarytoFile = () => {\r\n if (this.target.entity.imgcmndBefore) {\r\n this.target.entity.imgcmndBefore = atob(this.target.entity.imgcmndBefore);\r\n // const file = this.commonService.decodeFile(this.target.entity.imgcmndBefore, 'imgcmndBefore');\r\n // this.listFileTemp1 = [{ type: this.type, fileName: file.name, data: file }];\r\n fetch(this.target.entity.imgcmndBefore)\r\n .then(res => res.blob())\r\n .then(blob => {\r\n const file = new File([blob], 'imgcmndBefore', { type: 'image/png' });\r\n this.listFileTemp1 = [{ type: this.type, fileName: file.name, data: file }];\r\n });\r\n }\r\n if (this.target.entity.imgcmndAfter) {\r\n this.target.entity.imgcmndAfter = atob(this.target.entity.imgcmndAfter);\r\n // const file = this.commonService.decodeFile(this.target.entity.imgcmndAfter, 'imgcmndAfter');\r\n // this.listFileTemp2 = [{ type: this.type, fileName: file.name, data: file }];\r\n fetch(this.target.entity.imgcmndAfter)\r\n .then(res => res.blob())\r\n .then(blob => {\r\n const file = new File([blob], 'imgcmndAfter', { type: 'image/png' });\r\n this.listFileTemp2 = [{ type: this.type, fileName: file.name, data: file }];\r\n });\r\n }\r\n if (this.target.entity.imgchandung) {\r\n this.target.entity.imgchandung = atob(this.target.entity.imgchandung);\r\n // const file = this.commonService.decodeFile(this.target.entity.imgcmndAfter, 'imgchandung');\r\n // this.listFileTemp3 = [{ type: this.type, fileName: file.name, data: file }];\r\n fetch(this.target.entity.imgchandung)\r\n .then(res => res.blob())\r\n .then(blob => {\r\n const file = new File([blob], 'imgchandung', { type: 'image/png' });\r\n this.listFileTemp3 = [{ type: this.type, fileName: file.name, data: file }];\r\n });\r\n }\r\n }\r\n\r\n ChangePhong = () => {\r\n if (this.target.entity.idphong) {\r\n this.target.entity.trangthai = 2;\r\n this.target.entity.tenphong = this.lstPhong.find(x => x.id === this.target.entity.idphong).tenphong;\r\n }\r\n }\r\n\r\n loadDiaBan = () => {\r\n this.service.SelectAllDiaBan().subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstDSDiaBan = result.data.map(x => {\r\n return {\r\n id: x.id,\r\n ma: x.ma,\r\n ten: x.ten,\r\n macha: x.maCha,\r\n loai: x.level,\r\n madiabankey: x.makey\r\n };\r\n });\r\n\r\n this.lstTinh = this.lstDSDiaBan.filter(c => c.loai === 1).map(x => new ViewDiaBan({\r\n id: x.id,\r\n ma: x.ma,\r\n ten: x.ten,\r\n macha: x.macha,\r\n madiabankey: x.madiabankey\r\n }));\r\n\r\n if (this.target.entity.matinh) {\r\n this.lstHuyen = this.lstDSDiaBan.filter(x => x.macha === this.target.entity.matinh);\r\n }\r\n\r\n if (this.target.entity.mahuyen) {\r\n this.lstXa = this.lstDSDiaBan.filter(x => x.macha === this.target.entity.mahuyen);\r\n }\r\n\r\n }\r\n });\r\n }\r\n\r\n getlistHuyen = matinh => {\r\n this.lstXa = [];\r\n this.target.entity.mahuyen = null;\r\n this.lstHuyen = this.lstDSDiaBan.filter(x => x.macha === matinh);\r\n }\r\n\r\n getlistXa = mahuyen => {\r\n this.lstXa = [];\r\n this.target.entity.maxa = null;\r\n this.lstXa = this.lstDSDiaBan.filter(x => x.macha === mahuyen);\r\n }\r\n\r\n getListThon = maxa => {\r\n this.lstThon = [];\r\n this.target.entity.madiabankey = null;\r\n this.lstThon = this.lstDSDiaBan.filter(x => x.madiabankey.includes(maxa) && x.loai === 4);\r\n }\r\n\r\n getMaDiaBanKey = () => {\r\n if (!this.target.entity.madiabankey) {\r\n const xa = this.lstDSDiaBan.find(c => c.ma === this.target.entity.maxa);\r\n if (xa) {\r\n this.target.entity.madiabankey = xa.madiabankey;\r\n }\r\n }\r\n }\r\n\r\n message: string;\r\n CheckValue = (isPhoneNumber: boolean) => {\r\n // const postData = new CheckNguoiThueModel({\r\n // cmnd: this.target.entity.cmnd,\r\n // sdt: this.target.entity.dtlienhe\r\n // });\r\n // this.service.CheckValiDate(postData).subscribe(res => {\r\n // if (res.code === SUCCESS_RESPONSE && res.message) {\r\n // this.message = res.message;\r\n // this.commonService.toastrDanger(this.message);\r\n // } else {\r\n // this.message = null;\r\n // }\r\n // });\r\n let data: string;\r\n if (isPhoneNumber) {\r\n data = this.target.entity.dtlienhe;\r\n } else {\r\n data = this.target.entity.cccd;\r\n }\r\n this.serviceNhaTro.getInforNguoiThue(data, isPhoneNumber).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target.entity.id = res.data.id;\r\n this.target.entity.hoten = res.data.hoten;\r\n this.target.entity.gioitinh = res.data.gioitinh;\r\n this.target.entity.dantoc = res.data.dantoc;\r\n this.target.entity.email = res.data.email;\r\n this.target.entity.dtlienhe = res.data.dienthoai;\r\n this.target.entity.ngaysinh = this.commonService.transform(res.data.ngaysinh);\r\n this.target.entity.cccd = res.data.cccd;\r\n this.target.entity.matinh = res.data.matinh;\r\n this.target.entity.mahuyen = res.data.mahuyen;\r\n this.target.entity.maxa = res.data.maxa;\r\n this.target.entity.madiabankey = res.data.madiabankey;\r\n this.target.entity.nghenghiep = res.data.nghenghiep;\r\n this.target.entity.noicongtac = res.data.noicongtac;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n checkDate: boolean;\r\n ChangeDate = () => {\r\n if (new Date(this.target.entity.ngaycap).getTime() > new Date().getTime()) {\r\n this.checkDate = true;\r\n } else {\r\n this.checkDate = false;\r\n }\r\n }\r\n\r\n openSync = () => {\r\n this.dialog.open(QLKhachSyncComponent, this.commonService.configDialog('60%', { testData: 'data' }))\r\n .afterClosed().subscribe((result: ApiBGModel) => {\r\n if (result) {\r\n this.target.entity.hoten = result.hoten;\r\n this.target.entity.ngaysinh = new ConvertDatePipe().transform(result.ngaysinh);\r\n this.target.entity.noicongtac = result.congty.length > 0 ? result.congty[0] : null;\r\n }\r\n });\r\n }\r\n\r\n getQRCode(file: File) {\r\n const html5QrCode = new Html5Qrcode('reader');\r\n html5QrCode.scanFile(file, false)\r\n .then(qrCodeMessage => {\r\n this.setQRCode(qrCodeMessage);\r\n })\r\n .catch(err => {\r\n this.commonService.toastrWarning('Không phát hiện QRCode');\r\n });\r\n }\r\n\r\n setQRCode(QRCode) {\r\n // FIXME: Set QR Code\r\n const infoCCCD = QRCode.split('|');\r\n this.target.entity.cccd = infoCCCD[0];\r\n this.target.entity.hoten = infoCCCD[2];\r\n this.target.entity.ngaysinh = new ConvertDatePipe().transform(this.transformDate(infoCCCD[3]));\r\n this.target.entity.gioitinh = infoCCCD[4] === 'Nam' ? 1 : 0;\r\n this.target.entity.noicap = infoCCCD[5];\r\n // this.target.entity. = infoCCCD[0];\r\n }\r\n\r\n transformDate(d: string) {\r\n const arr = Array.from(d);\r\n if (arr.length === 4)\r\n return new Date(d);\r\n else {\r\n const str = [];\r\n str.push(arr[4]);\r\n str.push(arr[5]);\r\n str.push(arr[6]);\r\n str.push(arr[7]);\r\n str.push('-');\r\n str.push(arr[2]);\r\n str.push(arr[3]);\r\n str.push('-');\r\n str.push(arr[0]);\r\n str.push(arr[1]);\r\n\r\n return new Date(str.join(''));\r\n }\r\n }\r\n\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n Thêm mới khách thuê\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n Họ và tên là bắt buộc\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n Giới tính là bắt buộc\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n Họ và tên là bắt buộc\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n Điện thoại liên hệ là bắt buộc\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n Ngày/tháng/năm sinh là bắt buộc\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Thông tin CMTND/CCCD:\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Số CMTND/CCCD là bắt buộc\r\n
    \r\n
    \r\n
    \r\n
    \r\n Tỉnh là bắt buộc\r\n
    \r\n
    \r\n
    \r\n
    \r\n Huyện/ Thành phố là bắt buộc\r\n
    \r\n
    \r\n
    \r\n
    \r\n Xã/ Phương/ Thị trấn là bắt buộc\r\n
    \r\n
    \r\n
    \r\n Ngày cấp không được lớn hơn\r\n hoặc bằng ngày hiện tại\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { QLKhachQrcodeComponent } from './quan-ly-khach-qrcode/quan-ly-khach-qrcode.component';\r\nimport { QLNhaTroIndexComponent } from './quan-ly-nha-tro/quan-ly-nha-tro-index/quan-ly-nha-tro-index.component';\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n children: [\r\n { path: '', component: QLNhaTroIndexComponent },\r\n { path: 'khach-thue-create/:idnhatro', component: QLKhachQrcodeComponent },\r\n { path: 'khach-thue-create/:idnhatro/:idphong', component: QLKhachQrcodeComponent },\r\n ]\r\n }\r\n];\r\n","import {\r\n ApiResponse,\r\n AppCongAnApiService,\r\n NguoithueEntityApiResponse,\r\n NhaTroLocationModel,\r\n NhatroEntity,\r\n NhatroEntityApiResponse,\r\n NhatroEntityIEnumerableApiResponse,\r\n ObjectIEnumerableApiResponse,\r\n ObjectIEnumerablePageModelViewApiResponse,\r\n SearchModel,\r\n ShareModel,\r\n TaikhoanEntityApiResponse,\r\n} from './../../../@core/data/app-congan.service';\r\nimport { Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { STATUS_ACTION } from 'app/@core/customs/constants';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class QLNhaTroService {\r\n statusAction = STATUS_ACTION;\r\n constructor(private api: AppCongAnApiService) { }\r\n\r\n paging(body: SearchModel | undefined): Observable {\r\n return this.api.appCongAnApiV1NhaTroPagingCustom(body);\r\n }\r\n\r\n selectAll(): Observable {\r\n return this.api.appCongAnApiV1NhaTroSelectAllCus();\r\n }\r\n\r\n insert(body: NhatroEntity | undefined): Observable {\r\n return this.api.appCongAnApiV1NhaTroInsert(body);\r\n }\r\n\r\n selectOne(id: number): Observable {\r\n return this.api.appCongAnApiV1NhaTroSelectOne(id);\r\n }\r\n\r\n update(body: NhatroEntity | undefined): Observable {\r\n return this.api.appCongAnApiV1NhaTroUpdate(body);\r\n }\r\n\r\n delete(id: number): Observable {\r\n return this.api.appCongAnApiV1NhaTroDeleteCustom(id);\r\n }\r\n\r\n share(request: ShareModel): Observable {\r\n return this.api.appCongAnApiV1NhaTroShare(request);\r\n }\r\n\r\n DeleteListrecord(body: number[]): Observable {\r\n return this.api.appCongAnApiV1NhaTroDeleteListRecord(body);\r\n }\r\n\r\n confirm = (data: NhatroEntity, statusAction: number): Observable => {\r\n if (statusAction === STATUS_ACTION.create) {\r\n return this.insert(data);\r\n } else if (statusAction === STATUS_ACTION.edit) {\r\n return this.update(data);\r\n }\r\n }\r\n\r\n updateLocation(body: NhaTroLocationModel): Observable {\r\n return this.api.appCongAnApiV1NhaTroUpdateLocation(body);\r\n }\r\n\r\n SelectAllDiaBan(): Observable {\r\n return this.api.appCongAnApiV1DmDiaBanSelectAll();\r\n }\r\n\r\n getFolder(): string {\r\n return 'NhaTro';\r\n }\r\n\r\n getType(): number {\r\n return 1111;\r\n }\r\n\r\n getInforNguoiThue(data: string, isPhoneNumber: boolean): Observable {\r\n if (isPhoneNumber) {\r\n return this.api.appCongAnApiV1InforNguoiThueGetByPhone(data);\r\n } else {\r\n return this.api.appCongAnApiV1InforNguoiThueGetByIdentification(data);\r\n }\r\n }\r\n\r\n selectById(id: number): Observable {\r\n return this.api.appCongAnApiV1NhaTroSelectById(id);\r\n }\r\n\r\n getTaiKhoan(maxa: string) {\r\n return this.api.appCongAnApiV1TaiKhoanGetChuTroByXa(maxa);\r\n\r\n }\r\n getTaiKhoanById(id: number): Observable {\r\n return this.api.appCongAnApiV1TaiKhoanSelectOne(id);\r\n }\r\n}\r\n\r\nexport class ViewModelNhaTro {\r\n // ma: string;\r\n id: number;\r\n loaihinh: string;\r\n ten: string;\r\n tinh: string;\r\n huyen: string;\r\n xa: string;\r\n diachi: string;\r\n hoten: string;\r\n sdt: string;\r\n trangthai: number;\r\n unitcode: string;\r\n ngaytao: string;\r\n madiabankey: string;\r\n mota: string;\r\n motachitiet: string;\r\n anhdaidien: string;\r\n anh1: string;\r\n anh2: string;\r\n anh3: string;\r\n sotang: number;\r\n sophong: number;\r\n sodkkd: string;\r\n anhdkkd: string;\r\n gianiemyet: number;\r\n constructor(\r\n data?: ViewModelNhaTro\r\n ) {\r\n if (data) {\r\n // this.ma = data.ma;\r\n this.id = data.id;\r\n this.loaihinh = data.loaihinh;\r\n this.ten = data.ten;\r\n this.tinh = data.tinh;\r\n this.huyen = data.huyen;\r\n this.xa = data.xa;\r\n this.diachi = data.diachi;\r\n this.hoten = data.hoten;\r\n this.sdt = data.sdt;\r\n this.trangthai = data.trangthai;\r\n this.unitcode = data.unitcode;\r\n this.ngaytao = data.ngaytao;\r\n this.madiabankey = data.madiabankey;\r\n this.mota = data.mota;\r\n this.motachitiet = data.motachitiet;\r\n this.anhdaidien = data.anhdaidien;\r\n this.anh1 = data.anh1;\r\n this.anh2 = data.anh2;\r\n this.anh3 = data.anh3;\r\n this.sotang = data.sotang;\r\n this.sophong = data.sophong;\r\n this.sodkkd = data.sodkkd;\r\n this.anhdkkd = data.anhdkkd;\r\n this.gianiemyet = data.gianiemyet;\r\n }\r\n }\r\n}\r\n","import { CommonService } from 'app/@core/customs/common.service';\r\nimport { SUCCESS_RESPONSE, STATUS_ACTION, DUPLICATE_RESPONE } from 'app/@core/customs/constants';\r\nimport { QLNhaTroService, ViewModelNhaTro } from './../../quan-ly-nha-tro.service';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { PAGE_SIZE } from 'app/@core/customs/constants';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { QLNhaTroComponent } from '../quan-ly-nha-tro/quan-ly-nha-tro.component';\r\nimport { QLNhaTroMapsComponent } from '../quan-ly-nha-tro-maps/quan-ly-nha-tro-maps.component';\r\nimport { SearchModel } from 'app/@core/data/app-congan.service';\r\nimport { QLNhaTroShareComponent } from '../quan-ly-nha-tro-share/quan-ly-nha-tro-share.component';\r\nimport { QRCodeComponent } from '@progress/kendo-angular-barcodes';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { PDFExportComponent } from '@progress/kendo-angular-pdf-export';\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-nha-tro-index',\r\n templateUrl: './quan-ly-nha-tro-index.component.html',\r\n styleUrls: ['./quan-ly-nha-tro-index.component.scss']\r\n})\r\nexport class QLNhaTroIndexComponent implements OnInit {\r\n @ViewChild('qrcode')\r\n private qrcode: QRCodeComponent;\r\n @ViewChild('pdf')\r\n pdf: PDFExportComponent;\r\n constructor(\r\n private service: QLNhaTroService,\r\n private commonService: CommonService,\r\n private dialog: MatDialog,\r\n private router: Router,\r\n private route: ActivatedRoute\r\n ) { }\r\n\r\n totalPage: number;\r\n searchModel: SearchModel = new SearchModel({\r\n trangThai: null,\r\n sapXep: null,\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE,\r\n search: null,\r\n column: null,\r\n condition: null\r\n });\r\n\r\n initSearchModel() {\r\n this.searchModel.trangThai = 0;\r\n this.searchModel.sapXep = 0;\r\n }\r\n public listItemsLoainha: Array<{ text: string; value: number }> = [\r\n { text: \"Tất cả\", value: 0 },\r\n { text: \"Nhà trọ\", value: 1 },\r\n { text: \"Nhà thuê\", value: 2 },\r\n { text: \"Nhà nghỉ\", value: 3 },\r\n { text: \"Khách sạn\", value: 4 },\r\n ];\r\n public selectedvalueLoainha=0;\r\n target: any = {\r\n data: []\r\n };\r\n file: any[] = [];\r\n isLoading: boolean = true;\r\n lstDiaban: any[] = [];\r\n title: string = 'Quản lý danh sách Nhà trọ/ Nhà thuê/ Nhà nghỉ/ Khách sạn';\r\n environmentUrl: string;\r\n cax: boolean = false;\r\n ngOnInit(): void {\r\n this.environmentUrl = window.location.href.substring(0, window.location.href.indexOf('congan'));\r\n this.loadData();\r\n this.initSearchModel();\r\n this.commonService.getUserInfo().subscribe(res => {\r\n if (res.UnitCode) {\r\n this.cax = true;\r\n }\r\n })\r\n }\r\n\r\n loadData() {\r\n this.service.SelectAllDiaBan().subscribe(res => {\r\n this.lstDiaban = res.data;\r\n this.service.paging(this.searchModel).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.target = result.data;\r\n this.totalPage = result.data.totalPage;\r\n const data = result.data?.data;\r\n this.target.data = data.map(x => new ViewModelNhaTro({\r\n id: x.id,\r\n diachi: x.diachicuthe,\r\n sdt: x.dienthoai,\r\n loaihinh: x.loainhatro,\r\n hoten: x.tenchunhatro,\r\n ten: x.tennhatro,\r\n trangthai: x.trangthai,\r\n unitcode: '',\r\n tinh: x.tinh,\r\n huyen: x.huyen,\r\n xa: x.xa,\r\n ngaytao: x.ngaytao,\r\n madiabankey: x.madiabankey,\r\n mota: x.mota,\r\n motachitiet: x.motachitiet,\r\n anhdaidien: x.anhdaidien,\r\n anh1: x.anh1,\r\n anh2: x.anh2,\r\n anh3: x.anh3,\r\n sotang: x.sotang,\r\n sophong: x.sophong,\r\n sodkkd: x.sodkkd,\r\n anhdkkd: x.anhdkkd,\r\n gianiemyet: x.gianiemyet,\r\n }));\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n this.isLoading = false;\r\n });\r\n });\r\n }\r\n\r\n showNameDiaBan = (matinh, mahuyen, maxa, madiabankey) => {\r\n const tinh = this.lstDiaban.find(c => c.ma === matinh)?.ten ?? '';\r\n const huyen = this.lstDiaban.find(c => c.ma === mahuyen)?.ten ?? '';\r\n const xa = this.lstDiaban.find(c => c.ma === maxa)?.ten ?? '';\r\n const thon = this.lstDiaban.find(c => c.makey === madiabankey)?.ten ?? '';\r\n return `${thon}, ${xa}, ${huyen}, ${tinh}`;\r\n }\r\n\r\n searchPage() {\r\n this.searchModel.search = this.searchModel.search;\r\n this.searchModel.condition=this.selectedvalueLoainha.toString();\r\n // this.selectedvalueLoainha.forEach(element => {\r\n // this.searchModel.condition = this.searchModel.condition+ element.value +\",\";\r\n // });\r\n // if(this.searchModel.condition.length >0) this.searchModel.condition=this.searchModel.condition.substring(0,this.searchModel.condition.length-1);\r\n this.loadData();\r\n }\r\n\r\n openCreateDialog() {\r\n const title = `Thêm mới thông tin Nhà trọ/ Nhà thuê/ Nhà nghỉ/ Khách sạn`;\r\n this.dialog.open(QLNhaTroComponent, this.commonService.configDialog('60%', { id: null, title: title, action: STATUS_ACTION.create, cax: this.cax }))\r\n .afterClosed().subscribe(result => {\r\n this.loadData();\r\n });\r\n }\r\n\r\n detailData(item: ViewModelNhaTro) {\r\n const title = `Chi tiết thông tin Nhà trọ/ Nhà thuê/ Nhà nghỉ/ Khách sạn`;\r\n this.dialog.open(QLNhaTroComponent,\r\n this.commonService.configDialog('60%', { id: item.id, title: title, action: STATUS_ACTION.detail, data: item, cax: this.cax }))\r\n .afterClosed().subscribe(() => {\r\n this.loadData();\r\n });\r\n }\r\n\r\n editData(item: ViewModelNhaTro) {\r\n const title = `Sửa thông tin nhà trọ`;\r\n this.dialog.open(QLNhaTroComponent,\r\n this.commonService.configDialog('60%', { id: item.id, title: title, action: STATUS_ACTION.edit, data: item, cax: this.cax }))\r\n .afterClosed().subscribe(result => {\r\n this.loadData();\r\n });\r\n }\r\n\r\n deleteData(id: number) {\r\n this.dialog.open(QLNhaTroShareComponent,\r\n this.commonService.configDialog('20%', null)).afterClosed().subscribe(result => {\r\n if (result === true) {\r\n this.service.delete(id).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.loadData();\r\n } else if (res.code === DUPLICATE_RESPONE) {\r\n this.commonService.\r\n toastrWarning('Nhà trọ này đã được sử dụng ở nơi khác xin kiểm tra lại trước khi xóa!!!');\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n checkAll: boolean = false;\r\n eventChecked = (item) => {\r\n if (!item && this.target.data.length > 0) {\r\n this.target.data.forEach(c => {\r\n c.checked = this.checkAll;\r\n });\r\n } else {\r\n this.checkAll = this.target.data.filter(c => !c.checked).length === 0;\r\n }\r\n }\r\n\r\n deleteChecked = () => {\r\n const lstDelete = this.target.data?.filter(c => c.checked === true).map(x => x.id);\r\n if (lstDelete.length === 0) {\r\n return this.commonService.toastrWarning('Xin hãy chọn ít nhất 1 bản ghi!');\r\n }\r\n this.dialog.open(QLNhaTroShareComponent,\r\n this.commonService.configDialog('40%', null)).afterClosed().subscribe(result => {\r\n if (result === true) {\r\n this.service.DeleteListrecord(lstDelete).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Thành công!!!');\r\n this.loadData();\r\n } else if (res.code === DUPLICATE_RESPONE) {\r\n this.commonService.toastrWarning('Trong danh sách đã chọn có bản ghi đã được sử dụng chỗ khác!!!');\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n export(pdf, item: ViewModelNhaTro) {\r\n pdf.saveAs(`${item.ten}_QR Code.pdf`);\r\n }\r\n\r\n mapsDetail(item: ViewModelNhaTro){\r\n const title = `Địa chỉ nhà trọ`;\r\n this.dialog.open(QLNhaTroMapsComponent,\r\n this.commonService.configDialog('60%', { id: item.id, title: title, action: STATUS_ACTION.detail, data: item }))\r\n .afterClosed().subscribe(() => {\r\n });\r\n }\r\n\r\n}\r\n","\r\n \r\n
    \r\n
    \r\n

    {{ title }}

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n  \r\n \r\n \r\n {{ dataItem.value }}\r\n {{ dataItem.text }}\r\n \r\n \r\n\r\n  \r\n \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    STTIDTên nhà trọ/thuê/nghỉ/khách sạnĐịa chỉSố tầngSố phòngHành động
    \r\n {{ (i + 1) * searchModel.currentPage }}\r\n {{ item.id }}{{ item.ten }}\r\n {{ showNameDiaBan(item.tinh, item.huyen, item.xa, item.madiabankey) }}\r\n {{ item.sotang }}{{ item.sophong }}\r\n   \r\n   \r\n \r\n   \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {{ item.ten }}
    \r\n Đ/c: {{ showNameDiaBan(item.tinh, item.huyen, item.xa,\r\n item.madiabankey) }}
    \r\n SĐT: {{ item.sdt }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Đăng ký thuê\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n Trả phòng\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n Lưu ý về quy định về thông báo lưu trú, khai báo tạm trú\r\n
    \r\n
    \r\n
    \r\n 1.Đối với chủ nhà: \r\n \r\n 2.Đối với người thuê: \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n IOS (Iphone, Ipad)\r\n
    \r\n
    \r\n \r\n Android (SamSung, ...)\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    0\" class=\"row\">\r\n
    \r\n
    Tổng số bản ghi: {{ target?.recordsCount }}
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Không có dữ liệu.
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { DUPLICATE_RESPONE, STATUS_ACTION, ViewDiaBan } from './../../../../../@core/customs/constants';\r\nimport { NgForm } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { NhatroEntity } from './../../../../../@core/data/app-congan.service';\r\nimport { CommonService } from './../../../../../@core/customs/common.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { QLNhaTroService, ViewModelNhaTro } from '../../quan-ly-nha-tro.service';\r\nimport { TokenService } from 'app/@core/token.service';\r\nimport { IUserDataToken } from 'app/@core/auth.service';\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-nha-tro-maps',\r\n templateUrl: './quan-ly-nha-tro-maps.component.html',\r\n styleUrls: ['./quan-ly-nha-tro-maps.component.scss']\r\n})\r\nexport class QLNhaTroMapsComponent implements OnInit {\r\n\r\n constructor(\r\n public commonService: CommonService,\r\n public service: QLNhaTroService,\r\n private tokenService: TokenService,\r\n @Inject(MAT_DIALOG_DATA) public fromParent: {\r\n id: string,\r\n title: string,\r\n action: number,\r\n data: ViewModelNhaTro\r\n },\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n\r\n \r\n arr: ViewModelNhaTro[] = [];\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n \r\n \r\n}\r\n","\r\n \r\n
    \r\n
    \r\n Địa chỉ nhà trọ\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    ","import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { Component, Inject, Input, OnInit } from '@angular/core';\r\nimport { QLNhaTroService } from '../../quan-ly-nha-tro.service';\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-nha-tro-share',\r\n templateUrl: './quan-ly-nha-tro-share.component.html',\r\n styleUrls: ['./quan-ly-nha-tro-share.component.scss']\r\n})\r\nexport class QLNhaTroShareComponent implements OnInit {\r\n constructor(\r\n private service: QLNhaTroService,\r\n private commonService: CommonService,\r\n @Inject(MAT_DIALOG_DATA) public fromParent: { statusUnDo: boolean },\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n\r\n bCqnhanuoc: boolean;\r\n bNguoidan: boolean;\r\n title: string;\r\n ngOnInit(): void {\r\n this.title = 'Xác nhận xoá dữ liệu?';\r\n if (this.fromParent?.statusUnDo) {\r\n this.title = 'Xác nhận trả phòng?';\r\n }\r\n }\r\n\r\n confirm() {\r\n this.dialogRef.close(true);\r\n }\r\n\r\n close() {\r\n this.dialogRef.close(false);\r\n }\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n  Thông báo\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {{title}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { DUPLICATE_RESPONE, STATUS_ACTION, ViewDiaBan } from './../../../../../@core/customs/constants';\r\nimport { NgForm } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { NhatroEntity } from './../../../../../@core/data/app-congan.service';\r\nimport { CommonService } from './../../../../../@core/customs/common.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { QLNhaTroService, ViewModelNhaTro } from '../../quan-ly-nha-tro.service';\r\nimport { TokenService } from 'app/@core/token.service';\r\nimport { IUserDataToken } from 'app/@core/auth.service';\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-nha-tro',\r\n templateUrl: './quan-ly-nha-tro.component.html',\r\n styleUrls: ['./quan-ly-nha-tro.component.scss']\r\n})\r\nexport class QLNhaTroComponent implements OnInit {\r\n constructor(\r\n public commonService: CommonService,\r\n public service: QLNhaTroService,\r\n private tokenService: TokenService,\r\n @Inject(MAT_DIALOG_DATA)\r\n public fromParent: {\r\n id: string;\r\n title: string;\r\n action: number;\r\n data: ViewModelNhaTro;\r\n cax: boolean;\r\n huyen: string;\r\n xa: string;\r\n },\r\n private dialogRef: MatDialogRef\r\n ) {}\r\n\r\n type = 0;\r\n folder: string;\r\n strcmnd:string;\r\n types: number;\r\n listFileTemp: any[] = [];\r\n arr: ViewModelNhaTro[] = [];\r\n idnguoitao: number = null;\r\n\r\n target = {\r\n entity: new ViewModelNhaTro(),\r\n listDetail: [],\r\n listFile: []\r\n };\r\n lstDSDiaBan: any[] = [];\r\n lstTinh: ViewDiaBan[];\r\n lstHuyen: ViewDiaBan[];\r\n lstXa: ViewDiaBan[];\r\n userInfo: IUserDataToken;\r\n lstTaiKhoan: {\r\n hoten: string;\r\n id: number;\r\n sdt: string;\r\n cccd: string;\r\n }[] = [];\r\n unitcode: string = '';\r\n getDataInsert(): void {\r\n this.commonService.getUserInfo().subscribe((res) => {\r\n if (this.fromParent.cax) {\r\n this.unitcode = res.UnitCode;\r\n }\r\n });\r\n this.loadDiaBan();\r\n if ([STATUS_ACTION.edit, STATUS_ACTION.detail].indexOf(this.fromParent.action) > -1) {\r\n this.target.entity = this.fromParent.data;\r\n //this.target.entity.loaihinh = this.target.entity.loaihinh?.toString();\r\n this.ConvertBinarytoFile();\r\n } \r\n //else {\r\n // this.target.entity.loaihinh = '1'; // 1: là nhà trọ\r\n // // this.target.entity.tinh = 24 + ''; // 24: là tỉnh bắc giang;\r\n // }\r\n }\r\n\r\n thongTincanhan: any = null;\r\n selectedLoaihinhnha = 1;\r\n loaihinhNhaThue = [\r\n { id: 1, name: 'Nhà trọ' },\r\n { id: 2, name: 'Nhà thuê' },\r\n { id: 3, name: 'Nhà nghỉ' },\r\n { id: 4, name: 'Khách sạn' },\r\n];\r\n\r\n ngOnInit(): void { \r\n this.initRow();\r\n this.getDataInsert();\r\n this.folder = this.service.getFolder();\r\n this.type = this.service.getType();\r\n this.tokenService.getUserInfo().subscribe((result) => {\r\n this.userInfo = result;\r\n });\r\n\r\n this.target.entity.sdt = this.userInfo.UserName;\r\n this.target.entity.hoten = this.userInfo.FullName;\r\n if (this.fromParent.cax) {\r\n this.loadTaiKhoan();\r\n } else {\r\n this.service.getTaiKhoanById(this.userInfo.Id).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.thongTincanhan = res.data;\r\n }\r\n });\r\n }\r\n }\r\n initRow() {\r\n const item: ViewModelNhaTro = new ViewModelNhaTro();\r\n this.arr.push(item);\r\n }\r\n\r\n loadTaiKhoan() {\r\n this.service.getTaiKhoan(this.userInfo.UnitCode).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstTaiKhoan = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n addRow(): void {\r\n const item: ViewModelNhaTro = new ViewModelNhaTro();\r\n this.arr.push(item);\r\n }\r\n\r\n removeRow(rowIndex: number): void {\r\n this.arr.splice(rowIndex, 1);\r\n }\r\n create(frm: NgForm) {\r\n let thongtinchutro;\r\n if (this.fromParent.cax) {\r\n thongtinchutro = this.lstTaiKhoan.find((c) => c.id === this.idnguoitao);\r\n }\r\n\r\n if(this.thongTincanhan!=null)this.strcmnd=this.thongTincanhan.cmnd;\r\n else this.strcmnd=thongtinchutro.cccd;\r\n const postData = new NhatroEntity({\r\n id: this.target.entity.id,\r\n diachicuthe: this.target.entity.diachi,\r\n dienthoai: this.fromParent.cax ? thongtinchutro.sdt : this.target.entity.sdt,\r\n idnguoitao: this.fromParent.cax ? thongtinchutro.id : this.userInfo?.Id,\r\n loainhatro: Number(this.selectedLoaihinhnha ?? 1),\r\n ngaytao: new Date(),\r\n tenchunhatro: this.fromParent.cax ? thongtinchutro.hoten : this.target.entity.hoten,\r\n tennhatro: this.target.entity.ten,\r\n trangthai: 1,\r\n tinh: this.target.entity.tinh,\r\n huyen: this.target.entity.huyen,\r\n xa: this.target.entity.xa,\r\n madiabankey: this.target.entity.madiabankey,\r\n mota: this.target.entity.mota,\r\n motachitiet: this.target.entity.motachitiet,\r\n anhdaidien: this.target.entity.anhdaidien ? btoa(this.target.entity.anhdaidien) : null,\r\n anh1: this.target.entity.anh1 ? btoa(this.target.entity.anh1) : null,\r\n anh2: this.target.entity.anh2 ? btoa(this.target.entity.anh2) : null,\r\n anh3: this.target.entity.anh3 ? btoa(this.target.entity.anh3) : null,\r\n sotang: this.target.entity.sotang,\r\n sophong: this.target.entity.sophong,\r\n sodkkd: this.target.entity.sodkkd,\r\n anhdkkd: this.target.entity.anhdkkd ? btoa(this.target.entity.anhdkkd) : null,\r\n cccdchutro: this.strcmnd,//this.thongTincanhan.cmnd ? thongtinchutro.cccd,\r\n gianiemyet: this.target.entity.gianiemyet,\r\n });\r\n this.service.confirm(postData, this.fromParent.action).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close(true);\r\n } else if (result.code === DUPLICATE_RESPONE) {\r\n this.commonService.toastrWarning('Tên đã tồn tại trên hệ thống !');\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n getMatinh(lst, unitcode, level): string {\r\n let a = lst.find((c) => c.ma === unitcode);\r\n if (a && a.macha && a.loai > level) {\r\n return this.getMatinh(lst, a.macha, level);\r\n } else {\r\n return unitcode;\r\n }\r\n }\r\n loadDiaBan = () => {\r\n this.service.SelectAllDiaBan().subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstDSDiaBan = result.data.map((x) => {\r\n return {\r\n ma: x.ma,\r\n ten: x.ten,\r\n macha: x.maCha,\r\n loai: x.level,\r\n madiabankey: x.makey\r\n };\r\n });\r\n this.target.entity.tinh = this.target.entity.tinh ?? this.getMatinh(this.lstDSDiaBan, this.unitcode, 1);\r\n\r\n this.lstTinh = this.lstDSDiaBan\r\n .filter((c) => c.loai === 1)\r\n .map(\r\n (x) =>\r\n new ViewDiaBan({\r\n id: x.id,\r\n ma: x.ma,\r\n ten: x.ten,\r\n macha: x.macha,\r\n madiabankey: x.madiabankey\r\n })\r\n );\r\n this.lstHuyen = this.lstDSDiaBan\r\n .filter((c) => c.loai === 2 && c.macha === this.target.entity.tinh)\r\n .map(\r\n (x) =>\r\n new ViewDiaBan({\r\n id: x.id,\r\n ma: x.ma,\r\n ten: x.ten,\r\n macha: x.macha,\r\n madiabankey: x.madiabankey\r\n })\r\n );\r\n \r\n this.target.entity.huyen = this.target.entity.huyen ?? this.getMatinh(this.lstDSDiaBan, this.unitcode, 2);\r\n this.target.entity.xa = this.target.entity.xa ?? this.getMatinh(this.lstDSDiaBan, this.unitcode, 3);\r\n this.target.entity.madiabankey = this.target.entity.madiabankey ?? this.getMatinh(this.lstDSDiaBan, this.unitcode, 4);\r\n if (this.fromParent.cax) this.target.entity.huyen = this.lstDSDiaBan.find((c) => c.ma === this.target.entity.xa).macha;\r\n if (this.target.entity.huyen) {\r\n this.lstXa = this.lstDSDiaBan.filter((x) => x.macha === this.target.entity.huyen);\r\n }\r\n\r\n if (this.target.entity.xa) {\r\n this.lstXom = this.lstDSDiaBan.filter((x) => x.macha === this.target.entity.xa);\r\n }\r\n }\r\n });\r\n };\r\n\r\n getlistHuyen = (matinh) => {\r\n this.lstHuyen = [];\r\n this.target.entity.huyen = null;\r\n this.lstHuyen = this.lstDSDiaBan.filter((x) => x.macha === this.target.entity.tinh);\r\n };\r\n\r\n getlistXa = (mahuyen) => {\r\n this.lstXa = [];\r\n this.target.entity.xa = null;\r\n this.lstXa = this.lstDSDiaBan.filter((x) => x.macha === mahuyen);\r\n };\r\n\r\n lstXom: any[] = [];\r\n getListThon = (maxa) => {\r\n this.lstXom = [];\r\n this.target.entity.madiabankey = null;\r\n this.lstXom = this.lstDSDiaBan.filter((x) => x.macha === maxa);\r\n };\r\n\r\n listFileTemp1: any[] = [];\r\n listFileTemp2: any[] = [];\r\n listFileTemp3: any[] = [];\r\n listFileTemp4: any[] = [];\r\n listFileTemp5: any[] = [];\r\n\r\n handleFileInput(files: FileList, numImg: number) {\r\n this.setValueFile(files[0]).then((result) => {\r\n if (numImg === 1) {\r\n this.listFileTemp1 = result.showValue;\r\n this.target.entity.anhdaidien = result.saveValue;\r\n } else if (numImg === 2) {\r\n this.listFileTemp2 = result.showValue;\r\n this.target.entity.anh1 = result.saveValue;\r\n } else if (numImg === 3) {\r\n this.listFileTemp3 = result.showValue;\r\n this.target.entity.anh2 = result.saveValue;\r\n } else if (numImg === 4) {\r\n this.listFileTemp4 = result.showValue;\r\n this.target.entity.anh3 = result.saveValue;\r\n } else if (numImg === 5) {\r\n this.listFileTemp5 = result.showValue;\r\n this.target.entity.anhdkkd = result.saveValue;\r\n }\r\n });\r\n }\r\n\r\n async setValueFile(file) {\r\n const data = {\r\n saveValue: (await this.commonService.encodeFile(file)) + '',\r\n showValue: [{ type: this.type, fileName: file.name, data: file }]\r\n };\r\n return data;\r\n }\r\n\r\n deleteFile(file: any, numImg: number) {\r\n if (numImg === 1) {\r\n const index = this.listFileTemp1.indexOf(file);\r\n if (index !== -1) {\r\n this.listFileTemp1.splice(index, 1);\r\n this.target.entity.anhdaidien = null;\r\n }\r\n } else if (numImg === 2) {\r\n const index = this.listFileTemp2.indexOf(file);\r\n if (index !== -1) {\r\n this.listFileTemp2.splice(index, 1);\r\n this.target.entity.anh1 = null;\r\n }\r\n } else if (numImg === 3) {\r\n const index = this.listFileTemp3.indexOf(file);\r\n if (index !== -1) {\r\n this.listFileTemp3.splice(index, 1);\r\n this.target.entity.anh2 = null;\r\n }\r\n } else if (numImg === 4) {\r\n const index = this.listFileTemp4.indexOf(file);\r\n if (index !== -1) {\r\n this.listFileTemp4.splice(index, 1);\r\n this.target.entity.anh3 = null;\r\n }\r\n } else if (numImg === 5) {\r\n const index = this.listFileTemp5.indexOf(file);\r\n if (index !== -1) {\r\n this.listFileTemp5.splice(index, 1);\r\n this.target.entity.anhdkkd = null;\r\n }\r\n }\r\n }\r\n\r\n ConvertBinarytoFile = () => {\r\n if (this.target.entity.anhdaidien) {\r\n this.target.entity.anhdaidien = atob(this.target.entity.anhdaidien);\r\n // const file = this.commonService.decodeFile(this.target.entity.imgcmndBefore, 'imgcmndBefore');\r\n // this.listFileTemp1 = [{ type: this.type, fileName: file.name, data: file }];\r\n fetch(this.target.entity.anhdaidien)\r\n .then((res) => res.blob())\r\n .then((blob) => {\r\n const file = new File([blob], 'anhdaidien', { type: 'image/png' });\r\n this.listFileTemp1 = [{ type: this.type, fileName: file.name, data: file }];\r\n });\r\n }\r\n if (this.target.entity.anh1) {\r\n this.target.entity.anh1 = atob(this.target.entity.anh1);\r\n // const file = this.commonService.decodeFile(this.target.entity.imgcmndAfter, 'imgcmndAfter');\r\n // this.listFileTemp2 = [{ type: this.type, fileName: file.name, data: file }];\r\n fetch(this.target.entity.anh1)\r\n .then((res) => res.blob())\r\n .then((blob) => {\r\n const file = new File([blob], 'anh1', { type: 'image/png' });\r\n this.listFileTemp2 = [{ type: this.type, fileName: file.name, data: file }];\r\n });\r\n }\r\n if (this.target.entity.anh2) {\r\n this.target.entity.anh2 = atob(this.target.entity.anh2);\r\n // const file = this.commonService.decodeFile(this.target.entity.imgcmndAfter, 'imgchandung');\r\n // this.listFileTemp3 = [{ type: this.type, fileName: file.name, data: file }];\r\n fetch(this.target.entity.anh2)\r\n .then((res) => res.blob())\r\n .then((blob) => {\r\n const file = new File([blob], 'anh2', { type: 'image/png' });\r\n this.listFileTemp3 = [{ type: this.type, fileName: file.name, data: file }];\r\n });\r\n }\r\n if (this.target.entity.anh3) {\r\n this.target.entity.anh3 = atob(this.target.entity.anh3);\r\n // const file = this.commonService.decodeFile(this.target.entity.imgcmndAfter, 'imgchandung');\r\n // this.listFileTemp3 = [{ type: this.type, fileName: file.name, data: file }];\r\n fetch(this.target.entity.anh3)\r\n .then((res) => res.blob())\r\n .then((blob) => {\r\n const file = new File([blob], 'anh3', { type: 'image/png' });\r\n this.listFileTemp4 = [{ type: this.type, fileName: file.name, data: file }];\r\n });\r\n }\r\n if (this.target.entity.anhdkkd) {\r\n this.target.entity.anhdkkd = atob(this.target.entity.anhdkkd);\r\n // const file = this.commonService.decodeFile(this.target.entity.imgcmndAfter, 'imgchandung');\r\n // this.listFileTemp3 = [{ type: this.type, fileName: file.name, data: file }];\r\n fetch(this.target.entity.anhdkkd)\r\n .then((res) => res.blob())\r\n .then((blob) => {\r\n const file = new File([blob], 'anhdkkd', { type: 'image/png' });\r\n this.listFileTemp5 = [{ type: this.type, fileName: file.name, data: file }];\r\n });\r\n }\r\n };\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n {{ fromParent.title }}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    Tên tài khoản là bắt buộc
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    Tên nhà trọ là bắt buộc
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n Huyện/ Thành phố là bắt buộc\r\n
    \r\n \r\n \r\n\r\n\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n Xã/ Phương/ Thị trấn là bắt buộc\r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n Xã/ Phương/ Thị trấn là bắt buộc\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
  • \r\n \r\n {{ file.fileName }}\r\n
  • \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n
  • \r\n \r\n {{ file.fileName }}\r\n
  • \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n
  • \r\n \r\n {{ file.fileName }}\r\n
  • \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n
  • \r\n \r\n {{ file.fileName }}\r\n
  • \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n
  • \r\n \r\n {{ file.fileName }}\r\n
  • \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { STATUS_PROCESS, SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { QuanLyPhanAnhTbService } from '../quan-ly-phan-anh-tb.service';\r\n\r\n@Component({\r\n selector: 'ngx-patb-detail',\r\n templateUrl: './patb-detail.component.html',\r\n styleUrls: ['./patb-detail.component.scss']\r\n})\r\nexport class PatbDetailComponent implements OnInit {\r\n\r\n @Input() key: number;\r\n @Input() isApprove: boolean;\r\n constructor(\r\n private service: QuanLyPhanAnhTbService,\r\n private commonService: CommonService,\r\n ) { }\r\n\r\n target: any = {};\r\n status = STATUS_PROCESS;\r\n\r\n ngOnInit(): void {\r\n this.loadData();\r\n }\r\n\r\n loadData() {\r\n this.service.selectByKey(this.key).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target = res.data;\r\n if (this.target.anh) {\r\n this.target.anh = atob(this.target.anh);\r\n }\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n getDescription(item: any): string {\r\n if (!item) return '';\r\n if (item.mota && item.idtrangthai !== STATUS_PROCESS.NhoHoTro) {\r\n return item.mota;\r\n } else if (item.mota && item.idtrangthai === STATUS_PROCESS.NhoHoTro) {\r\n return item.mota;\r\n }\r\n return item.tentrangthaixuly;\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n \r\n
    \r\n
    \r\n
     THÔNG TIN
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Tiêu đề: {{ target.tieude }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Lĩnh vực: {{ target.tenlinhvuc }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Thời gian gửi: \r\n {{ target.ngayguigopy | date : \"HH:mm dd/MM/yyyy\" }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Địa điểm: {{ target.diachi }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Địa điểm cụ thể: {{ target.diadiem }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Ảnh đính kèm:
    \r\n \"\"\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n  THÔNG TIN CÁ NHÂN GỬI PHẢN ÁNH/TRÌNH\r\n BÁO\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Người phản ánh: {{ target.tenthanhvien }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Số điện thoại: \r\n {{\r\n target.sdtthanhvien\r\n }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n  NỘI DUNG CHI TIẾT PHẢN\r\n ÁNH/TRÌNH BÁO\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {{ target.noidung }}\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n  NỘI DUNG PHẢN HỒI\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {{ target.noidungphanhoi }}\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    {{ i + 1 }}
    \r\n
    \r\n
    \r\n

    \r\n  {{\r\n item.thoigian | date : \"HH:mm dd/MM/yyyy\"\r\n }}\r\n

    \r\n

     Tiếp nhận

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    {{ i + 1 }}
    \r\n
    \r\n
    \r\n

    \r\n  {{\r\n item.thoigian | date : \"HH:mm dd/MM/yyyy\"\r\n }}\r\n

    \r\n

    \r\n  \r\n \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n

    \r\n  {{\r\n item.thoigian | date : \"HH:mm dd/MM/yyyy\"\r\n }}\r\n

    \r\n

    \r\n  \r\n

    \r\n
    \r\n \r\n
    {{ i + 1 }}
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { ThongKePatbComponent } from './thong-ke-patb/thong-ke-patb.component';\r\nimport { HoTroComponent } from './xu-ly-patb/ho-tro/ho-tro.component';\r\nimport { PhanCongXlComponent } from './xu-ly-patb/phan-cong-xl/phan-cong-xl.component';\r\nimport { PheDuyetPatbComponent } from './xu-ly-patb/phe-duyet-patb/phe-duyet-patb.component';\r\nimport { XlCuaToiComponent } from './xu-ly-patb/xl-cua-toi/xl-cua-toi.component';\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: 'thong-ke',\r\n component: ThongKePatbComponent,\r\n },\r\n {\r\n path: 'xu-ly',\r\n children: [\r\n {\r\n path: 'phan-cong',\r\n component: PhanCongXlComponent,\r\n },\r\n {\r\n path: 'xl-cua-toi',\r\n component: XlCuaToiComponent,\r\n },\r\n {\r\n path: 'ho-tro',\r\n component: HoTroComponent,\r\n },\r\n {\r\n path: 'phe-duyet',\r\n component: PheDuyetPatbComponent,\r\n },\r\n ]\r\n }\r\n\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class QuanLyPhanAnhTbRoutingModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n AppCongAnApiService,\r\n ObjectIEnumerableApiResponse,\r\n PhanAnhTrinhBaoSearchModel,\r\n SysunitLevelModelIEnumerableApiResponse\r\n} from 'app/@core/data/app-congan.service';\r\nimport { Observable } from 'rxjs';\r\nimport { __assign } from 'tslib';\r\nimport {\r\n ApiResponse,\r\n AppGopyApiService,\r\n DonviphoihopxulyEntityApiResponse,\r\n FeedbackContentModel,\r\n ObjectApiResponse,\r\n ObjectIEnumerablePageModelViewApiResponse,\r\n RejectFeedbackModel,\r\n RequestApproveFeedbackModel,\r\n ThucHienPhanCongXuLyGopYModel\r\n} from '../../../@core/data/app-gopy.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class QuanLyPhanAnhTbService {\r\n constructor(\r\n private api: AppCongAnApiService,\r\n private gopyApi: AppGopyApiService\r\n ) { }\r\n\r\n paging(body: FeedbackContentModel): Observable {\r\n return this.gopyApi.appGopyApiV1ThongKeGopYPagingData(body);\r\n }\r\n\r\n selectByKey(key: number): Observable {\r\n return this.gopyApi.appGopyApiV1ThongKeGopYSelectByKey(key);\r\n }\r\n\r\n getListDonVi(body: PhanAnhTrinhBaoSearchModel): Observable {\r\n return this.api.appCongAnApiV1PhanAnhTrinhBaoGetDonViXuLy(body);\r\n }\r\n\r\n reportSpam(key: number): Observable {\r\n return this.gopyApi.appGopyApiV1ThongKeGopYTrash(key);\r\n }\r\n\r\n assign(body: ThucHienPhanCongXuLyGopYModel): Observable {\r\n return this.gopyApi.appGopyApiV1PhanCongAssignHandle(body);\r\n }\r\n\r\n reject(body: RejectFeedbackModel): Observable {\r\n return this.gopyApi.appGopyApiV1XuLyGopYRejectFeedback(body);\r\n }\r\n\r\n select(idNoidung: number): Observable {\r\n return this.gopyApi.appGopyApiV1XuLyGopYSelecDonviXuly(idNoidung);\r\n }\r\n\r\n requestApprove(body: RequestApproveFeedbackModel): Observable {\r\n return this.gopyApi.appGopyApiV1XuLyGopYRequestApproveFeedback(body);\r\n }\r\n\r\n getListUnit(): Observable {\r\n return this.api.appCongAnApiV1PhanAnhTrinhBaoGetListUnit();\r\n }\r\n\r\n approve(body: number): Observable {\r\n return this.gopyApi.appGopyApiV1PheDuyetGopYApproveFeedback(body);\r\n }\r\n\r\n rejectApprove(body: number): Observable {\r\n return this.gopyApi.appGopyApiV1PheDuyetGopYRejectFeedback(body);\r\n }\r\n\r\n deleteSpam(key: number): Observable {\r\n return this.gopyApi.appGopyApiV1ThongKeGopYDeleteSpam(key);\r\n }\r\n\r\n getListStatus(): Observable {\r\n return this.gopyApi.appGopyApiV1TrangThaiSelectAll()\r\n }\r\n\r\n getListField(): Observable {\r\n return this.gopyApi.appGopyApiV1DmLinhVucSelectAll()\r\n }\r\n\r\n}","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FUNCTION_TEXT } from 'app/@core/customs/constants';\r\n\r\n@Component({\r\n selector: 'thong-ke-patb-detail',\r\n templateUrl: './thong-ke-patb-detail.component.html'\r\n})\r\nexport class ThongKePatbDetailComponent implements OnInit {\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public dataRef: { key: number }\r\n ) { }\r\n\r\n _title: string = FUNCTION_TEXT.TK_PHANANH_TB_CHITIET;\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","\r\n \r\n
    \r\n
    \r\n {{ _title }}\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, OnInit } from '@angular/core';\r\nimport { CommonService, ConvertDatePipe } from 'app/@core/customs/common.service';\r\nimport { SUCCESS_RESPONSE, FUNCTION_TEXT, PAGE_SIZE, STATUS_PROCESS, NOTFOUND_RESPONE, ActivityStatus } from 'app/@core/customs/constants';\r\nimport { Workbook } from 'exceljs';\r\nimport { QuanLyPhanAnhTbService } from '../quan-ly-phan-anh-tb.service';\r\nimport * as fs from 'file-saver';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ThongKePatbDetailComponent } from './thong-ke-patb-detail/thong-ke-patb-detail.component';\r\nimport { FeedbackContentModel } from 'app/@core/data/app-gopy.service';\r\nimport { DeleteDialogComponent } from 'app/@theme/components/template/dialog/delete/delete-dialog.component';\r\nimport { FieldModel, StatusModel } from '../quan-ly-phan-anh-tb.model';\r\n\r\n@Component({\r\n selector: 'thong-ke-patb',\r\n templateUrl: './thong-ke-patb.component.html'\r\n})\r\nexport class ThongKePatbComponent implements OnInit {\r\n\r\n constructor(\r\n private service: QuanLyPhanAnhTbService,\r\n private commonService: CommonService,\r\n private dialog: MatDialog\r\n ) { }\r\n\r\n pageModel: FeedbackContentModel = new FeedbackContentModel({\r\n unitCode: null,\r\n provinceCode: null,\r\n districtCode: null,\r\n wardCode: null,\r\n processStatus: null,\r\n field: null,\r\n fromDate: null,\r\n toDate: null,\r\n search: null,\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE\r\n });\r\n _title: string = FUNCTION_TEXT.TK_PHANANH_TB;\r\n\r\n target: any = {\r\n data: []\r\n };\r\n convertDatePipe: ConvertDatePipe = new ConvertDatePipe();\r\n STATUS_PROCESS = STATUS_PROCESS;\r\n lstStatus: StatusModel[] = [];\r\n lstField: FieldModel[] = [];\r\n\r\n async ngOnInit(): Promise {\r\n this.getListStatus();\r\n this.getListField();\r\n\r\n await this.getUserInfo();\r\n this.loadData();\r\n }\r\n\r\n async getUserInfo() {\r\n const res = await this.commonService.getUserInfo().toPromise();\r\n this.pageModel.unitCode = res.UnitCode;\r\n this.pageModel.condition = \"4\";\r\n switch (res.CapDonVi) {\r\n case 1:\r\n this.pageModel.provinceCode = res.UnitCode;\r\n break;\r\n case 2:\r\n this.pageModel.districtCode = res.UnitCode;\r\n break;\r\n case 3:\r\n this.pageModel.wardCode = res.UnitCode;\r\n break;\r\n }\r\n }\r\n\r\n loadData() {\r\n this.service.paging(this.mappingSearchModel()).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n getListStatus() {\r\n this.service.getListStatus().subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstStatus = res.data.filter(c => c.status === ActivityStatus.Active\r\n && (c.id === STATUS_PROCESS.TinRac\r\n || c.id === STATUS_PROCESS.ChoXuLy\r\n || (c.id >= STATUS_PROCESS.TuChoiHoTro && c.id <= STATUS_PROCESS.NhoHoTro)));\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n getListField() {\r\n this.service.getListField().subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstField = res.data.filter(c => c.trangthai === ActivityStatus.Active);;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n searchPage() {\r\n this.pageModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n changeSearch() {\r\n if (!this.pageModel.search) {\r\n this.searchPage();\r\n }\r\n }\r\n\r\n openDetailDialog(key: number) {\r\n this.dialog.open(ThongKePatbDetailComponent, this.commonService.configDialog('70%', { key: key })).afterClosed().subscribe();\r\n }\r\n\r\n export() {\r\n const workbook = new Workbook();\r\n const worksheet = workbook.addWorksheet();\r\n\r\n worksheet.columns = [\r\n { header: [this._title, '', 'STT'], key: 'index', width: 7 },\r\n { header: [this._title, '', 'Tên chủ đề'], key: 'tieude', width: 50 },\r\n { header: [this._title, '', 'Địa điểm'], key: 'diadiem', width: 50 },\r\n { header: [this._title, '', 'Thời điểm'], key: 'ngayguigopy', width: 35 },\r\n { header: [this._title, '', 'Trạng thái'], key: 'tentrangthaixl', width: 40 },\r\n { header: [this._title, '', 'Người báo'], key: 'tenthanhvien', width: 45 },\r\n ];\r\n\r\n const searchAllModel = this.mappingSearchModel();\r\n searchAllModel.pageSize = 0;\r\n this.service.paging(searchAllModel).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n res.data.data?.forEach((e, index) => {\r\n const ngayguigopy = this.convertDatePipe.convertDateToDateString(e.ngayguigopy);\r\n const thoigianphanhoi = this.convertDatePipe.convertDateToDateString(e.thoigianphanhoi);\r\n worksheet.addRow({\r\n index: index + 1,\r\n tieude: e.tieude,\r\n diadiem: e.diadiem,\r\n ngayguigopy: `Thời gian phản ánh: ${ngayguigopy}\\r\\nThời gian tiếp nhận cuối: ${thoigianphanhoi}`,\r\n tentrangthaixl: `Trạng thái: ${e.tentrangthaixl}\\r\\nLĩnh vực: ${e.tenlinhvuc}`,\r\n tenthanhvien: `Họ và tên: ${e.tenthanhvien}\\r\\nSĐT: ${e.sdtthanhvien}`,\r\n }, 'n');\r\n });\r\n\r\n this.commonService.setStyleExport(worksheet, 1, 6, 3, 3, [1], []);\r\n\r\n workbook.xlsx.writeBuffer().then((data) => {\r\n const blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n fs.saveAs(blob, this._title + '.xlsx');\r\n });\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n openDeleteDialog(item: any) {\r\n this.dialog.open(DeleteDialogComponent,\r\n this.commonService.configDialog('30%', `Bạn có muốn xóa tin rác ${item.tieude}?`))\r\n .afterClosed().subscribe((dialog) => {\r\n if (dialog) {\r\n this.deleteSpam(item.id);\r\n }\r\n });\r\n }\r\n\r\n deleteSpam(id: number) {\r\n this.service.deleteSpam(id).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.loadData();\r\n } else if (res.code === NOTFOUND_RESPONE) {\r\n this.commonService.toastrWarning(res.message);\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n mappingSearchModel(): FeedbackContentModel {\r\n return new FeedbackContentModel({\r\n provinceCode: this.pageModel.provinceCode,\r\n districtCode: this.pageModel.districtCode,\r\n wardCode: this.pageModel.wardCode,\r\n processStatus: this.pageModel.processStatus,\r\n field: this.pageModel.field,\r\n fromDate: this.pageModel.fromDate ? new Date(this.pageModel.fromDate) : null,\r\n toDate: this.pageModel.toDate ? new Date(this.pageModel.toDate) : null,\r\n search: this.pageModel.search,\r\n currentPage: this.pageModel.currentPage,\r\n pageSize: this.pageModel.pageSize\r\n });\r\n }\r\n\r\n}\r\n","\r\n \r\n
    \r\n
    \r\n {{ _title }}\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    STTTên chủ đềĐịa điểmThời điểmTrạng tháiNgười báoHành động
    \r\n {{ (pageModel.currentPage - 1) * pageModel.pageSize + i + 1 }}\r\n {{ item.tieude }}{{ item.diadiem }}\r\n Thời gian phản ánh: {{ item.ngayguigopy | date : 'HH:mm dd/MM/yyyy' }}
    \r\n Thời gian tiếp nhận cuối: {{ item.thoigianphanhoi | date : 'HH:mm dd/MM/yyyy' }}
    \r\n
    \r\n Trang thái: {{ item.tentrangthaixl }}
    \r\n Lĩnh vực: {{ item.tenlinhvuc }}\r\n
    \r\n Họ và tên: {{ item.tenthanhvien }}
    SĐT: \r\n {{ item.sdtthanhvien }}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Không có dữ liệu.
    \r\n
    \r\n
    \r\n
    0\" class=\"row\">\r\n
    \r\n
    Tổng số bản ghi: {{ target?.recordsCount }}
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { NbTabComponent } from '@nebular/theme';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { FUNCTION_TEXT, RejectType, SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { SysunitLevelModel } from 'app/@core/data/app-congan.service';\r\nimport { RejectFeedbackModel, RequestApproveFeedbackModel } from 'app/@core/data/app-gopy.service';\r\nimport { DeleteDialogComponent } from 'app/@theme/components/template/dialog/delete/delete-dialog.component';\r\nimport { QuanLyPhanAnhTbService } from '../../../quan-ly-phan-anh-tb.service';\r\n\r\n@Component({\r\n selector: 'ho-tro-process',\r\n templateUrl: './ho-tro-process.component.html'\r\n})\r\nexport class HoTroProcessComponent implements OnInit {\r\n\r\n constructor(\r\n private service: QuanLyPhanAnhTbService,\r\n private commonService: CommonService,\r\n private dialog: MatDialog,\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public dataRef: { key: number, title: string }\r\n ) { }\r\n\r\n _title: string = FUNCTION_TEXT.XULY_HOTRO_XL;\r\n tabIndex: number = 0;\r\n model: RequestApproveFeedbackModel = new RequestApproveFeedbackModel({\r\n feedbackId: this.dataRef.key,\r\n status: null,\r\n responseFeedback: null,\r\n supportUnit: null,\r\n });\r\n isResolved: boolean = false;\r\n lstUnit: SysunitLevelModel[] = [];\r\n rejectModel: RejectFeedbackModel = new RejectFeedbackModel({\r\n feedbackId: this.dataRef.key,\r\n type: RejectType.Suport\r\n });\r\n\r\n ngOnInit(): void {\r\n this.getListUnit();\r\n this.selectOne();\r\n }\r\n\r\n noidung: string = '';\r\n selectOne() {\r\n this.service.select(this.dataRef.key).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.noidung = res.data.mota;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n })\r\n }\r\n\r\n getListUnit() {\r\n this.service.getListUnit().subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstUnit = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n changeTab(event: NbTabComponent) {\r\n this.tabIndex = Number(event.tabId);\r\n }\r\n\r\n request() {\r\n if (this.isResolved) this.model.status = 1; // gửi phê duyệt\r\n this.dialog.open(DeleteDialogComponent,\r\n this.commonService.configDialog('30%', `Xác nhận gửi nội dung hỗ trợ phản ánh/trình báo ${this.dataRef.title}?`))\r\n .afterClosed().subscribe((dialog) => {\r\n if (dialog) {\r\n this.callRequest();\r\n }\r\n });\r\n }\r\n\r\n callRequest() {\r\n this.service.requestApprove(this.model).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Gửi phê duyệt thành công');\r\n this.dialogRef.close(true);\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n this.dialogRef.close(false);\r\n }\r\n });\r\n }\r\n\r\n reject() {\r\n this.dialog.open(DeleteDialogComponent,\r\n this.commonService.configDialog('30%', `Bạn có muốn từ chối hỗ trợ góp ý ${this.dataRef.title}?`))\r\n .afterClosed().subscribe((dialog) => {\r\n if (dialog) {\r\n this.callReject();\r\n }\r\n });\r\n }\r\n\r\n callReject() {\r\n this.service.reject(this.rejectModel).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Từ chối hỗ trợ góp ý thành công');\r\n this.dialogRef.close(true);\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n this.dialogRef.close(false);\r\n }\r\n });\r\n }\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n {{ _title }}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n  \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { PAGE_SIZE, FUNCTION_TEXT, SUCCESS_RESPONSE, ActivityStatus, STATUS_PROCESS } from 'app/@core/customs/constants';\r\nimport { FeedbackContentModel } from 'app/@core/data/app-gopy.service';\r\nimport { StatusModel, FieldModel } from '../../quan-ly-phan-anh-tb.model';\r\nimport { QuanLyPhanAnhTbService } from '../../quan-ly-phan-anh-tb.service';\r\nimport { HoTroProcessComponent } from './ho-tro-process/ho-tro-process.component';\r\n\r\n@Component({\r\n selector: 'ho-tro',\r\n templateUrl: './ho-tro.component.html'\r\n})\r\nexport class HoTroComponent implements OnInit {\r\n\r\n constructor(\r\n private service: QuanLyPhanAnhTbService,\r\n private commonService: CommonService,\r\n private dialog: MatDialog\r\n ) { }\r\n\r\n pageModel: FeedbackContentModel = new FeedbackContentModel({\r\n processStatus: STATUS_PROCESS.NhoHoTro,\r\n field: null,\r\n fromDate: null,\r\n toDate: null,\r\n search: null,\r\n unitCode: null, // menu hỗ trợ\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE\r\n });\r\n _title: string = FUNCTION_TEXT.XULY_HOTRO;\r\n\r\n target: any = {\r\n data: []\r\n };\r\n lstStatus: StatusModel[] = [];\r\n lstField: FieldModel[] = [];\r\n\r\n async ngOnInit(): Promise {\r\n this.getListStatus();\r\n this.getListField();\r\n\r\n await this.getUserInfo();\r\n this.loadData();\r\n }\r\n\r\n async getUserInfo() {\r\n const res = await this.commonService.getUserInfo().toPromise();\r\n this.pageModel.unitCode = res.UnitCode;\r\n }\r\n\r\n loadData() {\r\n this.service.paging(this.pageModel).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n getListStatus() {\r\n this.service.getListStatus().subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstStatus = res.data.filter(c => c.status === ActivityStatus.Active\r\n && c.id === STATUS_PROCESS.NhoHoTro);\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n getListField() {\r\n this.service.getListField().subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstField = res.data.filter(c => c.trangthai === ActivityStatus.Active);;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n searchPage() {\r\n this.pageModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n changeSearch() {\r\n if (!this.pageModel.search) {\r\n this.searchPage();\r\n }\r\n }\r\n\r\n processing(key: number, title: string) {\r\n this.dialog.open(HoTroProcessComponent, this.commonService.configDialog('70%', { key: key, title: title }))\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n\r\n\r\n}\r\n","\r\n \r\n
    \r\n
    \r\n {{ _title }}\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    STTTên chủ đềĐịa điểmĐơn vị nhờ hỗ trợThời điểmTrạng tháiNgười báoHành động
    \r\n {{ (pageModel.currentPage - 1) * pageModel.pageSize + i + 1 }}\r\n {{ item.tieude }}{{ item.diadiem }}{{ item.donvinhohotro }}\r\n Thời gian phản ánh: {{ item.ngayguigopy | date : 'HH:mm dd/MM/yyyy' }}
    \r\n Thời gian tiếp nhận cuối: {{ item.thoigianphanhoi | date : 'HH:mm dd/MM/yyyy' }}\r\n
    \r\n Trang thái: {{ item.tentrangthaixl }}
    \r\n Lĩnh vực: {{ item.tenlinhvuc }}\r\n
    \r\n Họ và tên: {{ item.tenthanhvien }}
    SĐT: \r\n {{ item.sdtthanhvien }}\r\n
    \r\n \r\n
    Không có dữ liệu.
    \r\n
    \r\n
    \r\n
    0\" class=\"row\">\r\n
    \r\n
    Tổng số bản ghi: {{ target?.recordsCount }}
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { FUNCTION_TEXT, SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { PhanAnhTrinhBaoSearchModel } from 'app/@core/data/app-congan.service';\r\nimport { ThucHienPhanCongXuLyGopYModel } from 'app/@core/data/app-gopy.service';\r\nimport { DeleteDialogComponent } from 'app/@theme/components/template/dialog/delete/delete-dialog.component';\r\nimport { QuanLyPhanAnhTbService } from '../../../quan-ly-phan-anh-tb.service';\r\n\r\n@Component({\r\n selector: 'phan-cong-xl-assign',\r\n templateUrl: './phan-cong-xl-assign.component.html'\r\n})\r\nexport class PhanCongXlAssignComponent implements OnInit {\r\n\r\n constructor(\r\n private commonService: CommonService,\r\n private service: QuanLyPhanAnhTbService,\r\n private dialog: MatDialog,\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public dataRef: { key: number, title: string, status: any }\r\n ) { }\r\n\r\n _title: string = FUNCTION_TEXT.XULY_PHANCONG;\r\n fullName: string;\r\n model: PhanAnhTrinhBaoSearchModel = new PhanAnhTrinhBaoSearchModel({\r\n capDonVi: null,\r\n unitcode: null,\r\n });\r\n\r\n assignModel: ThucHienPhanCongXuLyGopYModel = new ThucHienPhanCongXuLyGopYModel({\r\n nhanVienId: null,\r\n noiDungId: this.dataRef.key,\r\n tenNhanVien: null,\r\n yKien: null,\r\n });\r\n userid: number;\r\n lstDonVi: any[] = [];\r\n\r\n async ngOnInit(): Promise {\r\n await this.getUserInfo();\r\n this.getListDonVi();\r\n }\r\n\r\n getListDonVi() {\r\n this.service.getListDonVi(this.model).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstDonVi = res.data;\r\n this.lstDonVi?.map(c => {\r\n if (c.id === this.userid) {\r\n c.name = c.hoVaTen + ' (tôi)';\r\n } else {\r\n c.name = c.hoVaTen;\r\n }\r\n return c;\r\n });\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n async getUserInfo() {\r\n const res = await this.commonService.getUserInfo().toPromise();\r\n this.fullName = res.FullName;\r\n this.model.capDonVi = res.CapDonVi;\r\n this.model.unitcode = res.UnitCode;\r\n this.userid = res.Id;\r\n }\r\n\r\n reportSpam() {\r\n this.dialog.open(DeleteDialogComponent,\r\n this.commonService.configDialog('30%', `Bạn có muốn báo cáo tin rác ${this.dataRef.title}?`))\r\n .afterClosed().subscribe((dialog) => {\r\n if (dialog) {\r\n this.spam();\r\n }\r\n });\r\n }\r\n\r\n spam() {\r\n this.service.reportSpam(this.dataRef.key).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Báo cáo tin rác thành công');\r\n this.dialogRef.close(true);\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n this.dialogRef.close(false);\r\n }\r\n });\r\n }\r\n\r\n assign() {\r\n this.service.assign(this.assignModel).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Phân công xử lý thành công');\r\n this.dialogRef.close(true);\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n this.dialogRef.close(false);\r\n }\r\n });\r\n }\r\n\r\n changeAssignee(event: any) {\r\n if (this.assignModel.nhanVienId) {\r\n const tenNhanVien = this.lstDonVi?.find(c => c.id === this.assignModel.nhanVienId)?.hoVaTen;\r\n this.assignModel.tenNhanVien = tenNhanVien;\r\n if (this.userid === this.assignModel.nhanVienId) {\r\n this.assignModel.yKien = `${this.fullName} đã được phân công xử lý`;\r\n } else {\r\n this.assignModel.yKien = `${this.fullName} đã phân công xử lý cho ${tenNhanVien}`;\r\n }\r\n }\r\n }\r\n\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n {{ _title }}\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Thông tin\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Cán bộ được phân công\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n  \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { CommonService, ConvertDatePipe } from 'app/@core/customs/common.service';\r\nimport { PAGE_SIZE, FUNCTION_TEXT, SUCCESS_RESPONSE, ActivityStatus, STATUS_PROCESS } from 'app/@core/customs/constants';\r\nimport { FeedbackContentModel } from 'app/@core/data/app-gopy.service';\r\nimport { FieldModel, StatusModel } from '../../quan-ly-phan-anh-tb.model';\r\nimport { QuanLyPhanAnhTbService } from '../../quan-ly-phan-anh-tb.service';\r\nimport { ThongKePatbDetailComponent } from '../../thong-ke-patb/thong-ke-patb-detail/thong-ke-patb-detail.component';\r\nimport { PhanCongXlAssignComponent } from './phan-cong-xl-assign/phan-cong-xl-assign.component';\r\n\r\n@Component({\r\n selector: 'phan-cong-xl',\r\n templateUrl: './phan-cong-xl.component.html'\r\n})\r\nexport class PhanCongXlComponent implements OnInit {\r\n\r\n constructor(\r\n private service: QuanLyPhanAnhTbService,\r\n private commonService: CommonService,\r\n private dialog: MatDialog\r\n ) { }\r\n\r\n pageModel: FeedbackContentModel = new FeedbackContentModel({\r\n provinceCode: null,\r\n districtCode: null,\r\n wardCode: null,\r\n search: null,\r\n condition: \"1\", // menu phân công xử lý\r\n processStatus: null,\r\n field: null,\r\n fromDate: null,\r\n toDate: null,\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE\r\n });\r\n _title: string = FUNCTION_TEXT.XULY_PHANCONG;\r\n\r\n target: any = {\r\n data: []\r\n };\r\n convertDatePipe: ConvertDatePipe = new ConvertDatePipe();\r\n lstStatus: StatusModel[] = [];\r\n lstField: FieldModel[] = [];\r\n\r\n async ngOnInit(): Promise {\r\n this.getListStatus();\r\n this.getListField();\r\n\r\n await this.getUserInfo();\r\n this.loadData();\r\n }\r\n\r\n async getUserInfo() {\r\n const res = await this.commonService.getUserInfo().toPromise();\r\n this.pageModel.unitCode = res.UnitCode;\r\n switch (res.CapDonVi) {\r\n case 1:\r\n this.pageModel.provinceCode = res.UnitCode;\r\n break;\r\n case 2:\r\n this.pageModel.districtCode = res.UnitCode;\r\n break;\r\n case 3:\r\n this.pageModel.wardCode = res.UnitCode;\r\n break;\r\n }\r\n }\r\n\r\n loadData() {\r\n this.service.paging(this.pageModel).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n getListStatus() {\r\n this.service.getListStatus().subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstStatus = res.data.filter(c => c.status === ActivityStatus.Active\r\n && (c.id === STATUS_PROCESS.ChoXuLy\r\n || c.id === STATUS_PROCESS.TuChoiHoTro\r\n || c.id === STATUS_PROCESS.TuChoiXuLy\r\n || c.id === STATUS_PROCESS.TuChoiDuyet));\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n getListField() {\r\n this.service.getListField().subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstField = res.data.filter(c => c.trangthai === ActivityStatus.Active);;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n searchPage() {\r\n this.pageModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n changeSearch() {\r\n if (!this.pageModel.search) {\r\n this.searchPage();\r\n }\r\n }\r\n\r\n openDetailDialog(key: number) {\r\n this.dialog.open(ThongKePatbDetailComponent, this.commonService.configDialog('70%', { key: key })).afterClosed().subscribe();\r\n }\r\n\r\n openAssignDialog(item: any) {\r\n this.dialog.open(PhanCongXlAssignComponent,\r\n this.commonService.configDialog('35%', {\r\n key: item.id, title: item.tieude, status: {\r\n id: item.trangthaixuly,\r\n ten: item.tentrangthaixl,\r\n mau: item.mautrangthaixl\r\n }\r\n }))\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n\r\n\r\n}\r\n","\r\n \r\n
    \r\n
    \r\n {{ _title }}\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    STTTên chủ đềĐịa điểmThời điểmTrạng tháiNgười báoHành động
    \r\n {{ (pageModel.currentPage - 1) * pageModel.pageSize + i + 1 }}\r\n {{ item.tieude }}{{ item.diadiem }}\r\n Thời gian phản ánh: {{ item.ngayguigopy | date : 'HH:mm dd/MM/yyyy' }}
    \r\n Thời gian tiếp nhận cuối: {{ item.thoigianphanhoi | date : 'HH:mm dd/MM/yyyy' }}\r\n
    \r\n Trang thái: {{ item.tentrangthaixl }}
    \r\n Lĩnh vực: {{ item.tenlinhvuc }}\r\n
    \r\n Họ và tên: {{ item.tenthanhvien }}
    SĐT: \r\n {{ item.sdtthanhvien }}\r\n
    \r\n \r\n  \r\n \r\n
    Không có dữ liệu.
    \r\n
    \r\n
    \r\n
    0\" class=\"row\">\r\n
    \r\n
    Tổng số bản ghi: {{ target?.recordsCount }}
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { FUNCTION_TEXT, SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { DeleteDialogComponent } from 'app/@theme/components/template/dialog/delete/delete-dialog.component';\r\nimport { QuanLyPhanAnhTbService } from '../../../quan-ly-phan-anh-tb.service';\r\n\r\n@Component({\r\n selector: 'phe-duyet-patb-approve',\r\n templateUrl: './phe-duyet-patb-approve.component.html'\r\n})\r\nexport class PheDuyetPatbApproveComponent implements OnInit {\r\n\r\n constructor(\r\n private service: QuanLyPhanAnhTbService,\r\n private commonService: CommonService,\r\n private dialog: MatDialog,\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public dataRef: { key: number, title: string }\r\n ) { }\r\n\r\n _title: string = FUNCTION_TEXT.XULY_PHEDUYET;\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n reject() {\r\n this.dialog.open(DeleteDialogComponent,\r\n this.commonService.configDialog('30%', `Bạn có muốn từ chối duyệt ${this.dataRef.title}?`))\r\n .afterClosed().subscribe((dialog) => {\r\n if (dialog) {\r\n this.callReject();\r\n }\r\n });\r\n }\r\n\r\n callReject() {\r\n this.service.rejectApprove(this.dataRef.key).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Từ chối duyệt thành công');\r\n this.dialogRef.close(true);\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n this.dialogRef.close(false);\r\n }\r\n });\r\n }\r\n\r\n approve() {\r\n this.dialog.open(DeleteDialogComponent,\r\n this.commonService.configDialog('30%', `Bạn có muốn phê duyệt ${this.dataRef.title}?`))\r\n .afterClosed().subscribe((dialog) => {\r\n if (dialog) {\r\n this.callApprove();\r\n }\r\n });\r\n }\r\n\r\n callApprove() {\r\n this.service.approve(this.dataRef.key).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Phê duyệt thành công');\r\n this.dialogRef.close(true);\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n this.dialogRef.close(false);\r\n }\r\n });\r\n }\r\n\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n {{ _title }}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n  \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { CommonService, ConvertDatePipe } from 'app/@core/customs/common.service';\r\nimport { PAGE_SIZE, FUNCTION_TEXT, SUCCESS_RESPONSE, ActivityStatus, STATUS_PROCESS } from 'app/@core/customs/constants';\r\nimport { FeedbackContentModel } from 'app/@core/data/app-gopy.service';\r\nimport { StatusModel, FieldModel } from '../../quan-ly-phan-anh-tb.model';\r\nimport { QuanLyPhanAnhTbService } from '../../quan-ly-phan-anh-tb.service';\r\nimport { PheDuyetPatbApproveComponent } from './phe-duyet-patb-approve/phe-duyet-patb-approve.component';\r\n\r\n@Component({\r\n selector: 'phe-duyet-patb',\r\n templateUrl: './phe-duyet-patb.component.html'\r\n})\r\nexport class PheDuyetPatbComponent implements OnInit {\r\n\r\n constructor(\r\n private service: QuanLyPhanAnhTbService,\r\n private commonService: CommonService,\r\n private dialog: MatDialog\r\n ) { }\r\n\r\n pageModel: FeedbackContentModel = new FeedbackContentModel({\r\n provinceCode: null,\r\n districtCode: null,\r\n wardCode: null,\r\n processStatus: STATUS_PROCESS.ChoDuyet,\r\n field: null,\r\n fromDate: null,\r\n toDate: null,\r\n search: null,\r\n condition: \"2\", // Phê duyệt phản ánh trình báo\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE\r\n });\r\n _title: string = FUNCTION_TEXT.XULY_PHEDUYET;\r\n\r\n target: any = {\r\n data: []\r\n };\r\n convertDatePipe: ConvertDatePipe = new ConvertDatePipe();\r\n lstStatus: StatusModel[] = [];\r\n lstField: FieldModel[] = [];\r\n\r\n async ngOnInit(): Promise {\r\n this.getListStatus();\r\n this.getListField();\r\n\r\n await this.getUserInfo();\r\n this.loadData();\r\n }\r\n\r\n async getUserInfo() {\r\n const res = await this.commonService.getUserInfo().toPromise();\r\n switch (res.CapDonVi) {\r\n case 1:\r\n this.pageModel.provinceCode = res.UnitCode;\r\n break;\r\n case 2:\r\n this.pageModel.districtCode = res.UnitCode;\r\n break;\r\n case 3:\r\n this.pageModel.wardCode = res.UnitCode;\r\n break;\r\n }\r\n }\r\n\r\n loadData() {\r\n this.service.paging(this.pageModel).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n getListStatus() {\r\n this.service.getListStatus().subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstStatus = res.data.filter(c => c.status === ActivityStatus.Active\r\n && c.id === STATUS_PROCESS.ChoDuyet);\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n getListField() {\r\n this.service.getListField().subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstField = res.data.filter(c => c.trangthai === ActivityStatus.Active);;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n searchPage() {\r\n this.pageModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n changeSearch() {\r\n if (!this.pageModel.search) {\r\n this.searchPage();\r\n }\r\n }\r\n\r\n approve(item: any) {\r\n this.dialog.open(PheDuyetPatbApproveComponent, this.commonService.configDialog('70%', { key: item.id, title: item.tieude }))\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n\r\n}\r\n","\r\n \r\n
    \r\n
    \r\n {{ _title }}\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    STTTên chủ đềĐịa điểmThời điểmTrạng tháiNgười báoHành động
    \r\n {{ (pageModel.currentPage - 1) * pageModel.pageSize + i + 1 }}\r\n {{ item.tieude }}{{ item.diadiem }}\r\n Thời gian phản ánh: {{ item.ngayguigopy | date : 'HH:mm dd/MM/yyyy' }}
    \r\n Thời gian tiếp nhận cuối: {{ item.thoigianphanhoi | date : 'HH:mm dd/MM/yyyy' }}\r\n
    \r\n Trang thái: {{ item.tentrangthaixl }}
    \r\n Lĩnh vực: {{ item.tenlinhvuc }}\r\n
    \r\n Họ và tên: {{ item.tenthanhvien }}
    SĐT: \r\n {{ item.sdtthanhvien }}\r\n
    \r\n \r\n
    Không có dữ liệu.
    \r\n
    \r\n
    \r\n
    0\" class=\"row\">\r\n
    \r\n
    Tổng số bản ghi: {{ target?.recordsCount }}
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { NbTabComponent } from '@nebular/theme';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { FUNCTION_TEXT, RejectType, SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { SysunitLevelModel } from 'app/@core/data/app-congan.service';\r\nimport { RejectFeedbackModel, RequestApproveFeedbackModel } from 'app/@core/data/app-gopy.service';\r\nimport { DeleteDialogComponent } from 'app/@theme/components/template/dialog/delete/delete-dialog.component';\r\nimport { QuanLyPhanAnhTbService } from '../../../quan-ly-phan-anh-tb.service';\r\n\r\n@Component({\r\n selector: 'xl-cua-toi-process',\r\n templateUrl: './xl-cua-toi-process.component.html'\r\n})\r\nexport class XlCuaToiProcessComponent implements OnInit {\r\n\r\n constructor(\r\n private service: QuanLyPhanAnhTbService,\r\n private commonService: CommonService,\r\n private dialog: MatDialog,\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public dataRef: { key: number, title: string }\r\n ) { }\r\n\r\n _title: string = FUNCTION_TEXT.XULY_CUATTOI_PATB;\r\n tabIndex: number = 0;\r\n model: RequestApproveFeedbackModel = new RequestApproveFeedbackModel({\r\n feedbackId: this.dataRef.key,\r\n status: null,\r\n responseFeedback: null,\r\n supportUnit: null,\r\n });\r\n isResolved: boolean = false;\r\n isSuggest: boolean = false;\r\n lstUnit: SysunitLevelModel[] = [];\r\n rejectModel: RejectFeedbackModel = new RejectFeedbackModel({\r\n feedbackId: this.dataRef.key,\r\n type: RejectType.MyHandle\r\n });\r\n\r\n ngOnInit(): void {\r\n this.getListUnit();\r\n }\r\n\r\n getListUnit() {\r\n this.service.getListUnit().subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstUnit = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n changeTab(event: NbTabComponent) {\r\n this.tabIndex = Number(event.tabId);\r\n }\r\n\r\n request() {\r\n if (this.isResolved) this.model.status = 1; // gửi phê duyệt\r\n if (this.isSuggest) this.model.status = 2; // gửi đề xuất dv khác\r\n let messgae: string;\r\n if (this.model.status === 1) {\r\n messgae = `Bạn có muốn gửi phê duyệt góp ý ${this.dataRef.title}?`;\r\n } else {\r\n messgae = `Bạn có muốn gửi đề xuất đơn vị khác hỗ trợ góp ý ${this.dataRef.title}?`;\r\n }\r\n this.dialog.open(DeleteDialogComponent,\r\n this.commonService.configDialog('30%', messgae))\r\n .afterClosed().subscribe((dialog) => {\r\n if (dialog) {\r\n this.callRequest();\r\n }\r\n });\r\n }\r\n\r\n callRequest() {\r\n this.service.requestApprove(this.model).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess(this.model.status === 1 ? 'Gửi phê duyệt thành công' : 'Gửi đề xuất đơn vị khác hỗ trợ thành công');\r\n this.dialogRef.close(true);\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n this.dialogRef.close(false);\r\n }\r\n });\r\n }\r\n\r\n reject() {\r\n this.dialog.open(DeleteDialogComponent,\r\n this.commonService.configDialog('30%', `Bạn có muốn từ chối xử lý góp ý ${this.dataRef.title}?`))\r\n .afterClosed().subscribe((dialog) => {\r\n if (dialog) {\r\n this.callReject();\r\n }\r\n });\r\n }\r\n\r\n callReject() {\r\n this.service.reject(this.rejectModel).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Từ chối xử lý góp ý thành công');\r\n this.dialogRef.close(true);\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n this.dialogRef.close(false);\r\n }\r\n });\r\n }\r\n\r\n changeStatus(value: number) {\r\n // nếu chọn đã phê duyệt thì bỏ chọn gửi đơn vị khác hỗ trợ\r\n if (value === 1) {\r\n this.isSuggest = false;\r\n this.isResolved = true;\r\n }\r\n // nếu chọn gửi đơn vị khác hỗ trợ thì bỏ chọn đã phê duyệt\r\n if (value === 2) {\r\n this.isResolved = false;\r\n this.isSuggest = true;\r\n }\r\n }\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n {{ _title }}\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n  \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { ActivityStatus, FUNCTION_TEXT, PAGE_SIZE, STATUS_PROCESS, SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { FeedbackContentModel } from 'app/@core/data/app-gopy.service';\r\nimport { StatusModel, FieldModel } from '../../quan-ly-phan-anh-tb.model';\r\nimport { QuanLyPhanAnhTbService } from '../../quan-ly-phan-anh-tb.service';\r\nimport { XlCuaToiProcessComponent } from './xl-cua-toi-process/xl-cua-toi-process.component';\r\n\r\n@Component({\r\n selector: 'xl-cua-toi',\r\n templateUrl: './xl-cua-toi.component.html'\r\n})\r\nexport class XlCuaToiComponent implements OnInit {\r\n\r\n constructor(\r\n private service: QuanLyPhanAnhTbService,\r\n private commonService: CommonService,\r\n private dialog: MatDialog\r\n ) { }\r\n\r\n pageModel: FeedbackContentModel = new FeedbackContentModel({\r\n provinceCode: null,\r\n districtCode: null,\r\n wardCode: null,\r\n processStatus: STATUS_PROCESS.DaPhanCongXuLy,\r\n field: null,\r\n fromDate: null,\r\n toDate: null,\r\n search: null,\r\n userId: null,\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE\r\n });\r\n _title: string = FUNCTION_TEXT.XULY_CUATOI;\r\n lstStatus: StatusModel[] = [];\r\n lstField: FieldModel[] = [];\r\n\r\n target: any = {\r\n data: []\r\n };\r\n\r\n async ngOnInit(): Promise {\r\n this.getListStatus();\r\n this.getListField();\r\n\r\n await this.getUserInfo();\r\n this.loadData();\r\n }\r\n\r\n async getUserInfo() {\r\n const res = await this.commonService.getUserInfo().toPromise();\r\n this.pageModel.userId = res.Id;\r\n switch (res.CapDonVi) {\r\n case 1:\r\n this.pageModel.provinceCode = res.UnitCode;\r\n break;\r\n case 2:\r\n this.pageModel.districtCode = res.UnitCode;\r\n break;\r\n case 3:\r\n this.pageModel.wardCode = res.UnitCode;\r\n break;\r\n }\r\n }\r\n\r\n loadData() {\r\n this.service.paging(this.pageModel).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n getListStatus() {\r\n this.service.getListStatus().subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstStatus = res.data.filter(c => c.status === ActivityStatus.Active\r\n && c.id === STATUS_PROCESS.DaPhanCongXuLy);\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n getListField() {\r\n this.service.getListField().subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstField = res.data.filter(c => c.trangthai === ActivityStatus.Active);;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n searchPage() {\r\n this.pageModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n changeSearch() {\r\n if (!this.pageModel.search) {\r\n this.searchPage();\r\n }\r\n }\r\n\r\n processing(key: number, title: string) {\r\n this.dialog.open(XlCuaToiProcessComponent, this.commonService.configDialog('70%', { key: key, title: title }))\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n\r\n}\r\n","\r\n \r\n
    \r\n
    \r\n {{ _title }}\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    STTTên chủ đềĐịa điểmThời điểmTrạng tháiNgười báoHành động
    \r\n {{ (pageModel.currentPage - 1) * pageModel.pageSize + i + 1 }}\r\n {{ item.tieude }}{{ item.diadiem }}\r\n Thời gian phản ánh: {{ item.ngayguigopy | date : 'HH:mm dd/MM/yyyy' }}
    \r\n Thời gian tiếp nhận cuối: {{ item.thoigianphanhoi | date : 'HH:mm dd/MM/yyyy' }}\r\n
    \r\n Trang thái: {{ item.tentrangthaixl }}
    \r\n Lĩnh vực: {{ item.tenlinhvuc }}\r\n
    \r\n Họ và tên: {{ item.tenthanhvien }}
    SĐT: \r\n {{ item.sdtthanhvien }}\r\n
    \r\n \r\n
    Không có dữ liệu.
    \r\n
    \r\n
    \r\n
    0\" class=\"row\">\r\n
    \r\n
    Tổng số bản ghi: {{ target?.recordsCount }}
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { QLPhongIndexComponent } from './quan-ly-phong/quan-ly-phong-index/quan-ly-phong-index.component';\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n children: [\r\n { path: '', component: QLPhongIndexComponent },\r\n ]\r\n }\r\n];\r\n","import {\r\n ApiResponse,\r\n AppCongAnApiService,\r\n ObjectIEnumerableApiResponse,\r\n ObjectIEnumerablePageModelViewApiResponse,\r\n PageModel,\r\n PhongtroEntity,\r\n PhongtroEntityListApiResponse,\r\n PhongTroViewModel,\r\n ShareModel\r\n} from './../../../@core/data/app-congan.service';\r\nimport { Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { STATUS_ACTION } from 'app/@core/customs/constants';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class QLPhongService {\r\n statusAction = STATUS_ACTION;\r\n constructor(private api: AppCongAnApiService) { }\r\n\r\n paging(body: PageModel | undefined): Observable {\r\n return this.api.appCongAnApiV1PhongTroPaging(body);\r\n }\r\n\r\n insert(body: PhongtroEntity | undefined): Observable {\r\n return this.api.appCongAnApiV1PhongTroInsert(body);\r\n }\r\n\r\n update(body: PhongtroEntity | undefined): Observable {\r\n return this.api.appCongAnApiV1PhongTroUpdate(body);\r\n }\r\n\r\n delete(id: number): Observable {\r\n return this.api.appCongAnApiV1PhongTroDelete(id);\r\n }\r\n\r\n share(request: ShareModel): Observable {\r\n return this.api.appCongAnApiV1PhongTroShare(request);\r\n }\r\n\r\n DeleteListrecord(body: number[]): Observable {\r\n return this.api.appCongAnApiV1PhongTroDeleteListRecord(body);\r\n }\r\n\r\n SelectAll(): Observable {\r\n return this.api.appCongAnApiV1PhongTroSelectAll();\r\n }\r\n\r\n SelectByIdNhaTro(idNhaTro: number): Observable {\r\n return this.api.appCongAnApiV1PhongTroSelectByIdNhaTro(idNhaTro, 1);\r\n }\r\n\r\n SelectByIdNhaTroCus(idNhaTro: number): Observable {\r\n return this.api.appCongAnApiV1PhongTroSelectByIdNhaTroForQuanLyKhach(idNhaTro);\r\n }\r\n\r\n SelectByIdNhaTroCusForQLKhach(idNhaTro: number): Observable {\r\n return this.api.appCongAnApiV1PhongTroSelectByIdNhaTroForQuanLyKhachCus(idNhaTro);\r\n }\r\n\r\n confirm = (data: PhongtroEntity, statusAction: number): Observable => {\r\n if (statusAction === STATUS_ACTION.create) {\r\n return this.insert(data);\r\n } else if (statusAction === STATUS_ACTION.edit) {\r\n const model = new PhongTroViewModel({\r\n id: data.id,\r\n tenphong: data.tenphong,\r\n tang: data.tang,\r\n dongia: data.dongia,\r\n dientich: data.dientich,\r\n songuoitoida: data.songuoitoida,\r\n mota: data.mota,\r\n });\r\n return this.updateInfoRoom(data);\r\n }\r\n }\r\n\r\n getFolder(): string {\r\n return 'Phongtro';\r\n }\r\n\r\n getType(): number {\r\n return 1111;\r\n }\r\n\r\n updateInfoRoom(body: PhongTroViewModel): Observable {\r\n return this.api.appCongAnApiV1PhongTroUpdateInfoRoom(body);\r\n }\r\n}\r\n\r\nexport class ViewModelPhongTro {\r\n id: number;\r\n ma: string;\r\n ten: string;\r\n tang: number;\r\n songuoitoida: number;\r\n dongia: string;\r\n dientich: string;\r\n mota: string;\r\n trangthai: number;\r\n hoatdong: boolean;\r\n unitcode: string;\r\n idnhatro: number;\r\n slnguoithuephong: number;\r\n constructor(data?: ViewModelPhongTro) {\r\n if (data) {\r\n this.id = data.id;\r\n this.ma = data.ma;\r\n this.ten = data.ten;\r\n this.tang = data.tang;\r\n this.songuoitoida = data.songuoitoida;\r\n this.dongia = data.dongia;\r\n this.dientich = data.dientich;\r\n this.mota = data.mota;\r\n this.trangthai = data.trangthai;\r\n this.hoatdong = data.hoatdong;\r\n this.unitcode = data.unitcode;\r\n this.idnhatro = data.idnhatro;\r\n this.slnguoithuephong = data.slnguoithuephong;\r\n }\r\n }\r\n}\r\n\r\n","import { CommonService } from 'app/@core/customs/common.service';\r\nimport { SUCCESS_RESPONSE, SUCCESS_NOTICE, STATUS_ACTION, ViewNhaTro } from 'app/@core/customs/constants';\r\nimport { QLPhongService, ViewModelPhongTro } from './../../quan-ly-phong.service';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { PageModel } from 'app/@core/data/app-dmht.service';\r\nimport { PAGE_SIZE } from 'app/@core/customs/constants';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { QLPhongComponent } from '../quan-ly-phong/quan-ly-phong.component';\r\nimport { ShareModel } from 'app/@core/data/app-congan.service';\r\nimport { QLPhongShareComponent } from '../quan-ly-phong-share/quan-ly-phong-share.component';\r\nimport { QLHopDongComponent } from 'app/modules/app-congan-admin/quan-ly-hop-dong/quan-ly-hop-dong/quan-ly-hop-dong/quan-ly-hop-dong.component';\r\nimport { QLNhaTroService } from 'app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-nha-tro.service';\r\nimport { QLNhaTroShareComponent } from 'app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-nha-tro/quan-ly-nha-tro-share/quan-ly-nha-tro-share.component';\r\nimport { QRCodeComponent } from '@progress/kendo-angular-barcodes';\r\nimport { saveAs } from '@progress/kendo-file-saver';\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-phong-index',\r\n templateUrl: './quan-ly-phong-index.component.html',\r\n styleUrls: ['./quan-ly-phong-index.component.scss']\r\n})\r\nexport class QLPhongIndexComponent implements OnInit {\r\n @ViewChild('qrcode')\r\n private qrcode: QRCodeComponent;\r\n constructor(\r\n private service: QLPhongService,\r\n private commonService: CommonService,\r\n private serviceNhatro: QLNhaTroService,\r\n private dialog: MatDialog\r\n ) { }\r\n existChecked: boolean;\r\n totalPage: number;\r\n viewModel: ViewModelPhongTro[] = [];\r\n target: any = {\r\n data: this.viewModel\r\n };\r\n searchModel: PageModel = new PageModel({\r\n search: null,\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE,\r\n condition: null,\r\n sortColumn: null,\r\n sortExpression: null,\r\n status: null,\r\n columnName: null,\r\n });\r\n\r\n environmentUrl: string;\r\n\r\n file: any[] = [];\r\n isLoading: boolean = true;\r\n title: string = 'Quản lý danh sách phòng ';\r\n ListTrangthai = [{ id: 0, name: 'Trống' }, { id: 1, name: 'Đã thuê' }, { id: 2, name: 'Đã cọc' }];\r\n ListSapxep = [{ id: 1, name: 'Tăng dần từ A-Z' }, { id: 2, name: 'Giảm dần từ A-Z' }, { id: 3, name: 'Thời gian cập nhật cũ nhất' },\r\n { id: 4, name: 'Thời gian cập nhật mới nhất' }, { id: 0, name: '-Sắp xếp-' }];\r\n lstNhatro: any[] = [];\r\n tenNhaTro: string;\r\n\r\n ngOnInit(): void {\r\n this.environmentUrl = window.location.href.substring(0, window.location.href.indexOf('congan'));\r\n this.loadData();\r\n this.lstNhatro = [];\r\n this.serviceNhatro.selectAll().subscribe(result => {\r\n this.lstNhatro = result.data.map(c => new ViewNhaTro({\r\n id: c.id,\r\n ten: c.tennhatro\r\n }));\r\n });\r\n }\r\n\r\n loadData() {\r\n this.service.paging(this.searchModel).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.target = result.data;\r\n this.target.data = result.data?.data.map(c => new ViewModelPhongTro({\r\n id: c.id,\r\n ma: c.maphong,\r\n ten: c.tenphong,\r\n tang: c.tang ?? 0,\r\n songuoitoida: c.songuoitoida,\r\n dongia: c.dongia,\r\n dientich: c.dientich,\r\n mota: c.mota,\r\n trangthai: c.trangthai,\r\n unitcode: c.unitcode ?? '',\r\n idnhatro: c.idnhatro,\r\n hoatdong: c.hoatdong,\r\n slnguoithuephong: c.slnguoithuephong\r\n }));\r\n this.totalPage = result.data.totalPage;\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n this.isLoading = false;\r\n });\r\n }\r\n\r\n changeTrangthai(event) {\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n changeSapxep(event) {\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n if (this.searchModel.condition)\r\n this.tenNhaTro = this.lstNhatro?.find(c => c.id === Number(this.searchModel.condition))?.ten;\r\n }\r\n\r\n getTrangthai(item) {\r\n return this.ListTrangthai.find(c => c.id === item)?.name ?? null;\r\n }\r\n\r\n searchPage() {\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n resetPage() {\r\n this.searchModel.search = null;\r\n this.searchPage();\r\n }\r\n\r\n openCreateDialog() {\r\n this.dialog.open(QLPhongComponent, this.commonService.configDialog('50%',\r\n { isMulti: false, id: null, title: `Thêm thông tin phòng`, action: STATUS_ACTION.create, idNhaTro: this.searchModel.condition }))\r\n .afterClosed().subscribe(result => {\r\n if (result === true) {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n\r\n detailData(item: ViewModelPhongTro) {\r\n this.dialog.open(QLPhongComponent,\r\n this.commonService.configDialog('50%',\r\n { isMulti: false, id: item.id, title: `Chi tiết thông tin phòng`, action: STATUS_ACTION.detail, data: item })).afterClosed().subscribe(() => { });\r\n }\r\n\r\n editData(item: ViewModelPhongTro) {\r\n this.dialog.open(QLPhongComponent,\r\n this.commonService.configDialog('50%',\r\n { isMulti: false, id: item.id, title: `Sửa thông tin phòng`, action: STATUS_ACTION.edit, data: item })).afterClosed().subscribe(result => {\r\n // if (result === true) {\r\n this.loadData();\r\n // }\r\n });\r\n }\r\n\r\n editMultipleData() {\r\n this.dialog.open(QLPhongComponent,\r\n this.commonService.configDialog('50%',\r\n {\r\n isMulti: true,\r\n id: this.target.data.filter(f => f.checked === true).map(m => m.id).toString(),\r\n title: `Sửa thông tin phòng`,\r\n action: STATUS_ACTION.edit,\r\n idNhaTro: this.searchModel.condition,\r\n lstPhong: this.target.data.filter(f => f.checked === true)\r\n })).afterClosed().subscribe(result => {\r\n if (result === true) {\r\n this.loadData();\r\n this.existChecked = false;\r\n this.target.data?.filter(c => c.checked === true).forEach(f => f.checked = false);\r\n }\r\n });\r\n }\r\n\r\n deleteData(id: number, tendonvi: string) {\r\n this.dialog.open(QLNhaTroShareComponent,\r\n this.commonService.configDialog('20%', null)).afterClosed().subscribe(result => {\r\n if (result === true) {\r\n this.service.delete(id).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.loadData();\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n checkAll: boolean = false;\r\n eventChecked = (item) => {\r\n if (!item && this.target.data.length > 0) {\r\n this.target.data.forEach(c => {\r\n c.checked = this.checkAll;\r\n });\r\n } else {\r\n this.checkAll = this.target.data.filter(c => !c.checked).length === 0;\r\n }\r\n }\r\n\r\n deleteChecked = () => {\r\n const lstDelete = this.target.data?.filter(c => c.checked === true).map(x => x.id);\r\n if (lstDelete.length === 0) {\r\n return this.commonService.toastrWarning('Xin hãy chọn ít nhất 1 bản ghi!');\r\n }\r\n this.dialog.open(QLNhaTroShareComponent,\r\n this.commonService.configDialog('20%', null)).afterClosed().subscribe(result => {\r\n if (result === true) {\r\n // const lstDelete = this.target.data?.filter(c => c.checked === true).map(x => x.id);\r\n this.service.DeleteListrecord(lstDelete).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.loadData();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n chageStatus = (item: ViewModelPhongTro) => {\r\n this.dialog.open(QLPhongShareComponent,\r\n this.commonService.configDialog('20%', { hoatdong: item.hoatdong })).afterClosed().subscribe(result => {\r\n if (result === true) {\r\n const postData = new ShareModel({\r\n id: item.id.toString(),\r\n trangthai: item.hoatdong ? 1 : 0\r\n });\r\n this.service.share(postData).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n }\r\n // this.loadData();\r\n });\r\n } else {\r\n item.hoatdong = !item.hoatdong;\r\n }\r\n });\r\n }\r\n openFormHopDong = (item: ViewModelPhongTro) => {\r\n if (!item?.hoatdong) {\r\n return this.commonService.toastrWarning('Phòng đang không hoạt động');\r\n }\r\n this.dialog.open(QLHopDongComponent, this.commonService.configDialog('60%',\r\n {\r\n action: STATUS_ACTION.create,\r\n info: {\r\n id: null, title: 'Thêm mới hợp đồng'\r\n , action: STATUS_ACTION.create, phong: item\r\n }, fromPhong: { idPhong: item?.id, idNhaTro: item?.idnhatro, sltoida: item.songuoitoida }\r\n }))\r\n .afterClosed().subscribe(result => {\r\n if (result === true) {\r\n\r\n }\r\n });\r\n }\r\n\r\n downloadQRCode(item: ViewModelPhongTro) {\r\n const tenNhaTro: string = this.lstNhatro?.find(c => c.id === item.idnhatro)?.ten;\r\n this.qrcode.exportSVG().then((dataURI) => {\r\n saveAs(dataURI, `${tenNhaTro}_${item.ten}_QR Code.svg`);\r\n });\r\n }\r\n\r\n export(pdf, item: ViewModelPhongTro) {\r\n this.tenNhaTro = this.lstNhatro?.find(c => c.id === item.idnhatro)?.ten;\r\n pdf.saveAs(`${this.tenNhaTro}_${item.ten}_QR Code.pdf`);\r\n }\r\n\r\n changeUnit(item) {\r\n if (!item && this.target.data.length > 0) {\r\n this.target.data.forEach(c => {\r\n if (!c.temporaryDate) {\r\n c.checked = this.checkAll;\r\n c.status = !c.status;\r\n }\r\n });\r\n } else {\r\n this.checkAll = this.target.data.filter(c => !c.checked).length === 0;\r\n if (!item.temporaryDate) {\r\n item.status = !item.status;\r\n }\r\n }\r\n this.existChecked = this.target.data?.filter(c => c.checked)?.length > 0;\r\n }\r\n}\r\n","\r\n \r\n
    \r\n
    \r\n {{ title }}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n  \r\n \r\n  \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    STTTên phòngSố ngườiTầngDiện tích (m2)Đơn giá (VNĐ)Trạng tháiHoạt độngHành động
    {{ i + 1 }}{{ item.ten }}{{ item.slnguoithuephong | number }}/{{ item.songuoitoida | number }}{{ item.tang }}{{ item.dientich | number }}{{ item.dongia | number }}{{ getTrangthai(item.trangthai) }}\r\n \r\n \r\n   \r\n \r\n   \r\n   \r\n   \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {{ tenNhaTro }} - {{ item.ten }}
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n Quản lý nhà trọ - BG\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    Không có dữ liệu.
    \r\n
    \r\n
    \r\n
    0\" class=\"row\">\r\n
    \r\n
    Tổng số bản ghi: {{ target?.recordsCount }}
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { QLPhongService } from '../../quan-ly-phong.service';\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-phong-share',\r\n templateUrl: './quan-ly-phong-share.component.html',\r\n styleUrls: ['./quan-ly-phong-share.component.scss']\r\n})\r\nexport class QLPhongShareComponent implements OnInit {\r\n\r\n constructor(\r\n private reportService: QLPhongService,\r\n private commonService: CommonService,\r\n @Inject(MAT_DIALOG_DATA) private data: { hoatdong: boolean },\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n\r\n bCqnhanuoc: boolean;\r\n bNguoidan: boolean;\r\n message = '';\r\n ngOnInit(): void {\r\n this.message = this.data.hoatdong ? 'Xác nhận phòng ngừng hoạt động' : 'Xác nhận phòng hoạt động';\r\n }\r\n\r\n confirm() {\r\n this.dialogRef.close(true);\r\n }\r\n\r\n close() {\r\n this.dialogRef.close(false);\r\n }\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n  Thông báo\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {{message}}?\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { DUPLICATE_RESPONE, STATUS_ACTION, ViewNhaTro } from './../../../../../@core/customs/constants';\r\nimport { NgForm } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { AppCongAnApiService, PhongtroEntity } from './../../../../../@core/data/app-congan.service';\r\nimport { CommonService } from './../../../../../@core/customs/common.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { QLPhongService, ViewModelPhongTro } from '../../quan-ly-phong.service';\r\nimport { QLNhaTroService } from 'app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-nha-tro.service';\r\nimport { CurrencyMaskConfig, CurrencyMaskInputMode } from 'ngx-currency';\r\n\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-phong',\r\n templateUrl: './quan-ly-phong.component.html'\r\n})\r\nexport class QLPhongComponent implements OnInit {\r\n\r\n constructor(\r\n private commonService: CommonService,\r\n public service: QLPhongService,\r\n private serviceNhatro: QLNhaTroService,\r\n private congAnService: AppCongAnApiService,\r\n @Inject(MAT_DIALOG_DATA) public fromParent: {\r\n isMulti: boolean,\r\n id: string, title: string, action: number\r\n , idNhaTro: number, data: ViewModelPhongTro, fromPhong: any, info: any, lstPhong: any[]\r\n },\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n lstPhongTroEditID: string[] = [];\r\n type = 0;\r\n folder: string;\r\n types: number;\r\n listFileTemp: any[] = [];\r\n target = {\r\n entity: new ViewModelPhongTro(),\r\n listDetail: [],\r\n listFile: [],\r\n };\r\n\r\n configPrice: CurrencyMaskConfig = {\r\n align: 'left',\r\n allowNegative: false,\r\n allowZero: true,\r\n decimal: ',',\r\n precision: 0,\r\n prefix: '',\r\n suffix: '',\r\n thousands: '.',\r\n nullable: false,\r\n min: 0,\r\n max: 999999999,\r\n inputMode: CurrencyMaskInputMode.NATURAL\r\n };\r\n\r\n configArea: CurrencyMaskConfig = {\r\n align: 'left',\r\n allowNegative: false,\r\n allowZero: true,\r\n decimal: ',',\r\n precision: 2,\r\n prefix: '',\r\n suffix: '',\r\n thousands: '.',\r\n nullable: false,\r\n min: 0,\r\n max: 9999,\r\n inputMode: CurrencyMaskInputMode.NATURAL\r\n };\r\n\r\n configAmount: CurrencyMaskConfig = {\r\n align: 'left',\r\n allowNegative: false,\r\n allowZero: true,\r\n decimal: ',',\r\n precision: 0,\r\n prefix: '',\r\n suffix: '',\r\n thousands: '.',\r\n nullable: false,\r\n min: 2,\r\n max: 999,\r\n inputMode: CurrencyMaskInputMode.NATURAL\r\n };\r\n\r\n lstDienTich: any[] = [];\r\n lstDonGia: any[] = [];\r\n lstNhatro: any[] = [];\r\n getDataInsert(): void {\r\n this.lstNhatro = [];\r\n this.serviceNhatro.selectAll().subscribe(result => {\r\n this.lstNhatro = result.data.map(c => new ViewNhaTro({\r\n id: c.id,\r\n ten: c.tennhatro\r\n }));\r\n });\r\n if (this.lstPhongTroEditID.length === 0 && [STATUS_ACTION.edit, STATUS_ACTION.detail].indexOf(this.fromParent.action) > -1) {\r\n this.target.entity = this.fromParent.data;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.fromParent.isMulti) {\r\n this.lstPhongTroEditID = this.fromParent.id.split(',');\r\n }\r\n\r\n this.getDataInsert();\r\n this.folder = this.service.getFolder();\r\n this.type = this.service.getType();\r\n this.target.entity.ma = `P${new Date().getTime()}`;\r\n }\r\n\r\n create() {\r\n if (this.fromParent.isMulti) {\r\n let lstPt: PhongtroEntity[] = [];\r\n this.lstPhongTroEditID.forEach(f => {\r\n const postData = new PhongtroEntity({\r\n dientich: Number(this.target.entity.dientich),\r\n dongia: Number(this.target.entity.dongia),\r\n hoatdong: this.target.entity.id ? this.target.entity.hoatdong : true,\r\n id: parseInt(f),\r\n idnhatro: this.fromParent.idNhaTro,\r\n mota: this.target.entity.mota,\r\n ngaytao: new Date(),\r\n songuoitoida: this.target.entity.songuoitoida,\r\n tenphong: this.fromParent.lstPhong.find(fi => fi.id === f)?.ten,\r\n trangthai: this.target.entity.trangthai === null || this.target.entity.trangthai === undefined ? 0 : Number(this.target.entity.trangthai),\r\n maphong: this.fromParent.lstPhong.find(fi => fi.id === f)?.ma,\r\n tang: this.target.entity.tang,\r\n isDirty: true,\r\n isNew: false\r\n });\r\n lstPt.push(postData);\r\n });\r\n\r\n this.congAnService.appCongAnApiV1PhongTroUpdateMultiple(lstPt).subscribe((sub) => {\r\n if (sub.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close(true);\r\n } else if (sub.code === DUPLICATE_RESPONE) {\r\n this.commonService.toastrWarning(\r\n sub.message ?? 'Tên đã tồn tại trên hệ thống'\r\n );\r\n } else {\r\n this.commonService.toastrDanger(sub.message);\r\n }\r\n });\r\n } else {\r\n const postData = new PhongtroEntity({\r\n dientich: Number(this.target.entity.dientich),\r\n dongia: Number(this.target.entity.dongia),\r\n hoatdong: this.target.entity.id ? this.target.entity.hoatdong : true,\r\n id: this.target.entity.id,\r\n idnhatro: this.fromParent.idNhaTro,\r\n mota: this.target.entity.mota,\r\n ngaytao: new Date(),\r\n songuoitoida: this.target.entity.songuoitoida,\r\n tenphong: this.target.entity.ten,\r\n trangthai: this.target.entity.trangthai === null || this.target.entity.trangthai === undefined ? 0 : Number(this.target.entity.trangthai),\r\n maphong: this.target.entity.ma,\r\n tang: this.target.entity.tang,\r\n });\r\n\r\n this.service.confirm(postData, this.fromParent.action).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close(true);\r\n } else if (result.code === DUPLICATE_RESPONE) {\r\n this.commonService.toastrWarning(\r\n result.message ?? 'Tên đã tồn tại trên hệ thống !'\r\n );\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n for (let i = 0; i < files.length; i++) {\r\n this.listFileTemp.push({ type: this.type, fileName: files[i].name, data: files[i] });\r\n }\r\n }\r\n deleteFile(file: any) {\r\n const index = this.listFileTemp.indexOf(file);\r\n if (index !== -1) this.listFileTemp.splice(index, 1);\r\n }\r\n\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n {{ fromParent.title }}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    Tên phòng là bắt buộc
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    Tầng là bắt buộc
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    Đơn giá là bắt buộc
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { QLTamTruIndexComponent } from './quan-ly-tam-tru/quan-ly-tam-tru-index/quan-ly-tam-tru-index.component';\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n children: [\r\n { path: '', component: QLTamTruIndexComponent },\r\n ]\r\n }\r\n];\r\n","import {\r\n AppCongAnApiService,\r\n PhongtroEntityListApiResponse,\r\n SearchModel,\r\n TemporaryModelIEnumerablePageModelViewApiResponse,\r\n} from './../../../@core/data/app-congan.service';\r\nimport { Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class QLTamTruService {\r\n constructor(\r\n private api: AppCongAnApiService\r\n ) { }\r\n\r\n paging(body: SearchModel | undefined): Observable {\r\n return this.api.appCongAnApiV1TemporaryPaging(body);\r\n }\r\n\r\n getListRoomByMotel(motelId: number): Observable {\r\n return this.api.appCongAnApiV1PhongTroSelectByIdNhaTro(motelId, 2);\r\n }\r\n}\r\n\r\n","// import { CommonService } from 'app/@core/customs/common.service';\r\nimport { SUCCESS_RESPONSE, STATUS_ACTION } from 'app/@core/customs/constants';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { PAGE_SIZE } from 'app/@core/customs/constants';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DsKhachThueService } from 'app/modules/app-congan-admin/ds-khach-thue/ds-khach-thue.service';\r\nimport { QLKhachService } from 'app/modules/app-congan-admin/quan-ly-khach/quan-ly-khach.service';\r\nimport { AppCongAnApiService, NguoiThueModel, NhatroEntity, NhaTroIndexModel, PhongtroEntity, SearchModel, SelectNhaTroPostModel, TemporaryModel } from 'app/@core/data/app-congan.service';\r\nimport { QLTamTruService } from '../../quan-ly-tam-tru.service';\r\nimport { DangKyTamTruConfirmComponent } from 'app/modules/app-congan-admin/quan-ly-khach/dang-ky-tam-tru-confirm/dang-ky-tam-tru-confirm.component';\r\nimport { CommonService, ConvertDatePipe } from 'app/@core/customs/common.service';\r\nimport { Workbook } from 'exceljs';\r\nimport * as fs from 'file-saver';\r\nimport { DeleteDialogComponent } from 'app/@theme/components/template/dialog/delete/delete-dialog.component';\r\n@Component({\r\n selector: 'ngx-quan-ly-tam-tru-index',\r\n templateUrl: './quan-ly-tam-tru-index.component.html',\r\n styleUrls: ['./quan-ly-tam-tru-index.component.scss']\r\n})\r\nexport class QLTamTruIndexComponent implements OnInit {\r\n\r\n constructor(\r\n private service: QLTamTruService,\r\n private serviceListTenant: DsKhachThueService,\r\n private commonService: CommonService,\r\n private dialog: MatDialog,\r\n private managerTenantService: QLKhachService,\r\n private api: AppCongAnApiService,\r\n ) { }\r\n\r\n title: string = 'Danh sách người thuê tạm trú';\r\n totalRecord: number;\r\n searchModel: SearchModel = new SearchModel({\r\n fromDate: null,\r\n toDate: null,\r\n motelId: null,\r\n roomId: null,\r\n statusBool: null,\r\n search: null,\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE\r\n });\r\n\r\n pageModel: SearchModel = new SearchModel({});\r\n\r\n target: any = {\r\n data: []\r\n };\r\n\r\n lstMotel: NhaTroIndexModel[] = [];\r\n lstRoom: PhongtroEntity[] = [];\r\n lstRoomMaster: PhongtroEntity[] = [];\r\n\r\n lstStatus: any[] = [\r\n {\r\n value: true,\r\n text: 'Đã đăng ký'\r\n },\r\n {\r\n value: false,\r\n text: 'Chưa đăng ký'\r\n }\r\n ];\r\n checkAll: boolean = false;\r\n\r\n ngOnInit(): void {\r\n this.getListMotel();\r\n this.loadData();\r\n }\r\n\r\n loadData() {\r\n this.checkAll = false;\r\n this.existChecked = false;\r\n this.pageModel.fromDate = this.searchModel.fromDate ? new Date(this.searchModel.fromDate) : null;\r\n this.pageModel.toDate = this.searchModel.toDate ? new Date(this.searchModel.toDate) : null;\r\n this.pageModel.motelId = this.searchModel.motelId;\r\n this.pageModel.roomId = this.searchModel.roomId;\r\n this.pageModel.statusBool = this.searchModel.statusBool;\r\n this.pageModel.search = this.searchModel.search;\r\n this.pageModel.currentPage = this.searchModel.currentPage;\r\n this.pageModel.pageSize = this.searchModel.pageSize;\r\n this.service.paging(this.pageModel).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target = res.data;\r\n this.totalRecord = res.data.totalRecord;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n getListMotel() {\r\n const model = new SelectNhaTroPostModel({\r\n districtCode: this.searchModel.districtCode,\r\n wardCode: this.searchModel.wardCode,\r\n type: 1 // khách thuê là 1\r\n });\r\n this.serviceListTenant.getListSearchIndex(model).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstMotel = res?.data?.lstNhaTro;\r\n\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n changeMotel() {\r\n if (this.searchModel.motelId) {\r\n this.service.getListRoomByMotel(this.searchModel.motelId).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstRoom = res?.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n }\r\n\r\n changeTemporary(item: TemporaryModel) {\r\n if (item.status) {\r\n this.dialog.open(DangKyTamTruConfirmComponent,\r\n this.commonService.configDialog('20%', {})).afterClosed().subscribe(result => {\r\n if (result) {\r\n if (item.status) {\r\n const model = new NguoiThueModel();\r\n model.id = item.id;\r\n model.idPhong = item.roomId;\r\n model.ngayDangKyTamTru = result ? new Date(result) : null;\r\n model.dangkytamtrutamvang = item.status;\r\n\r\n const lstData: NguoiThueModel[] = [];\r\n lstData.push(model);\r\n this.registerTemporary(lstData);\r\n }\r\n } else {\r\n item.status = !item.status;\r\n }\r\n });\r\n } else {\r\n this.dialog.open(DeleteDialogComponent,\r\n this.commonService.configDialog('20%', 'Xác nhận hủy đăng ký tạm trú với công dân ' + item.tenantName + '?'\r\n )).afterClosed().subscribe(result => {\r\n if (result) {\r\n if (!item.status) {\r\n const model = new NguoiThueModel();\r\n model.id = item.id;\r\n model.idPhong = item.roomId;\r\n model.ngayDangKyTamTru = null;\r\n model.dangkytamtrutamvang = item.status;\r\n\r\n const lstData: NguoiThueModel[] = [];\r\n lstData.push(model);\r\n this.cancelRegistration(lstData);\r\n }\r\n } else {\r\n item.status = !item.status;\r\n }\r\n });\r\n }\r\n }\r\n\r\n registerTemporary(lstData: NguoiThueModel[]) {\r\n this.managerTenantService.dangKyTamTru(lstData).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Đăng ký tạm trú thành công.');\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n this.loadData();\r\n });\r\n }\r\n\r\n cancelRegistration(lstData: NguoiThueModel[]){\r\n this.api.appCongAnApiV1NguoiThueHuyDangKyTamTru(lstData).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Hủy đăng ký tạm trú thành công.');\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n this.loadData();\r\n });\r\n }\r\n\r\n registerAll() {\r\n this.dialog.open(DangKyTamTruConfirmComponent,\r\n this.commonService.configDialog('20%', {})).afterClosed().subscribe(result => {\r\n if (result) {\r\n const lstData: NguoiThueModel[] = [];\r\n let lstTemporary: TemporaryModel[] = [];\r\n lstTemporary = this.target.data?.filter(c => c.checked);\r\n lstTemporary.map(item => {\r\n if (item.status) {\r\n const model = new NguoiThueModel();\r\n model.id = item.id;\r\n model.idPhong = item.roomId;\r\n model.ngayDangKyTamTru = result ? new Date(result) : null;\r\n model.dangkytamtrutamvang = item.status;\r\n lstData.push(model);\r\n }\r\n });\r\n if (lstData?.length > 0) {\r\n this.registerTemporary(lstData);\r\n }\r\n }\r\n });\r\n }\r\n\r\n cancelregistrationAll() {\r\n this.dialog.open(DeleteDialogComponent,\r\n this.commonService.configDialog('20%', 'Xác nhận hủy đăng ký tạm trú hàng loạt?')).afterClosed().subscribe(result => {\r\n if (result) {\r\n const lstData: NguoiThueModel[] = [];\r\n let lstTemporary: TemporaryModel[] = [];\r\n lstTemporary = this.target.data?.filter(c => c.checked);\r\n lstTemporary.map(item => {\r\n if (!item.status) {\r\n const model = new NguoiThueModel();\r\n model.id = item.id;\r\n model.idPhong = item.roomId;\r\n model.ngayDangKyTamTru = null;\r\n model.dangkytamtrutamvang = item.status;\r\n lstData.push(model);\r\n }\r\n });\r\n if (lstData?.length > 0) {\r\n this.cancelRegistration(lstData);\r\n }\r\n }\r\n });\r\n }\r\n\r\n existChecked: boolean = false;\r\n eventChecked = (item) => {\r\n if (!item && this.target.data.length > 0) {\r\n this.target.data.forEach(c => {\r\n if (!c.temporaryDate) {\r\n c.checked = this.checkAll;\r\n c.status = !c.status;\r\n }\r\n });\r\n } else {\r\n this.checkAll = this.target.data.filter(c => !c.checked).length === 0;\r\n // if (!item.temporaryDate) {\r\n // item.status = !item.status;\r\n // }\r\n item.status = !item.status;\r\n\r\n }\r\n this.existChecked = this.target.data?.filter(c => c.checked)?.length > 0;\r\n }\r\n\r\n search() {\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n exportExcel() {\r\n const datePipe = new ConvertDatePipe();\r\n const workbook = new Workbook();\r\n const worksheet = workbook.addWorksheet('Dữ liệu', {\r\n pageSetup: { paperSize: 50 },\r\n });\r\n\r\n worksheet.columns = [\r\n { header: [this.title, '', 'STT'], key: 'index', width: 8 },\r\n { header: [this.title, '', 'Tên khách thuê'], key: 'tenantName', width: 25 },\r\n { header: [this.title, '', 'Nhà trọ'], key: 'motelName', width: 30 },\r\n { header: [this.title, '', 'Phòng trọ'], key: 'roomName', width: 15 },\r\n { header: [this.title, '', 'Địa chỉ nhà trọ'], key: 'motelAddress', width: 30 },\r\n { header: [this.title, '', 'Ngày thuê\t'], key: 'rentalDate', width: 15 },\r\n { header: [this.title, '', 'Tình trạng\t'], key: 'status', width: 15 },\r\n { header: [this.title, '', 'Ngày đăng ký tạm trú'], key: 'temporaryDate', width: 15 },\r\n { header: [this.title, '', 'CMND/CCCD'], key: 'identifier', width: 15 },\r\n { header: [this.title, '', 'HKTT'], key: 'tenantAddress', width: 35 },\r\n { header: [this.title, '', 'Ngày sinh'], key: 'birthDate', width: 15 },\r\n { header: [this.title, '', 'Giới tính'], key: 'gender', width: 10 },\r\n { header: [this.title, '', 'Dân tộc'], key: 'ethnic', width: 10 },\r\n { header: [this.title, '', 'Điện thoại'], key: 'phoneNumber', width: 15 },\r\n\r\n\r\n ];\r\n\r\n worksheet.mergeCells('A1', 'N1');\r\n worksheet.getCell('A1', 'N1').style = {\r\n font: { bold: true, size: 17, name: 'Times New Roman' },\r\n alignment: { vertical: 'middle', horizontal: 'center', wrapText: true },\r\n };\r\n worksheet.getRow(1).height = 40;\r\n worksheet.getRow(3).height = 35;\r\n worksheet.getRow(3).alignment = { horizontal: 'center', vertical: 'middle', wrapText: true };\r\n worksheet.getRow(3).font = { bold: true, name: 'Times New Roman', size: 11 };\r\n\r\n let index = 0;\r\n this.pageModel.pageSize = this.totalRecord;\r\n this.service.paging(this.pageModel).subscribe(res => {\r\n res.data.data.forEach((e) => {\r\n index++;\r\n worksheet.addRow(\r\n {\r\n index: index,\r\n tenantName: e.tenantName,\r\n motelName: e.motelName,\r\n roomName: e.roomName,\r\n motelAddress: e.motelAddress,\r\n rentalDate: datePipe.convertStringToDateString(datePipe.convertDateToString(e.rentalDate)),\r\n status: e.status === true ? 'Đã đăng ký' : 'Chưa đăng ký',\r\n temporaryDate: datePipe.convertStringToDateString(datePipe.convertDateToString(e.temporaryDate)),\r\n identifier: e.identifier,\r\n tenantAddress: e.tenantAddress,\r\n birthDate: datePipe.convertStringToDateString(datePipe.convertDateToString(e.birthDate)),\r\n gender: e.gender,\r\n ethnic: e.ethnic,\r\n phoneNumber: e.phoneNumber\r\n },\r\n 'n'\r\n );\r\n });\r\n\r\n worksheet.eachRow((row, rowNumber) => {\r\n if (rowNumber > 2) {\r\n for (let colNumber = 1; colNumber < 15; colNumber++) {\r\n if (rowNumber === 3) {\r\n worksheet.getCell(rowNumber, colNumber).border = {\r\n top: { style: 'thin' },\r\n right: { style: 'thin' },\r\n bottom: { style: 'thin' },\r\n left: { style: 'thin' },\r\n };\r\n } else {\r\n if ([1, 7, 12, 13].includes(colNumber)) {\r\n worksheet.getCell(rowNumber, colNumber).style = {\r\n font: { size: 11, name: 'Times New Roman' },\r\n alignment: { vertical: 'middle', horizontal: 'center', wrapText: true },\r\n };\r\n }else if ([6, 8 ,11].includes(colNumber)){\r\n worksheet.getCell(rowNumber, colNumber).style = {\r\n font: { size: 11, name: 'Times New Roman' },\r\n alignment: { vertical: 'middle', horizontal: 'right', wrapText: true },\r\n };\r\n } else {\r\n worksheet.getCell(rowNumber, colNumber).style = {\r\n font: { size: 11, name: 'Times New Roman' },\r\n alignment: { vertical: 'middle', wrapText: true },\r\n };\r\n }\r\n worksheet.getCell(rowNumber, colNumber).border = {\r\n top: { style: 'thin' },\r\n right: { style: 'thin' },\r\n bottom: { style: 'thin' },\r\n left: { style: 'thin' },\r\n };\r\n }\r\n }\r\n }\r\n });\r\n\r\n workbook.xlsx.writeBuffer().then((data) => {\r\n const blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n fs.saveAs(blob, this.title + '.xlsx');\r\n });\r\n });\r\n }\r\n\r\n exportExcelPage() {\r\n const datePipe = new ConvertDatePipe();\r\n const workbook = new Workbook();\r\n const worksheet = workbook.addWorksheet('Dữ liệu', {\r\n pageSetup: { paperSize: 50 },\r\n });\r\n\r\n worksheet.columns = [\r\n { header: [this.title, '', 'STT'], key: 'index', width: 8 },\r\n { header: [this.title, '', 'Tên khách thuê'], key: 'tenantName', width: 25 },\r\n { header: [this.title, '', 'Nhà trọ'], key: 'motelName', width: 30 },\r\n { header: [this.title, '', 'Phòng trọ'], key: 'roomName', width: 15 },\r\n { header: [this.title, '', 'Địa chỉ nhà trọ'], key: 'motelAddress', width: 30 },\r\n { header: [this.title, '', 'Ngày thuê\t'], key: 'rentalDate', width: 15 },\r\n { header: [this.title, '', 'Tình trạng\t'], key: 'status', width: 15 },\r\n { header: [this.title, '', 'Ngày đăng ký tạm trú'], key: 'temporaryDate', width: 15 },\r\n { header: [this.title, '', 'CMND/CCCD'], key: 'identifier', width: 15 },\r\n { header: [this.title, '', 'HKTT'], key: 'tenantAddress', width: 35 },\r\n { header: [this.title, '', 'Ngày sinh'], key: 'birthDate', width: 15 },\r\n { header: [this.title, '', 'Giới tính'], key: 'gender', width: 10 },\r\n { header: [this.title, '', 'Dân tộc'], key: 'ethnic', width: 10 },\r\n { header: [this.title, '', 'Điện thoại'], key: 'phoneNumber', width: 15 },\r\n\r\n\r\n ];\r\n\r\n worksheet.mergeCells('A1', 'N1');\r\n worksheet.getCell('A1', 'N1').style = {\r\n font: { bold: true, size: 17, name: 'Times New Roman' },\r\n alignment: { vertical: 'middle', horizontal: 'center', wrapText: true },\r\n };\r\n worksheet.getRow(1).height = 40;\r\n worksheet.getRow(3).height = 35;\r\n worksheet.getRow(3).alignment = { horizontal: 'center', vertical: 'middle', wrapText: true };\r\n worksheet.getRow(3).font = { bold: true, name: 'Times New Roman', size: 11 };\r\n\r\n let index = 0;\r\n this.pageModel.pageSize = this.totalRecord;\r\n this.target.data.forEach((e) => {\r\n index++;\r\n worksheet.addRow(\r\n {\r\n index: index,\r\n tenantName: e.tenantName,\r\n motelName: e.motelName,\r\n roomName: e.roomName,\r\n motelAddress: e.motelAddress,\r\n rentalDate: datePipe.convertStringToDateString(datePipe.convertDateToString(e.rentalDate)),\r\n status: e.status === true ? 'Đã đăng ký' : 'Chưa đăng ký',\r\n temporaryDate: datePipe.convertStringToDateString(datePipe.convertDateToString(e.temporaryDate)),\r\n identifier: e.identifier,\r\n tenantAddress: e.tenantAddress,\r\n birthDate: datePipe.convertStringToDateString(datePipe.convertDateToString(e.birthDate)),\r\n gender: e.gender,\r\n ethnic: e.ethnic,\r\n phoneNumber: e.phoneNumber\r\n },\r\n 'n'\r\n );\r\n });\r\n\r\n worksheet.eachRow((row, rowNumber) => {\r\n if (rowNumber > 2) {\r\n for (let colNumber = 1; colNumber < 15; colNumber++) {\r\n if (rowNumber === 3) {\r\n worksheet.getCell(rowNumber, colNumber).border = {\r\n top: { style: 'thin' },\r\n right: { style: 'thin' },\r\n bottom: { style: 'thin' },\r\n left: { style: 'thin' },\r\n };\r\n } else {\r\n if ([1, 7, 12, 13].includes(colNumber)) {\r\n worksheet.getCell(rowNumber, colNumber).style = {\r\n font: { size: 11, name: 'Times New Roman' },\r\n alignment: { vertical: 'middle', horizontal: 'center', wrapText: true },\r\n };\r\n }else if ([6, 8 ,11].includes(colNumber)){\r\n worksheet.getCell(rowNumber, colNumber).style = {\r\n font: { size: 11, name: 'Times New Roman' },\r\n alignment: { vertical: 'middle', horizontal: 'right', wrapText: true },\r\n };\r\n } else {\r\n worksheet.getCell(rowNumber, colNumber).style = {\r\n font: { size: 11, name: 'Times New Roman' },\r\n alignment: { vertical: 'middle', wrapText: true },\r\n };\r\n }\r\n worksheet.getCell(rowNumber, colNumber).border = {\r\n top: { style: 'thin' },\r\n right: { style: 'thin' },\r\n bottom: { style: 'thin' },\r\n left: { style: 'thin' },\r\n };\r\n }\r\n }\r\n }\r\n });\r\n\r\n workbook.xlsx.writeBuffer().then((data) => {\r\n const blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n fs.saveAs(blob, this.title + '.xlsx');\r\n });\r\n\r\n }\r\n\r\n\r\n}\r\n","\r\n \r\n
    \r\n
    \r\n QUẢN LÝ TẠM TRÚ\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    STTTên khách\r\n thuêNhà trọ\r\n Phòng trọ\r\n Địa chỉ nhà trọ\r\n Ngày thuê\r\n Ngày đăng ký tạm trú\r\n Tình trạng\r\n CMND/CCCD\r\n HKTTNgày sinh\r\n Giới tính\r\n Dân tộcĐiện thoại\r\n
    \r\n {{(searchModel.currentPage -1) *\r\n searchModel.pageSize + i+ 1}}{{item.tenantName}}{{item.motelName}}{{item.roomName}}{{item.motelAddress}}\r\n \r\n {{item.rentalDate | date : 'dd/MM/yyyy'}}\r\n {{item.temporaryDate | date : 'dd/MM/yyyy'}}\r\n \r\n \r\n {{item.identifier}}{{item.tenantAddress}}\r\n \r\n {{item.birthDate | date : 'dd/MM/yyyy'}}\r\n \r\n {{item.gender}}{{item.ethnic}}\r\n {{item.phoneNumber}}
    Không có dữ liệu.
    \r\n
    \r\n
    \r\n
    0\" class=\"row\">\r\n
    \r\n
    \r\n Tổng số bản ghi: {{target?.recordsCount}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { Routes } from '@angular/router';\r\nimport { QuanLyThongBaoIndexComponent } from './quan-ly-thong-bao/quan-ly-thong-bao-index/quan-ly-thong-bao-index.component';\r\n\r\n\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n children: [\r\n { path: '', component: QuanLyThongBaoIndexComponent },\r\n ]\r\n }\r\n];\r\n","import {\r\n DvnhanModelListApiResponse,\r\n DVNhanThongBaoModel,\r\n ObjectIEnumerableApiResponse,\r\n ShareModel,\r\n StringApiResponse,\r\n SysunitEntityApiResponse,\r\n ThongbaoEntity,\r\n ThongbaoEntityApiResponse,\r\n ThongbaoEntityProcessInsertFileModel,\r\n ThongBaoSelectOneModelApiResponse,\r\n ThongbaoEntityProcessUpdateFileModel,\r\n EntityWithFileModelApiResponse,\r\n ItemCauhinhthongbaoListApiResponse,\r\n ItemCauhinhthongbao,\r\n CauhinhThongbaoViewModelListApiResponse\r\n} from './../../../@core/data/app-congan.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { STATUS_ACTION } from 'app/@core/customs/constants';\r\nimport {\r\n ApiResponse,\r\n AppCongAnApiService,\r\n ObjectIEnumerablePageModelViewApiResponse,\r\n SearchModel\r\n} from 'app/@core/data/app-congan.service';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QuanLyThongBaoService {\r\n statusAction = STATUS_ACTION;\r\n constructor(private api: AppCongAnApiService) {}\r\n\r\n paging(body: SearchModel | undefined): Observable {\r\n return this.api.appCongAnApiV1ThongBaoPagingWeb(body);\r\n }\r\n\r\n selectAllDonvi(xa: string): Observable {\r\n return this.api.appCongAnApiV1ThongBaoSelectNhaTroByXa(xa);\r\n }\r\n\r\n selectAllDiaban(): Observable {\r\n return this.api.appCongAnApiV1DmDiaBanSelectAll();\r\n }\r\n\r\n selectAllDoituong(cap: string): Observable {\r\n return this.api.appCongAnApiV1ThongBaoSelectSysunitByCap();\r\n }\r\n\r\n insert(body: ThongbaoEntityProcessInsertFileModel | undefined): Observable {\r\n return this.api.appCongAnApiV1ThongBaoInsertWithFile(body);\r\n }\r\n\r\n InsertDvnhanPhong(body: DVNhanThongBaoModel | undefined): Observable {\r\n return this.api.appCongAnApiV1ThongBaoInsertDvnhanPhong(body);\r\n }\r\n\r\n // selectOne(type: number): Observable {\r\n // return this.api.appCongAnApiV1ThongBaoSelectOne(type);\r\n // }\r\n\r\n SelectAllDiaBan(): Observable {\r\n return this.api.appCongAnApiV1DmDiaBanSelectAll();\r\n }\r\n\r\n TenTk(type: number): Observable {\r\n return this.api.appCongAnApiV1ThongBaoTenTk(type);\r\n }\r\n\r\n selectAll(): Observable {\r\n return this.api.appCongAnApiV1ThongBaoSelectTbbyUserName();\r\n }\r\n\r\n update(body: ThongbaoEntityProcessUpdateFileModel | undefined): Observable {\r\n return this.api.appCongAnApiV1ThongBaoUpdateWithFile(body);\r\n }\r\n\r\n delete(id: number): Observable {\r\n return this.api.appCongAnApiV1ThongBaoDeleteWithFile(id);\r\n }\r\n\r\n share(body: number): Observable {\r\n return this.api.appCongAnApiV1ThongBaoShare(body);\r\n }\r\n\r\n DeleteListrecord(body: number[]): Observable {\r\n return this.api.appCongAnApiV1ThongBaoDeleteListRecord(body);\r\n }\r\n\r\n selectOneWithUnitCode(unitCode: string): Observable {\r\n return this.api.appCongAnApiV1DonViSelectOneWithUnitCode(unitCode);\r\n }\r\n\r\n actionDetail(body: number): Observable {\r\n return this.api.appCongAnApiV1ThongBaoActionDetail(body);\r\n }\r\n\r\n SelectFeedback(body: number): Observable {\r\n return this.api.appCongAnApiV1ThongBaoSelectFeedback(body);\r\n }\r\n\r\n selectOneWithThongbao(id: number, type: number): Observable {\r\n return this.api.appCongAnApiV1ThongBaoSelectOneWithFile(type, id);\r\n }\r\n\r\n // SelectByIdNhaTro(idNhaTro: number): Observable {\r\n // return this.api.appCongAnApiV1NguoiThueSelectByIdNhaTro(idNhaTro);\r\n // }\r\n\r\n confirm = (data: ThongbaoEntity, statusAction: number): Observable => {\r\n if (statusAction === STATUS_ACTION.create) {\r\n return this.insert(data);\r\n } else if (statusAction === STATUS_ACTION.edit) {\r\n return this.update(data);\r\n }\r\n };\r\n\r\n getFolder(): string {\r\n return 'ThongBao';\r\n }\r\n\r\n getType(): number {\r\n return 1111;\r\n }\r\n\r\n getCauHinhThongBao(unitCode: string): Observable {\r\n return this.api.appCongAnApiV1CauhinhthongbaoPagingCauhinhthongbao(unitCode);\r\n }\r\n\r\n insertCauHinh(body: ItemCauhinhthongbao): Observable {\r\n return this.api.appCongAnApiV1CauhinhthongbaoPostInsertCauhinhthongbao(body);\r\n }\r\n \r\n updateCauHinh(body: ItemCauhinhthongbao): Observable {\r\n return this.api.appCongAnApiV1CauhinhthongbaoPostUpdateCauhinhthongbao(body);\r\n }\r\n\r\n deleteCauHinh(id: number): Observable {\r\n return this.api.appCongAnApiV1CauhinhthongbaoPostDeleteCauhinhthongbao(id);\r\n }\r\n}\r\n\r\nexport class ViewModelThongBao {\r\n chude?: string | undefined;\r\n dvlap?: string | undefined;\r\n dvnhan?: string | undefined;\r\n id?: number;\r\n ngaylap?: Date | undefined;\r\n ngaygui?: Date | undefined;\r\n noidung?: string | undefined;\r\n tendvlap?: string | undefined;\r\n trangthai?: number;\r\n trangthaixem?: number;\r\n dsdvnhan: string;\r\n doituongnhan: string;\r\n isFeedback: boolean;\r\n loaiThongbao?: number;\r\n mahuyen: string;\r\n maxa: string;\r\n loai: number;\r\n constructor(data?: ViewModelThongBao) {\r\n if (data) {\r\n this.id = data.id;\r\n this.chude = data.chude;\r\n this.dvlap = data.dvlap;\r\n this.dvnhan = data.dvnhan;\r\n this.ngaylap = data.ngaylap;\r\n this.ngaygui = data.ngaygui;\r\n this.noidung = data.noidung;\r\n this.tendvlap = data.tendvlap;\r\n this.trangthai = data.trangthai;\r\n this.trangthaixem = data.trangthaixem;\r\n this.dsdvnhan = data.dsdvnhan;\r\n this.isFeedback = data.isFeedback;\r\n this.doituongnhan = data.doituongnhan;\r\n this.loaiThongbao = data.loaiThongbao;\r\n this.mahuyen = data.mahuyen;\r\n this.maxa = data.maxa;\r\n this.loai = data.loai;\r\n }\r\n }\r\n}\r\n","import { TokenService } from 'app/@core/token.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { CommonService, ConvertDatePipe } from 'app/@core/customs/common.service';\r\nimport { QuanLyThongBaoService } from '../../quan-ly-thong-bao.service';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { NgForm } from '@angular/forms';\r\nimport { ItemCauhinhthongbao } from 'app/@core/data/app-congan.service';\r\nimport { SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { IUserDataToken } from 'app/@core/auth.service';\r\n\r\n@Component({\r\n selector: 'ngx-cau-hinh',\r\n templateUrl: './cau-hinh.component.html',\r\n styleUrls: ['./cau-hinh.component.scss']\r\n})\r\nexport class CauHinhComponent implements OnInit {\r\n selectedItem: number;\r\n selectedItemLoai: number;\r\n item: ItemCauhinhthongbao;\r\n curr: IUserDataToken;\r\n title: string;\r\n\r\n constructor(\r\n public commonService: CommonService,\r\n public service: QuanLyThongBaoService,\r\n @Inject(MAT_DIALOG_DATA)\r\n public data: { data: ItemCauhinhthongbao },\r\n private dialogRef: MatDialogRef\r\n ) {}\r\n\r\n loadData() {\r\n this.commonService.getUserInfo().subscribe((result) => {\r\n this.curr = result;\r\n });\r\n }\r\n\r\n lstLoaiTb: {\r\n text: string;\r\n value: number;\r\n }[] = [\r\n {\r\n text: 'Biến động khách thuê',\r\n value: 1\r\n },\r\n {\r\n text: 'Nhắc nhở tạm trú, tạm vắng',\r\n value: 2\r\n }\r\n ];\r\n\r\n listTanXuat: {\r\n text: string;\r\n value: number;\r\n }[] = [\r\n {\r\n text: 'Theo ngày',\r\n value: 1\r\n },\r\n {\r\n text: 'Theo tuần',\r\n value: 2\r\n },\r\n {\r\n text: 'Theo tháng',\r\n value: 3\r\n },\r\n {\r\n text: 'Theo quý',\r\n value: 4\r\n },\r\n {\r\n text: 'Theo năm',\r\n value: 5\r\n }\r\n ];\r\n\r\n ngOnInit(): void {\r\n this.loadData();\r\n if (!this.data.data) {\r\n this.title = 'Thêm mới cấu hình';\r\n this.item = new ItemCauhinhthongbao();\r\n this.item.trangthai = 1;\r\n this.item.tanxuat = 1;\r\n this.item.loaithongbao = 1;\r\n this.item.tanxuat = 1;\r\n } else {\r\n this.title = 'Chỉnh sửa cấu hình';\r\n this.item = this.data.data;\r\n }\r\n }\r\n\r\n create(frm: NgForm) {\r\n this.item.trangthai = this.item.trangthai ? 1 : 0;\r\n if (!this.data.data) {\r\n this.item.unitcode = this.curr.UnitCode;\r\n this.item.usercreate = this.curr.Id;\r\n this.service.insertCauHinh(this.item).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close(true);\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n } else {\r\n this.item.userupdate = this.curr.Id;\r\n this.item.updateddate = new Date();\r\n this.service.updateCauHinh(this.item).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close(true);\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n }\r\n\r\n chageStatus(id: number) {}\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n {{title}}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { QuanLyThongBaoService } from '../../quan-ly-thong-bao.service';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { CauHinhComponent } from '../cau-hinh/cau-hinh.component';\r\nimport { SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { CauhinhThongbaoViewModel, ItemCauhinhthongbao } from 'app/@core/data/app-congan.service';\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-cau-hinh',\r\n templateUrl: './quan-ly-cau-hinh.component.html',\r\n styleUrls: ['./quan-ly-cau-hinh.component.scss']\r\n})\r\nexport class QuanLyCauHinhComponent implements OnInit {\r\n selectedItem: number;\r\n item: any;\r\n curr: any;\r\n target: CauhinhThongbaoViewModel[];\r\n\r\n constructor(\r\n public commonService: CommonService,\r\n public service: QuanLyThongBaoService,\r\n private dialog: MatDialog,\r\n\r\n @Inject(MAT_DIALOG_DATA)\r\n\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n\r\n loadData() {\r\n this.commonService.getUserInfo().subscribe((result) => {\r\n this.curr = result;\r\n this.service.getCauHinhThongBao(result.UnitCode).subscribe((result) => {\r\n if (result.code == SUCCESS_RESPONSE) {\r\n this.target = result.data;\r\n }\r\n });\r\n });\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n this.loadData();\r\n }\r\n\r\n openCreateDialog(item: ItemCauhinhthongbao) {\r\n this.dialog.open(CauHinhComponent,\r\n this.commonService.configDialog('60%', { data: item }))\r\n .afterClosed().subscribe(result => {\r\n if (result === true) {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n\r\n chageStatus(id: number) {\r\n\r\n }\r\n\r\n deleteData(id: number) {\r\n this.service.deleteCauHinh(id).subscribe(()=>{\r\n this.commonService.toastrSuccess('Xóa thành công!')\r\n this.loadData();\r\n })\r\n }\r\n\r\n}\r\n","\r\n \r\n
    \r\n
    \r\n Cấu hình gửi thông báo tự động\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n
    Loại thông báoNgày lậpNgười lậpTrạng tháiHành động
    {{item.loaithongbao === 1 ? 'Biến động khách thuê theo ngày' : 'Nhắc đăng ký tạm\r\n trú, tạm vắng'}}{{ item.createddate| date: \"dd/MM/yyyy\" }}{{ item.userName }}{{ item.trangthai === 1 ? 'Đang sử dụng' : 'Không sử dụng' }}\r\n   \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    ","import { SUCCESS_RESPONSE, DUPLICATE_RESPONE } from 'app/@core/customs/constants';\r\nimport { IUserDataToken } from 'app/@core/auth.service';\r\nimport { DvnhanModel, DVNhanThongBaoModel } from './../../../../../@core/data/app-congan.service';\r\nimport { TokenService } from 'app/@core/token.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { QuanLyThongBaoService, ViewModelThongBao } from '../../quan-ly-thong-bao.service';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { NgForm } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-thong-bao-feedback',\r\n templateUrl: './quan-ly-thong-bao-feedback.component.html',\r\n styleUrls: ['./quan-ly-thong-bao-feedback.component.scss']\r\n})\r\nexport class FeedBackComponent implements OnInit {\r\n\r\n constructor(\r\n public commonService: CommonService,\r\n public service: QuanLyThongBaoService,\r\n private tokenService: TokenService,\r\n @Inject(MAT_DIALOG_DATA) public fromParent: {\r\n data: DvnhanModel\r\n },\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n\r\n type = 0;\r\n folder: string;\r\n types: number;\r\n listFileTemp: any[] = [];\r\n arr: ViewModelThongBao[] = [];\r\n\r\n target = {\r\n entity: new DVNhanThongBaoModel(),\r\n };\r\n\r\n dvnhan: any[] = [];\r\n userInfo: IUserDataToken;\r\n getDataInsert(): void {\r\n this.tokenService.getUserInfo().subscribe(result => {\r\n this.userInfo = result;\r\n });\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.target.entity.noidungphanhoi = this.fromParent.data.noidungphanhoi;\r\n }\r\n\r\n\r\n\r\n\r\n create(frm: NgForm) {\r\n const postData = new DVNhanThongBaoModel({\r\n idthongbao: this.fromParent.data.idthongbao,\r\n lstDvnhan: [this.fromParent.data.iddvnhan],\r\n noidungphanhoi: this.target.entity.noidungphanhoi,\r\n trangthai: 3\r\n });\r\n this.saveData(postData);\r\n }\r\n\r\n saveData = (postData) => {\r\n this.service.InsertDvnhanPhong(postData).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close(true);\r\n } else if (result.code === DUPLICATE_RESPONE) {\r\n this.commonService.toastrWarning(\r\n 'Tên đã tồn tại trên hệ thống !'\r\n );\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n

    Phản hồi thông báo

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { PAGE_SIZE, SUCCESS_RESPONSE, STATUS_ACTION, DUPLICATE_RESPONE, LIST_DOI_TUONG } from 'app/@core/customs/constants';\r\nimport { CommonService } from './../../../../../@core/customs/common.service';\r\nimport { QuanLyThongBaoService, ViewModelThongBao } from './../../quan-ly-thong-bao.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { SearchModel, ShareModel } from 'app/@core/data/app-congan.service';\r\nimport { QuanLyThongBaoComponent } from '../quan-ly-thong-bao/quan-ly-thong-bao.component';\r\nimport { ShowFeedBackComponent } from '../quan-ly-thong-bao-showfeedback/quan-ly-thong-bao-showfeedback.component';\r\nimport { CauHinhComponent } from '../cau-hinh/cau-hinh.component';\r\nimport { QuanLyCauHinhComponent } from '../quan-ly-cau-hinh/quan-ly-cau-hinh.component';\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-thong-bao-index',\r\n templateUrl: './quan-ly-thong-bao-index.component.html',\r\n styleUrls: ['./quan-ly-thong-bao-index.component.scss']\r\n})\r\nexport class QuanLyThongBaoIndexComponent implements OnInit {\r\n\r\n constructor(\r\n private service: QuanLyThongBaoService,\r\n private commonService: CommonService,\r\n private dialog: MatDialog\r\n ) { }\r\n\r\n isCAX: boolean = false;\r\n totalPage: number;\r\n searchModel: SearchModel = new SearchModel({\r\n trangThai: null,\r\n sapXep: null,\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE,\r\n search: null,\r\n column: null\r\n });\r\n\r\n initSearchModel() {\r\n this.searchModel.trangThai = 0;\r\n this.searchModel.sapXep = 0;\r\n }\r\n\r\n target: any = {\r\n data: []\r\n };\r\n file: any[] = [];\r\n isLoading: boolean = true;\r\n\r\n ListTrangthai = [{ id: 0, name: 'Đang soạn thảo' }, { id: 1, name: 'Đã gửi' }];\r\n ListSapxep = [{ id: 1, name: 'Tăng dần từ A-Z' }, { id: 2, name: 'Giảm dần từ A-Z' }, { id: 3, name: 'Thời gian cập nhật cũ nhất' },\r\n { id: 4, name: 'Thời gian cập nhật mới nhất' }, { id: 0, name: '-Sắp xếp-' }];\r\n\r\n title: string = 'Quản lý thông báo';\r\n\r\n ngOnInit(): void {\r\n this.commonService.getUserInfo().subscribe((result) => {\r\n if (result.CapDonVi === 3) {\r\n this.isCAX = true;\r\n }\r\n });\r\n this.loadData();\r\n this.initSearchModel();\r\n }\r\n\r\n loadData() {\r\n this.service.paging(this.searchModel).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.target = result.data;\r\n this.totalPage = result.data.totalPage;\r\n const data = result.data?.data;\r\n this.target.data = data.map(x => new ViewModelThongBao({\r\n id: x.entity.id,\r\n chude: x.entity.chude,\r\n dvlap: x.entity.dvlap,\r\n dvnhan: x.entity.dvnhan,\r\n noidung: x.entity.noidung,\r\n ngaylap: x.entity.ngaylap,\r\n trangthai: x.entity.trangthai,\r\n ngaygui: x.entity.ngaygui,\r\n dsdvnhan: x.dsdvnhan,\r\n isFeedback: x.isFeedback,\r\n tendvlap: x.entity.tendvlap,\r\n doituongnhan: x.entity.doituongnhan,\r\n mahuyen: x.entity.mahuyen,\r\n maxa: x.entity.maxa,\r\n loai: x.entity.loai,\r\n }));\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n this.isLoading = false;\r\n });\r\n }\r\n\r\n changeTrangthai(event) {\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n changeSapxep(event) {\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n getTrangthai(item) {\r\n const check = item ? 1 : 0;\r\n return this.ListTrangthai.find(c => c.id === check)?.name ?? null;\r\n }\r\n\r\n searchPage() {\r\n this.searchModel.search = this.searchModel.search;\r\n this.loadData();\r\n }\r\n\r\n resetPage() {\r\n this.searchModel.search = null;\r\n this.searchPage();\r\n }\r\n\r\n openCreateDialog() {\r\n const title = `Thêm mới ${this.title.toLowerCase()}`;\r\n this.dialog.open(QuanLyThongBaoComponent,\r\n this.commonService.configDialog('60%', { id: null, title: title, action: STATUS_ACTION.create }))\r\n .afterClosed().subscribe(result => {\r\n this.loadData();\r\n });\r\n }\r\n\r\n detailData(item: ViewModelThongBao) {\r\n const title = `Chi tiết ${this.title.toLowerCase()}`;\r\n this.dialog.open(QuanLyThongBaoComponent,\r\n this.commonService.configDialog('60%', {\r\n id: item.id, title: title,\r\n action: STATUS_ACTION.detail, data: item\r\n })).afterClosed().subscribe(result => {\r\n this.loadData();\r\n });\r\n }\r\n\r\n editData(item: ViewModelThongBao) {\r\n const title = `Sửa ${this.title.toLowerCase()}`;\r\n this.dialog.open(QuanLyThongBaoComponent,\r\n this.commonService.configDialog('60%', {\r\n id: item.id, title: title,\r\n action: STATUS_ACTION.edit, data: item\r\n })).afterClosed().subscribe(result => {\r\n this.loadData();\r\n });\r\n }\r\n\r\n getDoiTuong(doituong) {\r\n return doituong ? LIST_DOI_TUONG.find(c => c.value === doituong).text : '';\r\n }\r\n\r\n ShowFeedBack(item: ViewModelThongBao) {\r\n this.dialog.open(ShowFeedBackComponent,\r\n this.commonService.configDialog('40%', {\r\n id: item.id, data: item\r\n })).afterClosed().subscribe(result => {\r\n this.loadData();\r\n });\r\n }\r\n\r\n deleteData(id: number, tendonvi: string) {\r\n if (confirm(`Xác nhận xóa`)) {\r\n this.service.delete(id).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.loadData();\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n }\r\n\r\n checkAll: boolean = false;\r\n eventChecked = (item) => {\r\n if (!item && this.target.data.length > 0) {\r\n this.target.data.forEach(c => {\r\n c.checked = this.checkAll;\r\n });\r\n } else {\r\n this.checkAll = this.target.data.filter(c => !c.checked).length === 0;\r\n }\r\n }\r\n\r\n deleteChecked = () => {\r\n if (confirm(`Xác nhận xóa`)) {\r\n const lstDelete = this.target.data?.filter(c => c.checked === true).map(x => x.id);\r\n this.service.DeleteListrecord(lstDelete).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Thành công!!!');\r\n this.loadData();\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n }\r\n\r\n chageStatus = (item) => {\r\n this.service.share(item).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Thành công!!!');\r\n }\r\n this.loadData();\r\n });\r\n }\r\n\r\n\r\n\r\n tentk: string;\r\n chageTentk = (item) => {\r\n this.service.TenTk(item).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.tentk = result.data;\r\n this.target.data.push(this.tentk);\r\n this.commonService.toastrSuccess('Thành công!!!');\r\n }\r\n this.loadData();\r\n });\r\n }\r\n\r\n chageTenDv = (item: string) => {\r\n this.service.selectOneWithUnitCode(item).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Thành công!!!');\r\n }\r\n this.loadData();\r\n });\r\n }\r\n\r\n schedulerNotification() {\r\n this.dialog.open(QuanLyCauHinhComponent,\r\n this.commonService.configDialog('60%', {}))\r\n .afterClosed().subscribe(result => {\r\n if (result === true) {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n\r\n}\r\n","\r\n \r\n
    \r\n
    \r\n

    {{title}}

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n  \r\n
    \r\n \r\n
    \r\n  \r\n \r\n  \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n
    Chủ đềĐối tượng nhậnNgày lậpNgày gửiTrạng tháiHành động
    {{item.chude}}{{ getDoiTuong(item.doituongnhan) }}{{item.ngaylap | date: \"dd/MM/yyyy\"}}{{item.ngaygui | date: \"dd/MM/yyyy\"}}\r\n {{getTrangthai(item.trangthai)}} \r\n \r\n \r\n   \r\n \r\n   \r\n \r\n   \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    0\" class=\"row\">\r\n
    \r\n
    \r\n Tổng số bản ghi: {{target?.recordsCount}}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Không có dữ liệu.\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { SUCCESS_RESPONSE, DUPLICATE_RESPONE } from 'app/@core/customs/constants';\r\nimport { IUserDataToken } from 'app/@core/auth.service';\r\nimport { DvnhanModel, DVNhanThongBaoModel } from './../../../../../@core/data/app-congan.service';\r\nimport { TokenService } from 'app/@core/token.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { QuanLyThongBaoService, ViewModelThongBao } from '../../quan-ly-thong-bao.service';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { NgForm } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-thong-bao-showfeedback',\r\n templateUrl: './quan-ly-thong-bao-showfeedback.component.html',\r\n styleUrls: ['./quan-ly-thong-bao-showfeedback.component.scss']\r\n})\r\nexport class ShowFeedBackComponent implements OnInit {\r\n\r\n constructor(\r\n public commonService: CommonService,\r\n public service: QuanLyThongBaoService,\r\n private tokenService: TokenService,\r\n @Inject(MAT_DIALOG_DATA) public fromParent: {\r\n id: number,\r\n data: DvnhanModel\r\n },\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n\r\n type = 0;\r\n folder: string;\r\n types: number;\r\n listFileTemp: any[] = [];\r\n arr: ViewModelThongBao[] = [];\r\n\r\n target = {\r\n entity: new DVNhanThongBaoModel(),\r\n };\r\n\r\n dvnhan: any[] = [];\r\n userInfo: IUserDataToken;\r\n getDataInsert(): void {\r\n this.tokenService.getUserInfo().subscribe(result => {\r\n this.userInfo = result;\r\n });\r\n\r\n }\r\n lstData: any[] = [];\r\n ngOnInit(): void {\r\n this.service.SelectFeedback(this.fromParent.id).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstData = res.data;\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n create(frm: NgForm) {\r\n const postData = new DVNhanThongBaoModel({\r\n idthongbao: this.fromParent.data.idthongbao,\r\n lstDvnhan: [this.fromParent.data.iddvnhan],\r\n noidungphanhoi: this.target.entity.noidungphanhoi,\r\n trangthai: 3\r\n });\r\n this.saveData(postData);\r\n }\r\n\r\n saveData = (postData) => {\r\n this.service.InsertDvnhanPhong(postData).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close(true);\r\n } else if (result.code === DUPLICATE_RESPONE) {\r\n this.commonService.toastrWarning(\r\n 'Tên đã tồn tại trên hệ thống !'\r\n );\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n

    Phản hồi thông báo

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n
    Chủ đềĐơn vị phản hồiNội dung phản hồi
    {{item.chude}}{{item.tendvnhan}}{{item.noidungphanhoi}}
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { map, filter } from 'rxjs/operators';\r\nimport { STATUS_ACTION, SUCCESS_RESPONSE, DUPLICATE_RESPONE, LIST_DOI_TUONG, ViewDiaBan } from 'app/@core/customs/constants';\r\nimport { IUserDataToken } from 'app/@core/auth.service';\r\nimport {\r\n AttFileattachmentEntity,\r\n ThongbaoEntity,\r\n ThongbaoEntityProcessInsertFileModel,\r\n ThongbaoEntityProcessUpdateFileModel\r\n} from './../../../../../@core/data/app-congan.service';\r\nimport { TokenService } from 'app/@core/token.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { CommonService, ConvertDatePipe } from 'app/@core/customs/common.service';\r\nimport { QuanLyThongBaoService, ViewModelThongBao } from '../../quan-ly-thong-bao.service';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { NgForm } from '@angular/forms';\r\nimport { DropDownFilterSettings } from '@progress/kendo-angular-dropdowns';\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-thong-bao',\r\n templateUrl: './quan-ly-thong-bao.component.html',\r\n styleUrls: ['./quan-ly-thong-bao.component.scss']\r\n})\r\nexport class QuanLyThongBaoComponent implements OnInit {\r\n constructor(\r\n public commonService: CommonService,\r\n public service: QuanLyThongBaoService,\r\n private tokenService: TokenService,\r\n @Inject(MAT_DIALOG_DATA)\r\n public fromParent: {\r\n id: number;\r\n title: string;\r\n action: number;\r\n data: ViewModelThongBao;\r\n dvnhan: number[];\r\n },\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n\r\n type = 0;\r\n folder: string;\r\n types: number;\r\n listFileTemp: any[] = [];\r\n listFileTempOld: any[] = [];\r\n arr: ViewModelThongBao[] = [];\r\n\r\n target = {\r\n entity: new ViewModelThongBao(),\r\n listDetail: [],\r\n listFile: []\r\n };\r\n ngay: any;\r\n test: any[] = [];\r\n listFileTemp1: any[] = [];\r\n lstDonvi: any[] = [];\r\n dvnhan: any[] = [];\r\n userInfo: IUserDataToken;\r\n checkAll: boolean;\r\n lstDoituong: any[] = [];\r\n lstTinh: ViewDiaBan[];\r\n lstHuyen: ViewDiaBan[];\r\n lstXa: ViewDiaBan[];\r\n getDataInsert(): void {\r\n this.tokenService.getUserInfo().subscribe((result) => {\r\n this.userInfo = result;\r\n });\r\n if ([STATUS_ACTION.edit, STATUS_ACTION.detail].indexOf(this.fromParent.action) > -1) {\r\n this.target.entity = this.fromParent.data;\r\n } else {\r\n this.target.entity.tendvlap = this.userInfo.UnitName;\r\n this.target.entity.dvlap = this.userInfo.UnitCode;\r\n this.ngay = new Date();\r\n this.target.entity.ngaylap = new ConvertDatePipe().transform(this.ngay);\r\n this.target.entity.ngaygui = new ConvertDatePipe().transform(this.ngay);\r\n }\r\n }\r\n\r\n loadData() {\r\n this.service;\r\n }\r\n\r\n downLoadFile(fileId: number) {\r\n this.commonService.downloadFile(fileId);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getDataInsert();\r\n this.folder = this.service.getFolder();\r\n this.type = this.service.getType();\r\n if (this.userInfo.CapDonVi) {\r\n this.lstDoituong = this.userInfo.CapDonVi == 1 ? LIST_DOI_TUONG.filter((e) => Number(e.value) <= 4) :\r\n this.userInfo.CapDonVi < 3 ? LIST_DOI_TUONG.filter((e) => Number(e.value) <= 3) : LIST_DOI_TUONG.filter((e) => Number(e.value) >= 3);\r\n if (this.userInfo.CapDonVi === 3 || this.userInfo.CapDonVi === 1) {\r\n this.loadDataDonvi();\r\n }\r\n this.loadDataDoituong();\r\n } else {\r\n this.lstDoituong = LIST_DOI_TUONG;\r\n }\r\n this.loadDiaban();\r\n setTimeout(() => {\r\n if (this.fromParent.id) {\r\n this.load();\r\n }\r\n }, 1000);\r\n }\r\n\r\n load() {\r\n this.service.selectOneWithThongbao(this.fromParent.id, 1).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target.entity.ngaylap = new ConvertDatePipe().transform(res.data.entity.ngaylap);\r\n this.target.entity.ngaygui = new ConvertDatePipe().transform(res.data.entity.ngaygui);\r\n this.value = this.target.entity.noidung;\r\n this.listFileTempOld = res.data.listFile;\r\n if (this.target.entity.maxa != '') {\r\n let lstMaxa = JSON.parse(this.target.entity.maxa);\r\n this.target.entity.maxa = lstMaxa.lstMaXa;\r\n }\r\n this.changeDoituong();\r\n let converData = JSON.parse(this.target.entity.dvnhan);\r\n let tempCA = this.lstCongAn.filter((c) => converData.lstCA.includes(c.unitcode));\r\n let tempNT = this.lstDonvi.filter((c) => converData.lstNT.includes(c.id));\r\n let tempNt2 = tempNT.map((c) => {\r\n return {\r\n text: c.tenchunhatro + ' - ' + c.dienthoai,\r\n id: c.id,\r\n parentId: '4'\r\n };\r\n });\r\n let tempCA1 = tempCA.map((c) => {\r\n // let a = tempNt2.filter((e) => e.id === c.unitcode);\r\n return {\r\n text: c.tendonvi,\r\n id: c.unitcode,\r\n items: [],\r\n parentId: '3'\r\n };\r\n });\r\n this.test = [...tempCA1, ...tempNt2];\r\n }\r\n });\r\n }\r\n\r\n lstDiaban: any[] = [];\r\n loadDiaban() {\r\n this.service.selectAllDiaban().subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstDiaban = res.data;\r\n }\r\n });\r\n }\r\n\r\n loadDataDonvi() {\r\n if (this.target.entity.maxa != null) {\r\n var macode = this.target.entity.maxa;\r\n } else {\r\n macode = this.userInfo.UnitCode;\r\n }\r\n this.service.selectAllDonvi(macode).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstDonvi = result.data;\r\n if (this.fromParent.action === STATUS_ACTION.swap) {\r\n this.dvnhan = this.fromParent.dvnhan;\r\n } else {\r\n if (this.target.entity.dvnhan) {\r\n try {\r\n let parsedData = JSON.parse(this.target.entity.dvnhan);\r\n if (parsedData.lstCA.length > 0) {\r\n this.dvnhan = parsedData.lstCA.map((res) => Number(res.trim()));\r\n } else if (parsedData.lstNT.length > 0) {\r\n this.dvnhan = parsedData.lstNT.map((res) => res);\r\n } else {\r\n this.dvnhan = [];\r\n }\r\n } catch (e) {\r\n console.error(\"Failed to parse dvnhan as JSON\", e);\r\n this.dvnhan = [];\r\n }\r\n } else {\r\n this.dvnhan = [];\r\n }\r\n }\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n\r\n lstCongAn: any[] = [];\r\n loadDataDoituong() {\r\n this.service.selectAllDoituong(this.userInfo.CapDonVi.toString()).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n let temp = res.data.find((c) => c.unitcode === this.userInfo.UnitCode);\r\n this.lstCongAn =\r\n this.userInfo.CapDonVi === 1\r\n ? res.data\r\n : this.userInfo.CapDonVi === 2\r\n ? res.data.filter((c) => c.capdonvi === this.userInfo.CapDonVi.toString() || c.macha === this.userInfo.UnitCode)\r\n : res.data.filter((c) => c.macha === temp.macha);\r\n }\r\n });\r\n }\r\n\r\n lstDonvinhan: any[] = [];\r\n changeDoituong() {\r\n this.test = [];\r\n if (this.userInfo.CapDonVi !== null && this.userInfo.CapDonVi < 3) {\r\n let temp = this.lstCongAn.filter((c) => Number(c.capdonvi) === 2);\r\n let res = temp.map((c) => {\r\n return {\r\n text: c.tendonvi,\r\n id: c.unitcode,\r\n items: [],\r\n parentId: '3'\r\n };\r\n });\r\n if (this.target.entity.doituongnhan === '3' && this.userInfo.CapDonVi === 1) {\r\n res = temp.map((c) => {\r\n let a = this.lstCongAn.filter((e) => e.macha === c.unitcode);\r\n let b = a.map((e) => {\r\n return {\r\n text: e.tendonvi,\r\n id: e.unitcode,\r\n parentId: '3'\r\n };\r\n });\r\n return {\r\n text: this.lstDiaban.find((e) => e.ma === c.unitcode).ten,\r\n id: c.unitcode,\r\n items: b,\r\n parentId: '3'\r\n };\r\n });\r\n }\r\n if (this.target.entity.doituongnhan === '4' && this.userInfo.CapDonVi === 1) {\r\n this.getlistHuyen();\r\n }\r\n if (this.target.entity.doituongnhan === '3' && this.userInfo.CapDonVi !== 1) {\r\n temp = this.lstCongAn.filter((c) => Number(c.capdonvi) === 3);\r\n res = temp.map((c) => {\r\n return {\r\n text: c.tendonvi,\r\n id: c.unitcode,\r\n items: [],\r\n parentId: '3'\r\n };\r\n });\r\n }\r\n this.lstDonvinhan = res;\r\n } else if (this.target.entity.doituongnhan === '3') {\r\n let tempCa = this.lstCongAn;\r\n\r\n this.lstDonvinhan = tempCa.map((c) => {\r\n return {\r\n text: c.tendonvi,\r\n id: c.unitcode,\r\n parentId: '3'\r\n };\r\n });\r\n } else {\r\n let tempNt1 = this.lstDonvi.filter((c) => c.xa === this.userInfo.UnitCode);\r\n let lstChuTro = tempNt1.filter((c, index) => tempNt1.findIndex(x => x.dienthoai === c.dienthoai) === index);\r\n this.lstDonvinhan = lstChuTro.map((c) => {\r\n return {\r\n text: c.tenchunhatro + ' - ' + c.dienthoai,\r\n id: c.id,\r\n parentId: '4'\r\n };\r\n });\r\n }\r\n }\r\n\r\n getlistHuyen() {\r\n this.lstXa = [];\r\n this.lstHuyen = this.lstDiaban.filter(x => x.maCha === '24');\r\n if (this.fromParent.id) {\r\n this.getlistXa(this.target.entity.mahuyen);\r\n }\r\n }\r\n\r\n getlistXa(mahuyen) {\r\n this.lstXa = [];\r\n this.lstXa = this.lstDiaban.filter(x => x.maCha === mahuyen);\r\n if (this.fromParent.id) {\r\n this.getDVNhan(this.target.entity.maxa);\r\n }\r\n }\r\n getDVNhan(elma: any) {\r\n this.target.entity.mahuyen == \"\" ? this.target.entity.mahuyen = null : this.target.entity.mahuyen == undefined ? this.target.entity.mahuyen = null : this.target.entity.mahuyen;\r\n this.target.entity.maxa == \"\" ? this.target.entity.maxa = null : this.target.entity.maxa == undefined ? this.target.entity.maxa = null : this.target.entity.maxa;\r\n if (this.target.entity.mahuyen !== null && this.target.entity.maxa !== null) {\r\n if (this.target.entity.doituongnhan === '4' && this.userInfo.CapDonVi === 1) {\r\n this.service.selectAllDonvi(elma).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstDonvi = result.data;\r\n let temp = this.lstDiaban.filter((cdb) => elma.includes(cdb.ma));\r\n this.lstDonvinhan = temp.map((c) => {\r\n let a = this.lstDonvi.filter((dv) => c.ma.includes(dv.xa));\r\n let d = a.filter((ca, index) => a.findIndex(x => x.dienthoai === ca.dienthoai) === index);\r\n let b = d.map((e) => {\r\n return {\r\n text: e.tenchunhatro + ' - ' + e.dienthoai,\r\n id: e.id,\r\n parentId: '4'\r\n };\r\n });\r\n return {\r\n text: this.lstDiaban.find((e) => e.ma === c.ma)?.ten,\r\n id: c.ma,\r\n items: b,\r\n parentId: '3'\r\n };\r\n });\r\n if (this.fromParent.action === STATUS_ACTION.swap) {\r\n this.dvnhan = this.fromParent.dvnhan;\r\n } else {\r\n if (this.target.entity.dvnhan) {\r\n let parsedData = JSON.parse(this.target.entity.dvnhan);\r\n if (parsedData.lstCA.length > 0) {\r\n this.dvnhan = parsedData.lstCA.map((res) => Number(res.trim()));\r\n let tempCA = this.lstCongAn.filter((c) => parsedData.lstCA.includes(c.unitcode));\r\n let tempNT = this.lstDonvi.filter((c) => parsedData.lstNT.includes(c.id));\r\n let tempNt2 = tempNT.map((c) => {\r\n return {\r\n text: c.tenchunhatro + ' - ' + c.dienthoai,\r\n id: c.id,\r\n parentId: '4'\r\n };\r\n });\r\n let tempCA1 = tempCA.map((c) => {\r\n // let a = tempNt2.filter((e) => e.id === c.unitcode);\r\n return {\r\n text: c.tendonvi,\r\n id: c.unitcode,\r\n items: [],\r\n parentId: '3'\r\n };\r\n });\r\n this.test = [...tempCA1, ...tempNt2];\r\n } else if (parsedData.lstNT.length > 0) {\r\n this.dvnhan = parsedData.lstNT.map((res) => res);\r\n let tempNt2 = temp.map((c) => {\r\n let tempNT = this.lstDonvi.filter((c) => parsedData.lstNT.includes(c.id));\r\n let d = tempNT.filter((c, index) => tempNT.findIndex(x => x.dienthoai === c.dienthoai) === index);\r\n let b = d.map((e) => {\r\n return {\r\n text: e.tenchunhatro + ' - ' + e.dienthoai,\r\n id: e.id,\r\n parentId: '4'\r\n };\r\n });\r\n return {\r\n text: this.lstDiaban.find((e) => e.ma === c.ma)?.ten,\r\n id: c.ma,\r\n items: b,\r\n parentId: '3'\r\n };\r\n });\r\n this.test = [...tempNt2];\r\n } else {\r\n this.dvnhan = [];\r\n }\r\n } else {\r\n this.dvnhan = [];\r\n }\r\n }\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n }\r\n if (this.target.entity.mahuyen) {\r\n let temp = this.lstCongAn.filter((c) => Number(c.capdonvi) === 2 && c.unitcode == this.target.entity.mahuyen);\r\n let res = temp.map((c) => {\r\n return {\r\n text: c.tendonvi,\r\n id: c.unitcode,\r\n items: [],\r\n parentId: '3'\r\n };\r\n });\r\n if (this.target.entity.doituongnhan === '4' && this.userInfo.CapDonVi === 1) {\r\n res = temp.map((c) => {\r\n let a = this.lstCongAn.filter((e) => e.macha === c.unitcode);\r\n let b = a.map((e) => {\r\n return {\r\n text: e.tendonvi,\r\n id: e.unitcode,\r\n parentId: '3'\r\n };\r\n });\r\n return {\r\n text: this.lstDiaban.find((e) => e.ma === c.unitcode)?.ten,\r\n id: c.unitcode,\r\n items: b,\r\n parentId: '3'\r\n };\r\n });\r\n }\r\n this.lstDonvinhan = res;\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n for (let i = 0; i < files.length; i++) {\r\n this.listFileTemp.push({\r\n type: this.type,\r\n fileName: files[i].name,\r\n data: files[i]\r\n });\r\n this.listFileTempOld.push({\r\n type: this.type,\r\n fileName: files[i].name,\r\n data: files[i]\r\n });\r\n }\r\n }\r\n\r\n lstFileIdDelete: number[] = [];\r\n deleteFile(file: any) {\r\n const index = this.listFileTempOld.indexOf(file);\r\n const index1 = this.listFileTemp.indexOf(file);\r\n if (file.fileId) {\r\n this.lstFileIdDelete.push(file.fileId);\r\n }\r\n if (index !== -1) this.listFileTempOld.splice(index, 1);\r\n if (index1 !== -1) this.listFileTemp.splice(index, 1);\r\n\r\n }\r\n public value: string;\r\n create(frm: NgForm) {\r\n let lstCA = this.test.filter((c) => c.parentId === '3').map((c) => c.id);\r\n let lstCT = this.test.filter((c) => c.parentId === '4').map((c) => c.id);\r\n let dvnhantb = JSON.stringify({\r\n lstCA: lstCA,\r\n lstNT: lstCT\r\n });\r\n const postData = new ThongbaoEntity({\r\n id: this.fromParent.id ? this.fromParent.id : this.target.entity.id,\r\n dvlap: this.target.entity.dvlap,\r\n chude: this.target.entity.chude,\r\n ngaylap: new Date(this.target.entity.ngaylap),\r\n ngaygui: new Date(this.target.entity.ngaygui),\r\n dvnhan: dvnhantb,\r\n noidung: this.value,\r\n tendvlap: this.target.entity.tendvlap,\r\n mahuyen: this.target.entity.mahuyen,\r\n maxa: this.target.entity.maxa == null ? '' : JSON.stringify({ lstMaXa: this.target.entity.maxa }),\r\n trangthai: 0,\r\n trangthaixem: 0,\r\n loai: this.target.entity.loai,\r\n doituongnhan: this.target.entity.doituongnhan.toString(),\r\n isNew: this.fromParent.id ? false : true,\r\n isDirty: true\r\n });\r\n if (this.fromParent.action === STATUS_ACTION.create) {\r\n const data = new ThongbaoEntityProcessInsertFileModel();\r\n data.entity = postData;\r\n if (this.listFileTemp.length > 0) {\r\n this.commonService.uploadFile(this.folder, this.listFileTemp).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target.listFile = res.data.map((file) => {\r\n return new AttFileattachmentEntity({\r\n fileid: file.id,\r\n filename: file.fileName,\r\n type: 1\r\n });\r\n });\r\n data.lstFileAttachment = this.target.listFile;\r\n this.service.insert(data).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close();\r\n }\r\n });;\r\n }\r\n });\r\n } else {\r\n data.lstFileAttachment = [];\r\n this.service.insert(data).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close(true);\r\n }\r\n });\r\n }\r\n } else {\r\n const data = new ThongbaoEntityProcessUpdateFileModel();\r\n data.entity = postData;\r\n data.lstFileIdDelete = this.lstFileIdDelete;\r\n if (this.listFileTemp.length > 0) {\r\n this.commonService.uploadFile(this.folder, this.listFileTemp).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target.listFile = res.data.map((file) => {\r\n return new AttFileattachmentEntity({\r\n fileid: file.id,\r\n filename: file.fileName,\r\n type: 1\r\n });\r\n });\r\n data.lstFileAttachment = this.target.listFile;\r\n data.typeDelete = 1;\r\n // data.lstFileIdDelete = t;\r\n this.service.update(data).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close(true);\r\n }\r\n });;\r\n }\r\n });\r\n } else {\r\n data.lstFileAttachment = [];\r\n data.typeDelete = 1;\r\n this.service.update(data).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close(true);\r\n }\r\n });;\r\n }\r\n }\r\n }\r\n\r\n saveData = (postData) => {\r\n this.service.confirm(postData, this.fromParent.action).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close(true);\r\n } else if (result.code === DUPLICATE_RESPONE) {\r\n this.commonService.toastrWarning('Tên đã tồn tại trên hệ thống !');\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n };\r\n\r\n lstCheckDonviNhan: any[] = [];\r\n changeDVNhan(event) {\r\n if (this.userInfo.CapDonVi === 1 && this.target.entity.doituongnhan === '3') {\r\n let caHuyen = this.lstCongAn.filter((e) => e.capdonvi === '2').map((e) => e.unitcode);\r\n let unitcodeHuyen = event.find((e) => caHuyen.includes(e.id))?.id;\r\n this.test = event.filter((e) => !caHuyen.includes(e.id));\r\n if (JSON.stringify(this.test) === JSON.stringify(this.lstCheckDonviNhan)) {\r\n let temp = this.lstDonvinhan.find((e) => e.id === unitcodeHuyen)?.items.map((e) => e.id);\r\n let a = this.test.filter((e) => !temp.includes(e.id));\r\n this.test = a;\r\n }\r\n this.lstCheckDonviNhan = this.test.map((x) => x);\r\n }\r\n // this.test = event.filter(e => ))\r\n if (this.userInfo.CapDonVi === 1 && this.target.entity.doituongnhan === '4') {\r\n let caHuyen = this.lstCongAn.filter((e) => e.capdonvi === '2').map((e) => e.unitcode);\r\n let unitcodeHuyen = event.find((e) => caHuyen.includes(e.id))?.id;\r\n this.test = event.filter((e) => !caHuyen.includes(e.id));\r\n if (JSON.stringify(this.test) === JSON.stringify(this.lstCheckDonviNhan)) {\r\n let temp = this.lstDonvinhan.find((e) => e.id === unitcodeHuyen)?.items.map((e) => e.id);\r\n let a = this.test.filter((e) => !temp.includes(e.id));\r\n this.test = a;\r\n }\r\n this.lstCheckDonviNhan = this.test.map((x) => x);\r\n }\r\n }\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n {{ fromParent.title }}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    Chủ đề là bắt buộc
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    Nơi nhận là bắt buộc
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
  • \r\n \r\n

    {{ file.fileName }}

    \r\n {{\r\n file.fileName }}\r\n
  • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'ngx-confirm',\r\n templateUrl: './confirm.component.html',\r\n styleUrls: ['./confirm.component.scss']\r\n})\r\nexport class ConfirmComponent implements OnInit {\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public dataRef: { chiase: boolean }\r\n ) { }\r\n\r\n chiase: boolean = true;\r\n ngOnInit(): void {\r\n this.chiase = this.dataRef.chiase;\r\n }\r\n\r\n confirm() {\r\n this.dialogRef.close(true);\r\n }\r\n\r\n}\r\n","\r\n \r\n
    \r\n
    \r\n Xác nhận\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n Xác nhận chia sẻ tin tức?\r\n
    \r\n
    \r\n Xác nhận thu hồi tin tức?\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    ","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { Routes } from '@angular/router';\r\nimport { TinTucIndexComponent } from './tin-tuc-index/tin-tuc-index.component';\r\nimport { SanitizerPipe } from './sanitizer.pipe';\r\nimport { CustomDatePipe } from './custom-date.pipe';\r\n\r\n\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n children: [\r\n { path: '', component: TinTucIndexComponent },\r\n ]\r\n }\r\n]\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\r\nimport { CommonService, ConvertDatePipe } from 'app/@core/customs/common.service';\r\nimport { SUCCESS_NOTICE, SUCCESS_RESPONSE, STATUS_ACTION } from 'app/@core/customs/constants';\r\nimport {\r\n AppCongAnApiService,\r\n ItemTinlaodong\r\n} from 'app/@core/data/app-congan.service';\r\n\r\n@Component({\r\n selector: 'app-tin-tuc-crud',\r\n templateUrl: './tin-tuc-crud.component.html'\r\n })\r\n export class TinTucCrudComponent implements OnInit {\r\n constructor(\r\n\t\tprivate commonService: CommonService,\r\n\t\tprivate service: AppCongAnApiService,\r\n private domSanitizer: DomSanitizer,\r\n\t\t@Inject(MAT_DIALOG_DATA) public dataRef: { key: number, actionType: number },\r\n\t\tprivate dialogRef: MatDialogRef) { }\r\n\r\n target: ItemTinlaodong = new ItemTinlaodong();\r\n statusAction = STATUS_ACTION;\r\n \r\n ngOnInit(): void {\r\n if (this.dataRef.actionType !== this.statusAction.create) {\r\n this.loadData();\r\n }\r\n }\r\n\r\n lstLoaiTin = [\r\n {\r\n text: 'Tin tuyển dụng',\r\n value: 1,\r\n },\r\n {\r\n text: 'Tin an ninh trật tự',\r\n value: 2,\r\n },\r\n {\r\n text: 'An toàn giao thông',\r\n value: 3,\r\n },\r\n {\r\n text: 'Phòng chống ma túy',\r\n value: 4,\r\n },\r\n {\r\n text: 'Người tốt việc tốt',\r\n value: 5,\r\n },\r\n {\r\n text: 'Cuộc chiến chống Covid',\r\n value: 7,\r\n },\r\n {\r\n text: 'Chuyên mục cảnh giác',\r\n value: 8,\r\n },\r\n {\r\n text: 'Tin tức công an',\r\n value: 6,\r\n },\r\n ];\r\n hinhanh;\r\n loadData(): void {\r\n this.service.appCongAnApiV1TinlaodongGetOneTinlaodong(this.dataRef.key).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target = res.data;\r\n this.hinhanh = this.domSanitizer.bypassSecurityTrustUrl('data:image/jpeg;base64,' + atob(res.data.hinhanh));\r\n this.target.ngaydang = new ConvertDatePipe().transform(res.data.ngaydang);\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n this.closeDialog(false);\r\n }\r\n });\r\n }\r\n \r\n save(): void {\r\n if (this.target.ngaydang) {\r\n this.target.ngaydang = new Date(this.target.ngaydang);\r\n }\r\n if (this.dataRef.actionType === STATUS_ACTION.create) {\r\n this.service.appCongAnApiV1TinlaodongPostInsertTinlaodong(this.target).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess(SUCCESS_NOTICE);\r\n this.closeDialog(true);\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n this.closeDialog(false);\r\n }\r\n });\r\n } else {\r\n this.service.appCongAnApiV1TinlaodongPostUpdateTinlaodong(this.target).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess(SUCCESS_NOTICE);\r\n this.closeDialog(true);\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n this.closeDialog(false);\r\n }\r\n });\r\n }\r\n \r\n }\r\n \r\n closeDialog(value?: boolean): void {\r\n this.dialogRef.close(value);\r\n }\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { PAGE_SIZE, STATUS_ACTION, SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport {\r\n AppCongAnApiService,\r\n PageTinlaodong,\r\n ItemTinlaodongIEnumerablePageModelView,\r\n SearchTinTucModel,\r\n ItemTinlaodong,\r\n} from 'app/@core/data/app-congan.service';\r\nimport { DeleteDialogComponent } from 'app/@theme/components/template/dialog/delete/delete-dialog.component';\r\nimport { ConfirmComponent } from '../confirm/confirm.component';\r\nimport { SynchronizedComponent } from '../synchronized/synchronized.component';\r\nimport { TinTucCrudComponent } from '../tin-tuc-crud/tin-tuc-crud.component';\r\n\r\n@Component({\r\n selector: 'app-tin-tuc-index',\r\n templateUrl: './tin-tuc-index.component.html',\r\n})\r\nexport class TinTucIndexComponent implements OnInit {\r\n constructor(\r\n private commonService: CommonService,\r\n private dialog: MatDialog,\r\n private service: AppCongAnApiService,\r\n private domSanitizer: DomSanitizer\r\n ) {}\r\n\r\n pageModel: SearchTinTucModel = new SearchTinTucModel({\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE,\r\n strKey: '',\r\n condition: null,\r\n tuNgay: null,\r\n denNgay: null,\r\n status: null,\r\n chuTro: false\r\n });\r\n target: ItemTinlaodongIEnumerablePageModelView = new ItemTinlaodongIEnumerablePageModelView();\r\n\r\n ngOnInit(): void {\r\n this.commonService.getUserInfo().subscribe((c) => {\r\n if (!c.UnitCode) {\r\n this.pageModel.chuTro = true;\r\n }\r\n });\r\n this.loadData();\r\n }\r\n\r\n lstLoaiTin = [\r\n {\r\n text: 'Tin tuyển dụng',\r\n value: 1,\r\n },\r\n {\r\n text: 'Tin an ninh trật tự',\r\n value: 2,\r\n },\r\n {\r\n text: 'An toàn giao thông',\r\n value: 3,\r\n },\r\n {\r\n text: 'Phòng chống ma túy',\r\n value: 4,\r\n },\r\n {\r\n text: 'Người tốt việc tốt',\r\n value: 5,\r\n },\r\n {\r\n text: 'Cuộc chiến chống Covid',\r\n value: 7,\r\n },\r\n {\r\n text: 'Chuyên mục cảnh giác',\r\n value: 8,\r\n },\r\n {\r\n text: 'Tin tức công an',\r\n value: 6,\r\n },\r\n ];\r\n\r\n\r\n loadLoaiTin(value) {\r\n let temp = '';\r\n switch (value) {\r\n case 1:\r\n temp = 'Tin tuyển dụng';\r\n break;\r\n case 2:\r\n temp = 'Tin an ninh trật tự';\r\n break;\r\n case 3:\r\n temp = 'An toàn giao thông';\r\n break;\r\n case 4:\r\n temp = 'Phòng chống ma túy';\r\n break;\r\n case 5:\r\n temp = 'Người tốt việc tốt';\r\n break;\r\n case 7:\r\n temp = 'Cuộc chiến chống Covid';\r\n break;\r\n case 8:\r\n temp = 'Chuyên mục cảnh giác';\r\n break;\r\n default:\r\n temp = 'Tin tức công an';\r\n break;\r\n }\r\n return temp;\r\n }\r\n\r\n loadData(): void {\r\n const body: SearchTinTucModel = new SearchTinTucModel({\r\n currentPage: this.pageModel.currentPage,\r\n pageSize: this.pageModel.pageSize,\r\n strKey: this.pageModel.strKey,\r\n condition: this.pageModel.condition ? this.pageModel.condition : 0,\r\n tuNgay: this.pageModel.tuNgay,\r\n denNgay: this.pageModel.denNgay,\r\n status: this.pageModel.status,\r\n chuTro: this.pageModel.chuTro\r\n });\r\n this.service.appCongAnApiV1TinlaodongPagingCus(body).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target = res.data;\r\n this.target.data.map((c) => {\r\n // c.hinhanh = 'data:image/img;base64,' + atob(c.hinhanh);\r\n c['baseimg'] = this.domSanitizer.bypassSecurityTrustUrl('data:image/img;base64,' + atob(c.hinhanh));\r\n c['url'] = this.domSanitizer.bypassSecurityTrustUrl(c.link);\r\n c['chiase'] = c.trangthai === 1;\r\n return c;\r\n });\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n tuNgay: any = null;\r\n denNgay: any = null;\r\n lstTrangThai: {\r\n text: string;\r\n value: number;\r\n }[] = [\r\n {\r\n text: 'Tin đã chia sẻ',\r\n value: 1,\r\n },\r\n {\r\n text: 'Tin chưa được chia sẻ',\r\n value: 2,\r\n },\r\n ];\r\n searchPage() {\r\n this.pageModel.currentPage = 1;\r\n if (this.pageModel.tuNgay) {\r\n this.pageModel.tuNgay = new Date(this.pageModel.tuNgay);\r\n }\r\n if (this.pageModel.denNgay) {\r\n this.pageModel.denNgay = new Date(this.pageModel.denNgay);\r\n }\r\n this.loadData();\r\n }\r\n\r\n resetPage() {\r\n this.pageModel.strKey = null;\r\n this.searchPage();\r\n }\r\n\r\n shareTintuc(item) {\r\n const body = new ItemTinlaodong({\r\n chitietbaiviet: item.chitietbaiviet,\r\n hinhanh: item.hinhanh,\r\n id: item.id,\r\n link: item.link,\r\n loaitin: item.loaitin,\r\n ngaydang: item.ngaydang,\r\n noidung: item.noidung,\r\n tieude: item.tieude,\r\n trangthai: item['chiase'] ? 2 : 1,\r\n });\r\n this.dialog\r\n .open(ConfirmComponent, this.commonService.configDialog('30%', { chiase: item['chiase'] }))\r\n .afterClosed()\r\n .subscribe((dialog) => {\r\n if (dialog) {\r\n this.service.appCongAnApiV1TinlaodongPostUpdateTinlaodong(body).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n // if (res.data) item.trangthai = item.trangthai == 2 ? 1 : 2;\r\n if (body.trangthai === 1) {\r\n this.commonService.toastrSuccess('Chia sẻ bài viết thành công!');\r\n } else {\r\n this.commonService.toastrSuccess('Thu hồi bài viết thành công!');\r\n }\r\n } else {\r\n if (body.trangthai) {\r\n this.commonService.toastrSuccess('Chia sẻ bài viết không thành công!');\r\n } else {\r\n this.commonService.toastrSuccess('Thu hồi bài viết không thành công!');\r\n }\r\n }\r\n });\r\n } else {\r\n item['chiase'] = !item['chiase'];\r\n }\r\n });\r\n }\r\n\r\n openCreateDialog() {\r\n this.dialog\r\n .open(\r\n TinTucCrudComponent,\r\n this.commonService.configDialog('80%', { key: null, actionType: STATUS_ACTION.create })\r\n )\r\n .afterClosed()\r\n .subscribe((res) => {\r\n if (res) {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n\r\n openDetailDialog(key: number) {\r\n this.dialog\r\n .open(TinTucCrudComponent, this.commonService.configDialog('80%', { key: key, actionType: STATUS_ACTION.detail }))\r\n .afterClosed()\r\n .subscribe(() => {});\r\n }\r\n\r\n openEditDialog(key: number) {\r\n this.dialog\r\n .open(TinTucCrudComponent, this.commonService.configDialog('80%', { key: key, actionType: STATUS_ACTION.edit }))\r\n .afterClosed()\r\n .subscribe((res) => {\r\n if (res) {\r\n this.loadData();\r\n }\r\n });\r\n }\r\n\r\n openDeleteDialog(key: number, title?: string) {\r\n this.dialog\r\n .open(DeleteDialogComponent, this.commonService.configDialog('30%', `Xác nhận xóa bản ghi ${title}?`))\r\n .afterClosed()\r\n .subscribe((dialog) => {\r\n if (dialog) {\r\n this.service.appCongAnApiV1TinlaodongPostDeleteTinlaodong(key).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.loadData();\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","\r\n \r\n
    \r\n
    \r\n

    Tin bài - tin tức

    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    STTHình ảnhNội dungLoại tinTrạng tháiHành động
    {{ (pageModel.currentPage - 1) * pageModel.pageSize + i + 1 }}\r\n \"Không\r\n \r\n {{ item.tieude.toUpperCase() }}
    \r\n ({{ item.ngaydang | date : 'EEEE, dd/MM/yyyy, h:mm:ss a zzzz' }})\r\n
    {{ loadLoaiTin(item.loaitin) }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n   \r\n   \r\n \r\n
    {{ item.noidung }}
    Không có dữ liệu
    \r\n
    \r\n
    \r\n
    0\">\r\n
    \r\n
    Tổng số bản ghi: {{ target?.recordsCount }}
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { PAGE_SIZE, SUCCESS_RESPONSE, STATUS_ACTION, LIST_DOI_TUONG } from 'app/@core/customs/constants';\r\nimport { AppCongAnApiService, ItemZalo, ObjectIEnumerablePageModelView, PageModel, PageZalo, SearchModel } from 'app/@core/data/app-congan.service';\r\nimport { QuanLyThongBaoService, ViewModelThongBao } from '../../quan-ly-thong-bao/quan-ly-thong-bao.service';\r\nimport { QuanLyCauHinhComponent } from '../../quan-ly-thong-bao/quan-ly-thong-bao/quan-ly-cau-hinh/quan-ly-cau-hinh.component';\r\nimport { QuanLyZaloComponent } from '../quan-ly-zalo/quan-ly-zalo.component';\r\nimport { DoiTuongTruyNaService } from '../../ds-doi-tuong-truy-na/doi-tuong-truy-na.service';\r\n\r\n@Component({\r\n selector: 'app-quan-ly-zalo-index',\r\n templateUrl: './quan-ly-zalo-index.component.html',\r\n styleUrls: ['./quan-ly-zalo-index.component.css']\r\n})\r\nexport class QuanLyZaloIndexComponent implements OnInit {\r\n\r\n constructor(\r\n private service: QuanLyThongBaoService, private api: AppCongAnApiService,\r\n private commonService: CommonService, private sevice: DoiTuongTruyNaService,\r\n private dialog: MatDialog\r\n ) {\r\n }\r\n\r\n isCAX: boolean = false;\r\n totalPage: number;\r\n searchModel: PageZalo = new PageZalo({\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE,\r\n strKey: null,\r\n });\r\n target1: ObjectIEnumerablePageModelView = new ObjectIEnumerablePageModelView();\r\n unitcode: string = '';\r\n searchModel1: PageModel = new PageModel({\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE,\r\n search: null,\r\n condition: null\r\n });\r\n totalPage1: number;\r\n isLoading1: boolean = true;\r\n loadData1() {\r\n this.commonService.getUserInfo().subscribe((res) => {\r\n this.unitcode = res.UnitCode;\r\n });\r\n this.sevice.paging(this.searchModel1).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.target1 = result.data;\r\n this.totalPage1 = result.data.totalPage;\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n this.isLoading1 = false;\r\n });\r\n }\r\n\r\n target: any = {\r\n data: []\r\n };\r\n file: any[] = [];\r\n isLoading: boolean = true;\r\n\r\n ListTrangthai = [{ id: 0, name: 'Đang soạn thảo' }, { id: 1, name: 'Đã gửi' }];\r\n ListSapxep = [{ id: 1, name: 'Tăng dần từ A-Z' }, { id: 2, name: 'Giảm dần từ A-Z' }, { id: 3, name: 'Thời gian cập nhật cũ nhất' },\r\n { id: 4, name: 'Thời gian cập nhật mới nhất' }, { id: 0, name: '-Sắp xếp-' }];\r\n\r\n title: string = 'Quản lý Zalo';\r\n\r\n ngOnInit(): void {\r\n this.commonService.getUserInfo().subscribe((result) => {\r\n if (result.CapDonVi === 3) {\r\n this.isCAX = true;\r\n }\r\n });\r\n this.loadData();\r\n }\r\n\r\n loadData() {\r\n this.api.appCongAnApiV1ZaloPostPagingZalo(this.searchModel).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.target = result.data;\r\n this.totalPage = result.data.totalPage;\r\n const data = result.data?.data;\r\n this.target.data = data.map(x => new ItemZalo({\r\n id: x.id,\r\n ten: x.ten,\r\n idzalo: x.idzalo\r\n }));\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n this.isLoading = false;\r\n });\r\n }\r\n\r\n changeTrangthai(event) {\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n changeSapxep(event) {\r\n this.searchModel.currentPage = 1;\r\n this.loadData();\r\n }\r\n\r\n getTrangthai(item) {\r\n const check = item ? 1 : 0;\r\n return this.ListTrangthai.find(c => c.id === check)?.name ?? null;\r\n }\r\n\r\n searchPage() {\r\n this.loadData();\r\n }\r\n\r\n resetPage() {\r\n this.searchModel.strKey = null;\r\n this.searchPage();\r\n }\r\n\r\n openCreateDialog() {\r\n const title = `Thêm mới id zalo`;\r\n this.dialog.open(QuanLyZaloComponent,\r\n this.commonService.configDialog('60%', { id: null, title: title, action: STATUS_ACTION.create }))\r\n .afterClosed().subscribe(result => {\r\n this.loadData();\r\n });\r\n }\r\n\r\n editData(item: ViewModelThongBao) {\r\n const title = `Sửa id zalo`;\r\n this.dialog.open(QuanLyZaloComponent,\r\n this.commonService.configDialog('60%', {\r\n id: item.id, title: title,\r\n action: STATUS_ACTION.edit, data: item\r\n })).afterClosed().subscribe(result => {\r\n this.loadData();\r\n });\r\n }\r\n viewData(item: ViewModelThongBao) {\r\n const title = `Xem chi tiết`;\r\n this.dialog.open(QuanLyZaloComponent,\r\n this.commonService.configDialog('60%', {\r\n id: item.id, title: title,\r\n action: STATUS_ACTION.edit, data: item\r\n })).afterClosed().subscribe(result => {\r\n this.loadData();\r\n });\r\n }\r\n\r\n\r\n\r\n deleteData(id: number) {\r\n if (confirm(`Xác nhận xóa`)) {\r\n this.api.appCongAnApiV1ZaloPostDeleteZalo(id).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n this.loadData();\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n }\r\n\r\n deleteChecked = () => {\r\n if (confirm(`Xác nhận xóa`)) {\r\n const lstDelete = this.target.data?.filter(c => c.checked === true).map(x => x.id);\r\n this.service.DeleteListrecord(lstDelete).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Thành công!!!');\r\n this.loadData();\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n }\r\n\r\n}\r\n","\r\n \r\n
    \r\n
    \r\n

    {{title}}

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n  \r\n  \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n
    Tên tài khoảnId ZaloHành động
    {{item.ten}}{{item.idzalo}}\r\n   \r\n   \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    0\" class=\"row\">\r\n
    \r\n
    \r\n Tổng số bản ghi: {{target?.recordsCount}}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Không có dữ liệu.\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { QuanLyZaloIndexComponent } from './quan-ly-zalo-index/quan-ly-zalo-index.component';\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n children: [\r\n { path: '', component: QuanLyZaloIndexComponent },\r\n ]\r\n }\r\n];","import { filter } from 'rxjs/operators';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { AppCongAnApiService, ItemZalo, ItemZaloDoituong, ObjectIEnumerablePageModelView, PageModel } from 'app/@core/data/app-congan.service';\r\nimport { QuanLyThongBaoService } from '../../quan-ly-thong-bao/quan-ly-thong-bao.service';\r\nimport { PAGE_SIZE, STATUS_ACTION, SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { DoiTuongTruyNaService } from '../../ds-doi-tuong-truy-na/doi-tuong-truy-na.service';\r\nimport { forEach } from '@angular-devkit/schematics';\r\n\r\n@Component({\r\n selector: 'app-quan-ly-zalo',\r\n templateUrl: './quan-ly-zalo.component.html',\r\n styleUrls: ['./quan-ly-zalo.component.css']\r\n})\r\nexport class QuanLyZaloComponent implements OnInit {\r\n\r\n constructor(\r\n public commonService: CommonService, private sevice: DoiTuongTruyNaService,\r\n @Inject(MAT_DIALOG_DATA)\r\n public fromParent: {\r\n id: number;\r\n idzalo: string;\r\n ten: string;\r\n title: string;\r\n action: number;\r\n data: ItemZalo;\r\n }, private api: AppCongAnApiService,\r\n private dialogRef: MatDialogRef\r\n ) {\r\n this.loadData()\r\n }\r\n entity: ItemZalo = new ItemZalo();\r\n test: any\r\n listdt: any = []\r\n listDele: any = []\r\n\r\n ngOnInit() {\r\n if ([STATUS_ACTION.edit].indexOf(this.fromParent.action) > -1) {\r\n this.entity = this.fromParent.data;\r\n this.listdt = []\r\n this.api.appCongAnApiV1ZaloDoituongGetByIdzaloZaloDoituong(this.fromParent.data.idzalo).subscribe(async r => {\r\n for (let i = 0; r.data.length > i; i++) {\r\n this.listdt.push(await r.data[i].iddt);\r\n this.listDele.push(await r.data[i].id);\r\n }\r\n })\r\n }\r\n }\r\n create() {\r\n if (this.fromParent.action === STATUS_ACTION.create)\r\n this.api.appCongAnApiV1ZaloPostInsertZalo(this.entity).subscribe(async r => {\r\n if (r.code === SUCCESS_RESPONSE) {\r\n await this.addDt();\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close();\r\n }\r\n })\r\n else {\r\n this.entity.id = this.fromParent.id;\r\n this.api.appCongAnApiV1ZaloPostUpdateZalo(this.entity).subscribe(async r => {\r\n if (r.code === SUCCESS_RESPONSE) {\r\n await this.updateDt();\r\n this.commonService.toastrSuccess();\r\n this.dialogRef.close();\r\n }\r\n })\r\n }\r\n }\r\n\r\n\r\n checked(id, c) {\r\n if (c.target.checked)\r\n this.listdt.push(id)\r\n else {\r\n this.listdt = this.listdt.filter(c => c != id)\r\n }\r\n }\r\n model: ItemZaloDoituong = new ItemZaloDoituong();\r\n addDt() {\r\n this.model.idzalo = this.entity.idzalo;\r\n this.api.appCongAnApiV1ZaloDoituongInsertZaloDt(this.listdt, this.model).subscribe(() => { })\r\n }\r\n updateDt() {\r\n this.model.idzalo = this.entity.idzalo;\r\n this.api.appCongAnApiV1ZaloDoituongUpdateZaloDt(this.listdt, this.listDele, this.model).subscribe(() => { })\r\n }\r\n\r\n gui() {\r\n this.api.appCongAnApiV1ZaloInsert(this.entity.idzalo, this.test).subscribe(r => {\r\n if (r != \"\")\r\n this.commonService.toastrSuccess(\"gửi tin nhắn thành công\");\r\n })\r\n }\r\n target: ObjectIEnumerablePageModelView = new ObjectIEnumerablePageModelView();\r\n unitcode: string = '';\r\n searchModel: PageModel = new PageModel({\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE,\r\n search: null,\r\n condition: null\r\n });\r\n totalPage: number;\r\n isLoading: boolean = true;\r\n\r\n loadData() {\r\n this.commonService.getUserInfo().subscribe((res) => {\r\n this.unitcode = res.UnitCode;\r\n });\r\n this.sevice.paging(this.searchModel).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.target = result.data;\r\n this.totalPage = result.data.totalPage;\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n this.isLoading = false;\r\n });\r\n }\r\n getStatus(value) {\r\n return this.lstTrangthai.find((c) => value === c?.value).text;\r\n }\r\n lstTrangthai = [\r\n { value: 1, text: 'Đang truy nã' },\r\n { value: 2, text: 'Đang truy tìm' },\r\n { value: 0, text: 'Đã bị bắt' }\r\n ];\r\n\r\n}","
    \r\n \r\n \r\n
    \r\n
    \r\n {{ fromParent.title }}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    Gửi
    \r\n
    \r\n
    \r\n\r\n
    0\">\r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    STTẢnh đối tượngHọ và tênCMT/CCCDTội danhTrạng thái
    {{ i + 1 + (searchModel.currentPage - 1) * searchModel.pageSize }}\"Không{{ item.ten }}{{ item.cccd }}{{ item.toidanh }}\r\n {{ getStatus(item?.trangthai)\r\n }} \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    0\" class=\"row\">\r\n
    \r\n
    Tổng số bản ghi: {{ target?.recordsCount }}
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Không có dữ liệu.
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { Component, OnInit } from '@angular/core';\r\nimport { NbTabComponent } from '@nebular/theme';\r\nimport { SeriesLabels, LegendItemVisualArgs } from '@progress/kendo-angular-charts';\r\nimport { CommonService, ConvertDatePipe } from 'app/@core/customs/common.service';\r\nimport { FUNCTION_TEXT, PAGE_SIZE, provinceCode, SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { ThongKeSearchModel, ThongKeModel } from 'app/@core/data/app-congan.service';\r\nimport { ThongKeService } from '../thong-ke.service';\r\n\r\n@Component({\r\n selector: 'chu-tro',\r\n templateUrl: './chu-tro.component.html'\r\n})\r\nexport class ChuTroComponent implements OnInit {\r\n\r\n constructor(\r\n private service: ThongKeService,\r\n private commonService: CommonService\r\n ) { }\r\n _title: string = FUNCTION_TEXT.TK_CNT;\r\n\r\n searchModel: ThongKeSearchModel = new ThongKeSearchModel({\r\n provinceCode: provinceCode, // tỉnh bắc giang\r\n districtCode: null,\r\n wardCode: null,\r\n villageCode: null,\r\n hotelId: null,\r\n fromYear: null,\r\n toYear: null,\r\n target: null,\r\n type: 2, // nhà trọ loại thống kê là 2\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE\r\n });\r\n\r\n pageModel: ThongKeSearchModel = new ThongKeSearchModel({});\r\n\r\n arr: ThongKeModel[] = [];\r\n target: any = {\r\n data: this.arr\r\n };\r\n\r\n lstTinh: any[] = [];\r\n lstDistrictsMaster: any[] = [];\r\n lstDistricts: any[] = [];\r\n lstWards: any[] = [];\r\n\r\n lstWardMaster: any[] = [];\r\n lstDiaBan: any[] = [];\r\n\r\n\r\n lstThon: any[] = [];\r\n lstThonMaster: any[] = [];\r\n\r\n lstTarget: any[] = [];\r\n\r\n lstCategories: string[] = [];\r\n lstData: any[] = [];\r\n lstYearChart: any[] = [];\r\n targetDataChart: any[] = [];\r\n\r\n isRequired: boolean = false; // khi chọn biểu đồ cần required 1 số trường\r\n\r\n seriesLabels: SeriesLabels = {\r\n visible: true, // Note that visible defaults to false\r\n padding: 3,\r\n font: 'bold 16px Roboto',\r\n };\r\n isPolice: boolean = false;\r\n levelUser: number;\r\n\r\n reportName: string = 'ThongKeChuTro.trdp';\r\n\r\n parameter: any = null;\r\n\r\n sosanhValue: string;\r\n\r\n lstSoSanh: any = [\r\n {\r\n value: '1',\r\n text: 'So sánh cùng kỳ tháng'\r\n },\r\n {\r\n value: '2',\r\n text: 'So sánh cùng kỳ năm'\r\n },\r\n ];\r\n convertDatePipe: ConvertDatePipe = new ConvertDatePipe();\r\n tendonvidangnhap: string;\r\n madonvicaptren: string;\r\n initForm: boolean = true;\r\n\r\n ngOnInit(): void {\r\n const date = new Date();\r\n const firstDay = this.convertDatePipe.transform(new Date(date.getFullYear(), date.getMonth(), 1));\r\n this.searchModel.startDate = this.convertDatePipe.transform(firstDay);\r\n this.searchModel.endDate = this.convertDatePipe.transform(new Date());\r\n this.getUserInfo();\r\n this.getTarget();\r\n this.getListDvDbhc();\r\n this.search();\r\n }\r\n\r\n loadData() {\r\n this.mappingSearchModel();\r\n this.service.paging(this.pageModel).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n getUserInfo() {\r\n this.commonService.getUserInfo().subscribe(res => {\r\n this.tendonvidangnhap = res.UnitName;\r\n });\r\n }\r\n\r\n getTarget() {\r\n // get list chỉ tiêu của nhà trọ/nhà nghỉ/khách sạn với mã là 2\r\n this.service.getListTarget(2).subscribe(data => {\r\n this.lstTarget = data;\r\n });\r\n }\r\n\r\n getListDvDbhc() {\r\n this.service.selectDbhc().subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstTinh = res.data?.filter(c => c.level === 1)\r\n this.lstDistricts = res.data?.filter(c => c.level === 2 && c.maCha === this.searchModel.provinceCode);\r\n this.lstDistrictsMaster = res.data?.filter(c => c.level === 2);\r\n this.lstWardMaster = res.data?.filter(c => c.level === 3);\r\n this.lstThonMaster = res.data?.filter(c => c.level === 4);\r\n this.lstDiaBan = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n changeTinh() {\r\n this.lstDistricts = this.lstDistrictsMaster?.filter(c => c.maCha === this.searchModel.provinceCode);\r\n }\r\n changeDistrict(event: any) {\r\n this.lstWards = this.lstWardMaster?.filter(c => c.maCha === event?.ma);\r\n }\r\n\r\n changeWard(event: any) {\r\n this.searchModel.villageCode = null;\r\n this.lstThon = this.lstThonMaster?.filter(c => c.maCha === this.searchModel.wardCode);\r\n }\r\n\r\n search() {\r\n this.searchModel.currentPage = 1;\r\n\r\n const param: any = {};\r\n param.p_tinh = this.searchModel.provinceCode;\r\n param.p_huyen = this.searchModel.districtCode;\r\n param.p_xa = this.searchModel.wardCode;\r\n param.p_thon = this.searchModel.villageCode;\r\n param.p_tungay = this.searchModel.startDate;\r\n param.p_denngay = this.searchModel.endDate;\r\n param.p_tungay_show = this.searchModel.startDate ?\r\n this.convertDatePipe.convertStringToDateString(this.convertDatePipe.convertDateToString(this.searchModel.startDate)) : null;\r\n param.p_denngay_show = this.searchModel.endDate ?\r\n this.convertDatePipe.convertStringToDateString(this.convertDatePipe.convertDateToString(this.searchModel.endDate)) : null;\r\n param.p_donvi = this.tendonvidangnhap;\r\n\r\n this.parameter = param;\r\n }\r\n\r\n viewDetail(id: number) {\r\n\r\n }\r\n\r\n loadDataChart() {\r\n this.lstData = [];\r\n this.pageModel.districtCode = this.searchModel.districtCode;\r\n this.pageModel.wardCode = this.searchModel.wardCode;\r\n this.pageModel.hotelId = this.searchModel.hotelId;\r\n this.pageModel.target = this.searchModel.target;\r\n this.pageModel.type = this.searchModel.type;\r\n this.pageModel.isViewCurrentDate = this.searchModel.isViewCurrentDate;\r\n this.pageModel.currentPage = this.searchModel.currentPage;\r\n this.pageModel.pageSize = this.searchModel.pageSize;\r\n this.pageModel.startDate = this.searchModel.startDate ? new Date(this.searchModel.startDate) : null;\r\n this.pageModel.endDate = this.searchModel.endDate ? new Date(this.searchModel.endDate) : null;\r\n this.service.getDataChart(this.pageModel).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstCategories = res.data?.map(c => c.name)?.filter((item, i, ar) => ar.indexOf(item) === i);\r\n this.lstData = res.data?.map(c => c.data);\r\n this.lstYearChart = res.data?.map(c => c.year);\r\n this.targetDataChart = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n mappingSearchModel() {\r\n this.pageModel.districtCode = this.searchModel.districtCode;\r\n this.pageModel.wardCode = this.searchModel.wardCode;\r\n this.pageModel.hotelId = this.searchModel.hotelId;\r\n this.pageModel.target = this.searchModel.target;\r\n this.pageModel.type = this.searchModel.type;\r\n this.pageModel.isViewCurrentDate = this.searchModel.isViewCurrentDate;\r\n this.pageModel.currentPage = this.searchModel.currentPage;\r\n this.pageModel.pageSize = this.searchModel.pageSize;\r\n this.pageModel.startDate = this.searchModel.startDate ? new Date(this.searchModel.startDate) : null;\r\n this.pageModel.endDate = this.searchModel.endDate ? new Date(this.searchModel.endDate) : null;\r\n }\r\n\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n {{ _title }}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { NbTabComponent } from '@nebular/theme';\r\nimport { SeriesLabels } from '@progress/kendo-angular-charts';\r\nimport { CommonService, ConvertDatePipe } from 'app/@core/customs/common.service';\r\nimport { LIST_NGHENGHIEP, LST_TRANGTHAITHUE, PAGE_SIZE, provinceCode, STATUS_ACTION, SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport {\r\n ItemDmcongty,\r\n ThongKeModel,\r\n ThongKeSearchModel\r\n} from 'app/@core/data/app-congan.service';\r\nimport { QLKhachService, ViewModelKhachThue } from '../../quan-ly-khach/quan-ly-khach.service';\r\nimport { QLKhachComponent } from '../../quan-ly-khach/quan-ly-khach/quan-ly-khach/quan-ly-khach.component';\r\nimport { ThongKeService } from '../thong-ke.service';\r\n\r\n@Component({\r\n selector: 'ngx-khach-thue',\r\n templateUrl: './khach-thue.component.html',\r\n styleUrls: ['./khach-thue.component.scss']\r\n})\r\nexport class KhachThueComponent implements OnInit {\r\n\r\n constructor(\r\n private service: ThongKeService,\r\n private commonService: CommonService,\r\n private dialog: MatDialog,\r\n private qlKhachService: QLKhachService,\r\n ) { }\r\n\r\n searchModel: ThongKeSearchModel = new ThongKeSearchModel({\r\n provinceCode: null,\r\n districtCode: null,\r\n wardCode: null,\r\n villageCode: null,\r\n trangThai: null,\r\n hotelId: null,\r\n startDate: null,\r\n endDate: null,\r\n target: 1,\r\n type: 1, // khách thuê là 1\r\n isViewCurrentDate: false,\r\n maTinh: null,\r\n maHuyen: null,\r\n maXa: null,\r\n danToc: null,\r\n gioiTinh: null,\r\n ngheNghiep: null,\r\n noiLamViec: null,\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE,\r\n });\r\n\r\n tuTuoi: number;\r\n denTuoi: number;\r\n\r\n pageModel: ThongKeSearchModel = new ThongKeSearchModel({});\r\n\r\n arr: ThongKeModel[] = [];\r\n target: any = {\r\n data: this.arr\r\n };\r\n\r\n lstDistrictsTamTru: any[] = [];\r\n lstDistrictsThuongTru: any[] = [];\r\n lstWardsTamTru: any[] = [];\r\n lstWardsThuongTru: any[] = [];\r\n lstDiaBanTamTru: any[] = [];\r\n lstDiaBanThuongTru: any[] = [];\r\n lstWardMasterTamTru: any[] = [];\r\n lstWardMasterThuongTru: any[] = [];\r\n lstDistrictsMasterTamTru: any[] = [];\r\n lstDistrictsMasterThuongTru: any[] = [];\r\n lstVillageTamTru: any[] = [];\r\n lstVillageMasterTamTru: any[] = [];\r\n lstWardMaster: any[] = [];\r\n\r\n // lstNhaTroMaster: NhatroEntity[] = [];\r\n // lstNhaTro: NhatroEntity[] = [];\r\n // lstYear: number[] = [];\r\n\r\n lstCategories1: string[] = [];\r\n lstCategories2: string[] = [];\r\n lstCategories3: string[] = [];\r\n lstData1: any[] = [];\r\n lstData2: any[] = [];\r\n lstData3: any[] = [];\r\n lstYearChart1: any[] = [];\r\n lstYearChart2: any[] = [];\r\n lstYearChart3: any[] = [];\r\n targetDataChart: any[] = [];\r\n\r\n seriesLabels: SeriesLabels = {\r\n visible: true, // Note that visible defaults to false\r\n padding: 3,\r\n font: 'bold 16px Roboto',\r\n };\r\n\r\n isPolice: boolean = false;\r\n levelUser: number;\r\n\r\n districtCodeUser: string;\r\n wardCodeUser: string;\r\n\r\n initForm: boolean = true;\r\n\r\n lstOption: any[] = [{ value: false, text: 'Tất cả' }, { value: true, text: 'Đang thuê' }];\r\n\r\n lstNgheNghiep: {\r\n value: number,\r\n text: string\r\n }[] = LIST_NGHENGHIEP;\r\n lstNoiLamViec: ItemDmcongty[] = [];\r\n\r\n lstGender: any[] = [];\r\n lstAge: any[] = [];\r\n lstProvince: any[] = [];\r\n\r\n provinceCode = provinceCode;\r\n\r\n lstDanToc: any[] = [];\r\n\r\n parameter: {} = null;\r\n\r\n reportName: string = 'ThongKeKhachThue.trdp';\r\n\r\n lstTrangThai: any[] = LST_TRANGTHAITHUE;\r\n convertDatePipe: ConvertDatePipe = new ConvertDatePipe();\r\n isCollapse: boolean = false;\r\n unitcode: string = '';\r\n\r\n ngOnInit(): void {\r\n this.commonService.getUserInfo().subscribe(c => {\r\n this.unitcode = c.UnitCode;\r\n });\r\n const date = new Date();\r\n const firstDay = this.convertDatePipe.transform(new Date(date.getFullYear(), date.getMonth(), 1));\r\n this.searchModel.startDate = this.convertDatePipe.transform(firstDay);\r\n this.searchModel.endDate = this.convertDatePipe.transform(new Date());\r\n this.getListDanToc();\r\n this.getTarget();\r\n this.getListDvDbhc();\r\n this.getDmCongTy();\r\n this.getLoainha();\r\n\r\n // this.getUserInfo();\r\n // this.getListNhaTro();\r\n }\r\n\r\n listItemsLoainha: any[] = [];\r\n getLoainha() {\r\n this.service.getLoainha().subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.listItemsLoainha = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n getMatinh(lst, unitcode): string {\r\n let a = lst.find(c => c.ma === unitcode);\r\n if (a.maCha) {\r\n return this.getMatinh(lst, a.maCha);\r\n } else {\r\n return unitcode;\r\n }\r\n }\r\n\r\n loadData() {\r\n this.setParamSearch();\r\n this.service.paging(this.pageModel).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n getListDanToc() {\r\n this.service.getListDanToc().subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstDanToc = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n tendonvidangnhap: string;\r\n getUserInfo() {\r\n this.commonService.getUserInfo().subscribe(res => {\r\n this.tendonvidangnhap = res.UnitName;\r\n this.service.selectOneAccount(res.Id).subscribe(acc => {\r\n if (acc.code === SUCCESS_RESPONSE) {\r\n if (acc.data.type) {\r\n this.levelUser = res.CapDonVi;\r\n this.isPolice = true;\r\n if (this.levelUser !== 1) {\r\n this.searchModel.districtCode = this.lstDiaBanTamTru?.find(x => acc.data.mahuyen === x.ma && x.level === 2)?.ma;\r\n if (this.levelUser === 3) {\r\n this.searchModel.wardCode = this.lstDiaBanTamTru?.find(x => acc.data.maxa === x.ma && x.level === 3)?.ma;\r\n } else {\r\n this.searchModel.wardCode = null;\r\n }\r\n this.lstWardsTamTru = this.lstDiaBanTamTru?.filter(x => x.maCha === this.searchModel.districtCode);\r\n this.lstVillageTamTru = this.lstDiaBanTamTru?.filter(x => x.maCha === this.searchModel.wardCode && x.level === 4);\r\n }\r\n this.search();\r\n } else {\r\n this.isPolice = false;\r\n }\r\n } else {\r\n this.commonService.toastrDanger(acc.message);\r\n }\r\n });\r\n });\r\n }\r\n\r\n getTarget() {\r\n this.service.getListAgeAndGender().subscribe(data => {\r\n this.lstGender = data?.filter(c => c.type === 1); // type = 1: giới tính\r\n this.lstAge = data?.filter(c => c.type === 2); // type = 2: độ tuổi\r\n });\r\n }\r\n\r\n getListDvDbhc() {\r\n this.service.selectDbhc().subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.searchModel.provinceCode = this.getMatinh(res.data, this.unitcode);\r\n this.lstProvince = res.data?.filter(c => c.level === 1);\r\n this.lstDistrictsMasterTamTru = res.data?.filter(c => c.level === 2);\r\n this.lstDistrictsTamTru = res.data?.filter(c =>\r\n c.level === 2 && c.maCha === this.searchModel.provinceCode); // do mặc định là tỉnh bắc giang\r\n this.lstWardMasterTamTru = res.data?.filter(c => c.level === 3);\r\n this.lstDiaBanTamTru = res.data;\r\n\r\n this.lstDistrictsMasterThuongTru = res.data?.filter(c => c.level === 2);\r\n this.lstWardMasterThuongTru = res.data?.filter(c => c.level === 3);\r\n this.lstVillageMasterTamTru = res.data?.filter(c => c.level === 4);\r\n this.lstDiaBanThuongTru = res.data;\r\n this.getUserInfo();\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n changeProvinceThuongTru(event: any) {\r\n this.searchModel.maHuyen = null;\r\n this.searchModel.maXa = null;\r\n this.lstDistrictsThuongTru = this.lstDistrictsMasterThuongTru?.filter(c => c.maCha === this.searchModel.maTinh);\r\n }\r\n\r\n changeDistrictThuongTru(event: any) {\r\n this.searchModel.maXa = null;\r\n this.lstWardsThuongTru = this.lstWardMasterThuongTru?.filter(c => c.maCha === this.searchModel.maHuyen);\r\n }\r\n\r\n changeProvinceTamTru(event: any) {\r\n this.searchModel.districtCode = null;\r\n this.searchModel.wardCode = null;\r\n this.lstDistrictsTamTru = this.lstDistrictsMasterTamTru?.filter(c => c.maCha === this.searchModel.provinceCode);\r\n }\r\n\r\n changeDistrictTamTru(event: any) {\r\n this.searchModel.wardCode = null;\r\n this.searchModel.villageCode = null;\r\n this.lstWardsTamTru = this.lstWardMasterTamTru?.filter(c => c.maCha === this.searchModel.districtCode);\r\n }\r\n\r\n changeDistrict(event: any) {\r\n this.lstWardsTamTru = this.lstWardMasterTamTru?.filter(c => c.maCha === this.searchModel.districtCode);\r\n }\r\n\r\n changeWard(event: any) {\r\n this.searchModel.villageCode = null;\r\n this.lstVillageTamTru = this.lstVillageMasterTamTru?.filter(c => c.maCha === this.searchModel.wardCode);\r\n }\r\n\r\n tabId: string = '1';\r\n changeTab(event: NbTabComponent) {\r\n this.tabId = event.tabId;\r\n if (!this.initForm) {\r\n if (this.tabId === '1') {\r\n this.loadDataChart();\r\n } else {\r\n this.loadData();\r\n }\r\n }\r\n }\r\n\r\n search() {\r\n this.searchModel.currentPage = 1;\r\n\r\n const param: any = {};\r\n param.p_type = this.searchModel.type;\r\n param.p_thuongtru_tinh = this.searchModel.maTinh;\r\n param.p_thuongtru_huyen = this.searchModel.maHuyen;\r\n param.p_thuongtru_xa = this.searchModel.maXa;\r\n param.p_tamtru_tinh = this.searchModel.provinceCode;\r\n param.p_tamtru_huyen = this.searchModel.districtCode;\r\n param.p_tamtru_xa = this.searchModel.wardCode;\r\n param.p_tamtru_thon = this.searchModel.villageCode;\r\n param.p_dantoc = this.searchModel.danToc ? this.searchModel.danToc.join('\\',\\'') : null;\r\n param.p_gioitinh = this.searchModel.gioiTinh;\r\n param.p_tutuoi = this.tuTuoi;\r\n param.p_dentuoi = this.denTuoi;\r\n param.p_tungay = this.searchModel.startDate;\r\n param.p_denngay = this.searchModel.endDate;\r\n param.p_tungay_show = this.searchModel.startDate ?\r\n this.convertDatePipe.convertStringToDateString(this.convertDatePipe.convertDateToString(this.searchModel.startDate)) : null;\r\n param.p_denngay_show = this.searchModel.endDate ?\r\n this.convertDatePipe.convertStringToDateString(this.convertDatePipe.convertDateToString(this.searchModel.endDate)) : null;\r\n param.p_donvidangnhap = this.tendonvidangnhap;\r\n param.p_trangthai = this.searchModel.trangThai;\r\n param.p_nghenghiep = this.searchModel.ngheNghiep;\r\n param.p_noilamviec = this.searchModel.noiLamViec;\r\n this.parameter = param;\r\n }\r\n\r\n viewDetail(id: number, idPhongTro: number) {\r\n this.qlKhachService.selectOne(id).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n const item = new ViewModelKhachThue({\r\n id: res.data?.id,\r\n loaiDT: null,\r\n hoten: res.data?.hoten,\r\n gioitinh: res.data?.gioitinh,\r\n email: res.data?.email,\r\n dtlienhe: res.data?.dienthoai,\r\n ngaysinh: res.data?.ngaysinh,\r\n cmnd: res.data?.cccd,\r\n noicap: res.data?.cccdNoicap,\r\n ngaycap: res.data?.cccdNgaycap,\r\n nghenghiep: res.data?.nghenghiep,\r\n noicongtac: res.data?.noicongtac,\r\n tamtrutu: res.data?.tamtrutu,\r\n tamtruden: res.data?.tamtruden,\r\n lydotamtru: res.data?.lydotamtru,\r\n nguoithan: res.data?.tengnuoithan,\r\n dtnguoithan: res.data?.dienthoainguoithan,\r\n imgcmndBefore: res.data?.cccdMattruoc,\r\n imgcmndAfter: res.data?.cccdMatsau,\r\n imgchandung: res.data?.anhchandung,\r\n trangthai: res.data?.trangthai,\r\n unitcode: null,\r\n dangkytamtrutamvang: res.data?.dangkytamtrutamvang,\r\n tongiao: res.data?.tongiao,\r\n idnhatro: res.data?.idnhatro,\r\n dantoc: res.data?.dantoc,\r\n idphong: idPhongTro,\r\n tenphong: null,\r\n matinh: res.data.matinh,\r\n mahuyen: res.data.mahuyen,\r\n maxa: res.data.maxa,\r\n nghenghiepkhac: res.data.nghenghiepkhac,\r\n ngaynhanphonggannhat: res.data.ngaynhanphongGannhat,\r\n cccd: res.data.cccd,\r\n hktt: null,\r\n tamtru: null,\r\n madiabankey: res.data.madiabankey,\r\n thon: res.data.thon,\r\n thoigianthue: res.data.thoigianthue,\r\n ngayDangKyTamTru: null\r\n });\r\n this.dialog.open(QLKhachComponent,\r\n this.commonService.configDialog('100%',\r\n {\r\n id: id,\r\n title: `Chi tiết thông tin khách thuê`,\r\n action: STATUS_ACTION.detail,\r\n idNhaTro: this.searchModel.condition,\r\n data: item\r\n })).afterClosed().subscribe(() => { });\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n loadDataChart() {\r\n this.lstData1 = [];\r\n this.lstData2 = [];\r\n this.lstData3 = [];\r\n this.pageModel.districtCode = this.searchModel.districtCode;\r\n this.pageModel.wardCode = this.searchModel.wardCode;\r\n this.pageModel.villageCode = this.searchModel.villageCode;\r\n this.pageModel.hotelId = this.searchModel.hotelId;\r\n this.pageModel.target = this.searchModel.target;\r\n this.pageModel.type = this.searchModel.type;\r\n this.pageModel.isViewCurrentDate = this.searchModel.isViewCurrentDate;\r\n this.pageModel.currentPage = this.searchModel.currentPage;\r\n this.pageModel.pageSize = this.searchModel.pageSize;\r\n this.pageModel.startDate = this.searchModel.startDate ? new Date(this.searchModel.startDate) : null;\r\n this.pageModel.endDate = this.searchModel.endDate ? new Date(this.searchModel.endDate) : null;\r\n this.service.getDataChart(this.pageModel).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstCategories1 = res.data?.filter(c => c.type === 1 && c.target === 1)?.map(c => c.name)\r\n ?.filter((item, i, ar) => ar.indexOf(item) === i);\r\n this.lstCategories2 = res.data?.filter(c => c.type === 1 && c.target === 2)?.map(c => c.name)\r\n ?.filter((item, i, ar) => ar.indexOf(item) === i);\r\n this.lstCategories3 = res.data?.filter(c => c.type === 1 && c.target === 3)?.map(c => c.name)\r\n ?.filter((item, i, ar) => ar.indexOf(item) === i);\r\n\r\n this.lstYearChart1 = res.data?.filter(c => c.type === 1 && c.target === 1)?.map(c => c.year)\r\n ?.filter((item, i, ar) => ar.indexOf(item) === i);\r\n this.lstYearChart2 = res.data?.filter(c => c.type === 1 && c.target === 2)?.map(c => c.year)\r\n ?.filter((item, i, ar) => ar.indexOf(item) === i);\r\n this.lstYearChart3 = res.data?.filter(c => c.type === 1 && c.target === 3)?.map(c => c.year)\r\n ?.filter((item, i, ar) => ar.indexOf(item) === i);\r\n\r\n // for theo năm\r\n this.lstYearChart1?.map(m => {\r\n const lst: any[] = [];\r\n // filter theo loại giới tính, dân tộc, đột uổi\r\n this.lstCategories1?.map(c => {\r\n // nếu dữ liệu trong data trả về trùng năm và trùng tên loại thì push data vào list\r\n const data = res.data?.filter(x => x.year === m && x.name === c);\r\n if (data?.length > 0) {\r\n lst.push(res.data?.find(x => x.year === m && x.name === c)?.data);\r\n } else {\r\n // còn không thì push null\r\n lst.push(null);\r\n }\r\n });\r\n // push lần lượt độ dài mảng này bằng độ dài của list năm\r\n this.lstData1.push(lst);\r\n });\r\n\r\n // for theo năm\r\n this.lstYearChart2?.map(m => {\r\n const lst: any[] = [];\r\n // filter theo loại giới tính, dân tộc, đột uổi\r\n this.lstCategories2?.map(c => {\r\n // nếu dữ liệu trong data trả về trùng năm và trùng tên loại thì push data vào list\r\n const data = res.data?.filter(x => x.year === m && x.name === c);\r\n if (data?.length > 0) {\r\n lst.push(res.data?.find(x => x.year === m && x.name === c)?.data);\r\n } else {\r\n // còn không thì push null\r\n lst.push(null);\r\n }\r\n });\r\n // push lần lượt độ dài mảng này bằng độ dài của list năm\r\n this.lstData2.push(lst);\r\n });\r\n\r\n // for theo năm\r\n this.lstYearChart3?.map(m => {\r\n const lst: any[] = [];\r\n // filter theo loại giới tính, dân tộc, đột uổi\r\n this.lstCategories3?.map(c => {\r\n // nếu dữ liệu trong data trả về trùng năm và trùng tên loại thì push data vào list\r\n const data = res.data?.filter(x => x.year === m && x.name === c);\r\n if (data?.length > 0) {\r\n lst.push(res.data?.find(x => x.year === m && x.name === c)?.data);\r\n } else {\r\n // còn không thì push null\r\n lst.push(null);\r\n }\r\n });\r\n // push lần lượt độ dài mảng này bằng độ dài của list năm\r\n this.lstData3.push(lst);\r\n });\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n // if (res.code === SUCCESS_RESPONSE) {\r\n // this.lstCategories = res.data?.map(c => c.name)?.filter((item, i, ar) => ar.indexOf(item) === i);\r\n // this.lstYearChart = res.data?.map(c => c.year)?.filter((item, i, ar) => ar.indexOf(item) === i);\r\n\r\n // // for theo năm\r\n // this.lstYearChart?.map(m => {\r\n // const lst: any[] = [];\r\n // // filter theo loại giới tính, dân tộc, đột uổi\r\n // this.lstCategories?.map(c => {\r\n // // nếu dữ liệu trong data trả về trùng năm và trùng tên loại thì push data vào list\r\n // const data = res.data?.filter(x => x.year === m && x.name === c);\r\n // if (data?.length > 0) {\r\n // lst.push(res.data?.find(x => x.year === m && x.name === c)?.data);\r\n // } else {\r\n // // còn không thì push null\r\n // lst.push(null);\r\n // }\r\n // });\r\n // // push lần lượt độ dài mảng này bằng độ dài của list năm\r\n // this.lstData.push(lst);\r\n // });\r\n // this.targetDataChart = res.data;\r\n // } else {\r\n // this.commonService.toastrDanger(res.message);\r\n // }\r\n });\r\n }\r\n\r\n getDmCongTy() {\r\n this.service.getAllDmCongTy().subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstNoiLamViec = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n setParamSearch() {\r\n this.pageModel.districtCode = this.searchModel.districtCode;\r\n this.pageModel.wardCode = this.searchModel.wardCode;\r\n this.pageModel.villageCode = this.searchModel.villageCode;\r\n this.pageModel.hotelId = this.searchModel.hotelId;\r\n this.pageModel.target = this.searchModel.target;\r\n this.pageModel.type = this.searchModel.type;\r\n this.pageModel.isViewCurrentDate = this.searchModel.isViewCurrentDate;\r\n this.pageModel.currentPage = this.searchModel.currentPage;\r\n this.pageModel.pageSize = this.searchModel.pageSize;\r\n this.pageModel.startDate = this.searchModel.startDate ? new Date(this.searchModel.startDate) : null;\r\n this.pageModel.endDate = this.searchModel.endDate ? new Date(this.searchModel.endDate) : null;\r\n this.pageModel.trangThai = this.searchModel.trangThai;\r\n this.pageModel.ngheNghiep = this.searchModel.ngheNghiep;\r\n this.pageModel.noiLamViec = this.searchModel.noiLamViec;\r\n }\r\n\r\n}\r\n","\r\n \r\n
    \r\n \r\n THỐNG KÊ KHÁCH THUÊ\r\n
    \r\n
    \r\n \r\n   Bộ lọc\r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Nơi ĐKHK thường trú\r\n \r\n
    \r\n
    \r\n Tỉnh \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Huyện \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n  \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Địa chỉ nhà trọ\r\n \r\n
    \r\n
    \r\n Tỉnh \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Huyện \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n  \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Thôn \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Thông tin cá nhân\r\n \r\n
    \r\n
    \r\n Dân tộc \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Giới tính \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Tuổi từ  \r\n  đến  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Thông tin thời gian thuê của khách\r\n \r\n
    \r\n
    \r\n Từ ngày \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Đến ngày \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Trạng thái \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Thông tin nghề nghiệp\r\n \r\n
    \r\n
    \r\n  \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Nghề nghiệp \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Nơi làm việc \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, OnInit } from '@angular/core';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { AREA_LEVEL, FUNCTION_TEXT, PAGE_SIZE, provinceCode, SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { ThongKeSearchModel } from 'app/@core/data/app-congan.service';\r\nimport { ThongKeService } from '../thong-ke.service';\r\n\r\n@Component({\r\n selector: 'nguoi-dung-qt',\r\n templateUrl: './nguoi-dung-qt.component.html'\r\n})\r\nexport class NguoiDungQtComponent implements OnInit {\r\n\r\n constructor(\r\n private service: ThongKeService,\r\n private commonService: CommonService\r\n ) { }\r\n\r\n lstDistricts: any[] = [];\r\n\r\n lstWards: any[] = [];\r\n lstWardMaster: any[] = [];\r\n lstTinh: any[] = [];\r\n\r\n lstPalace: any[] = [];\r\n\r\n AREA_LEVEL = AREA_LEVEL;\r\n\r\n searchModel: ThongKeSearchModel = new ThongKeSearchModel({\r\n provinceCode: null, // mã tỉnh bắc giang\r\n districtCode: null,\r\n wardCode: null,\r\n villageCode: null,\r\n hotelId: null,\r\n fromYear: null,\r\n toYear: null,\r\n target: null,\r\n type: 2, // nhà trọ loại thống kê là 2\r\n isNonTenant: null,\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE\r\n });\r\n\r\n unitcode: string = '';\r\n\r\n parameter: any = null;\r\n reportName: string = 'ThongKeNguoiDungQuanTri.trdp';\r\n _title: string = FUNCTION_TEXT.TK_NGUOIDUNG_QT;\r\n\r\n levelUser: number;\r\n unitName: string;\r\n\r\n ngOnInit() {\r\n this.getListDvDbhc();\r\n this.getUserInfo();\r\n }\r\n\r\n getMatinh(lst, unitcode, level): string {\r\n let a = lst.find((c) => c.ma === unitcode);\r\n if (a.maCha && a.level > level) {\r\n return this.getMatinh(lst, a.maCha, level);\r\n } else {\r\n return unitcode;\r\n }\r\n }\r\n\r\n search() {\r\n this.setParameter();\r\n }\r\n\r\n getListDvDbhc() {\r\n this.service.selectDbhc().subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.searchModel.provinceCode = this.getMatinh(res.data, this.unitcode, 1);\r\n this.lstDistricts = res.data?.filter(c => c.level === AREA_LEVEL.LEVEL2 && c.maCha === this.searchModel.provinceCode);\r\n this.lstWardMaster = res.data?.filter(c => c.level === AREA_LEVEL.LEVEL3);\r\n this.lstTinh = res.data?.filter(c => c.level === AREA_LEVEL.LEVEL1);\r\n this.lstPalace = res.data;\r\n this.selectOne();\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n getUserInfo() {\r\n this.commonService.getUserInfo().subscribe(res => {\r\n this.unitName = res.UnitName;\r\n this.unitcode = res.UnitCode;\r\n this.levelUser = res.CapDonVi;\r\n this.userId = res.Id;\r\n });\r\n }\r\n\r\n userId: any;\r\n \r\n selectOne() {\r\n this.service.selectOneAccount(this.userId).subscribe(acc => {\r\n if (acc.code === SUCCESS_RESPONSE) {\r\n if (acc.data.type) {\r\n if (this.levelUser !== 1) {\r\n this.searchModel.districtCode = this.getMatinh(this.lstPalace, this.unitcode, 2);\r\n if (this.levelUser === 3) {\r\n this.searchModel.wardCode = this.getMatinh(this.lstPalace, this.unitcode, 3);\r\n } else {\r\n this.searchModel.wardCode = null;\r\n }\r\n this.lstWards = this.lstPalace?.filter(x => x.maCha === this.searchModel.districtCode && x.level === 3);\r\n }\r\n this.search();\r\n } else {\r\n }\r\n } else {\r\n this.commonService.toastrDanger(acc.message);\r\n }\r\n });\r\n }\r\n\r\n setParameter() {\r\n const param: any = {};\r\n param.p_tinh = this.searchModel.provinceCode;\r\n param.p_huyen = this.searchModel.districtCode;\r\n param.p_xa = this.searchModel.wardCode;\r\n param.p_tendonvi = this.unitName;\r\n param.p_tentinh = this.lstPalace?.find(c => c.ma === this.searchModel.provinceCode)?.ten;\r\n param.p_tenhuyen = this.lstPalace?.find(c => c.ma === this.searchModel.districtCode)?.ten;\r\n param.p_tenxa = this.lstPalace?.find(c => c.ma === this.searchModel.wardCode)?.ten;\r\n this.parameter = param;\r\n }\r\n\r\n changeDistrict(event: any) {\r\n this.searchModel.wardCode = null;\r\n this.lstWards = this.lstWardMaster?.filter(c => c.maCha === event?.ma);\r\n }\r\n\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n {{ _title }}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { V } from '@angular/cdk/keycodes';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { NbTabComponent } from '@nebular/theme';\r\nimport { LegendItemVisualArgs, SeriesLabels } from '@progress/kendo-angular-charts';\r\nimport { Path, Text, Group, geometry, Element, Rect as RectShape } from '@progress/kendo-drawing';\r\nimport { CommonService, ConvertDatePipe } from 'app/@core/customs/common.service';\r\nimport { PAGE_SIZE, provinceCode, SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { AppCongAnApiService, NhatroEntity, SearchModel, SelectNhaTroPostModel, ThongKeModel, ThongKeSearchModel } from 'app/@core/data/app-congan.service';\r\nimport { ThongKeService } from '../thong-ke.service';\r\nconst { Point, Rect, Size } = geometry;\r\n\r\n@Component({\r\n selector: 'ngx-nha-tro',\r\n templateUrl: './nha-tro.component.html',\r\n styleUrls: ['./nha-tro.component.scss']\r\n})\r\nexport class NhaTroComponent implements OnInit {\r\n constructor(\r\n private api: AppCongAnApiService,\r\n private service: ThongKeService, private commonService: CommonService) { }\r\n\r\n\r\n searchModel: ThongKeSearchModel = new ThongKeSearchModel({\r\n provinceCode: null, // tỉnh bắc giang\r\n districtCode: null,\r\n wardCode: null,\r\n villageCode: null,\r\n hotelId: null,\r\n fromYear: null,\r\n toYear: null,\r\n target: null,\r\n type: 1, // nhà trọ loại thống kê là 2\r\n currentPage: 1,\r\n pageSize: PAGE_SIZE\r\n });\r\n\r\n pageModel: ThongKeSearchModel = new ThongKeSearchModel({});\r\n public listItemsLoainha: any[] = [];\r\n\r\n arr: ThongKeModel[] = [];\r\n target: any = {\r\n data: this.arr\r\n };\r\n\r\n lstDistricts: any[] = [];\r\n lstWards: any[] = [];\r\n\r\n lstWardMaster: any[] = [];\r\n lstDiaBan: any[] = [];\r\n\r\n lstThon: any[] = [];\r\n lstThonMaster: any[] = [];\r\n lstTinh: any[] = [];\r\n\r\n lstTarget: any[] = [];\r\n\r\n lstCategories: string[] = [];\r\n lstData: any[] = [];\r\n lstYearChart: any[] = [];\r\n targetDataChart: any[] = [];\r\n\r\n title: string; // tiêu đề theo filter\r\n\r\n isRequired: boolean = false; // khi chọn biểu đồ cần required 1 số trường\r\n\r\n seriesLabels: SeriesLabels = {\r\n visible: true, // Note that visible defaults to false\r\n padding: 3,\r\n font: 'bold 16px Roboto'\r\n };\r\n isPolice: boolean = false;\r\n levelUser: number;\r\n\r\n reportName: string;\r\n reportName_Tinh: string = 'ThongKeNhaTroDiaBan_Tinh';\r\n reportName_Huyen: string = 'ThongKeNhaTroDiaBan_Huyen';\r\n reportName_Xa: string = 'ThongKeNhaTroDiaBan_Xa';\r\n\r\n parameter: any = {};\r\n\r\n sosanhValue: string;\r\n\r\n lstSoSanh: any = [\r\n {\r\n value: '1',\r\n text: 'So sánh cùng kỳ tháng'\r\n },\r\n {\r\n value: '2',\r\n text: 'So sánh cùng kỳ năm'\r\n }\r\n ];\r\n convertDatePipe: ConvertDatePipe = new ConvertDatePipe();\r\n unitName: string;\r\n parrentUnitCode: string;\r\n userId: number;\r\n unitLevel: number;\r\n\r\n async ngOnInit() {\r\n this.getUserInfo();\r\n\r\n const date = new Date();\r\n const firstDay = this.convertDatePipe.transform(new Date(date.getFullYear(), date.getMonth(), 1));\r\n this.searchModel.startDate = this.convertDatePipe.transform(firstDay);\r\n this.searchModel.endDate = this.convertDatePipe.transform(new Date());\r\n this.getTarget();\r\n this.getListDvDbhc();\r\n this.api.appCongAnApiV1NhatroGetLoaiNha().subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.listItemsLoainha = res.data;\r\n }\r\n });\r\n }\r\n\r\n loadData() {\r\n this.pageModel.provinceCode = this.searchModel.provinceCode;\r\n this.pageModel.districtCode = this.searchModel.districtCode;\r\n this.pageModel.wardCode = this.searchModel.wardCode;\r\n this.pageModel.hotelId = this.searchModel.hotelId;\r\n this.pageModel.target = this.searchModel.target;\r\n this.pageModel.type = this.searchModel.type;\r\n this.pageModel.isViewCurrentDate = this.searchModel.isViewCurrentDate;\r\n this.pageModel.currentPage = this.searchModel.currentPage;\r\n this.pageModel.pageSize = this.searchModel.pageSize;\r\n this.pageModel.startDate = this.searchModel.startDate ? new Date(this.searchModel.startDate) : null;\r\n this.pageModel.endDate = this.searchModel.endDate ? new Date(this.searchModel.endDate) : null;\r\n this.service.paging(this.pageModel).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n getUserInfo() {\r\n this.commonService.getUserInfo().subscribe(res => {\r\n this.unitName = res.UnitName;\r\n this.unitLevel = res.CapDonVi;\r\n this.userId = res.Id;\r\n this.unitcode = res.UnitCode;\r\n });\r\n }\r\n\r\n selectOneAccount() {\r\n this.service.selectOneAccount(this.userId).subscribe((acc) => {\r\n if (acc.code === SUCCESS_RESPONSE) {\r\n if (acc.data.type) {\r\n this.levelUser = this.unitLevel;\r\n this.isPolice = true;\r\n if (this.levelUser !== 1) {\r\n this.searchModel.districtCode = this.getMatinh(this.lstDiaBan, this.unitcode, 2);\r\n if (this.levelUser === 3) {\r\n this.searchModel.wardCode = this.getMatinh(this.lstDiaBan, this.unitcode, 3);\r\n } else {\r\n this.searchModel.wardCode = null;\r\n }\r\n this.lstWards = this.lstWardMaster?.filter((x) => x.maCha === this.searchModel.districtCode && x.level === 3);\r\n this.lstThon = this.lstThonMaster?.filter((x) => x.maCha === this.searchModel.wardCode && x.level === 4);\r\n }\r\n if (this.levelUser === 1 || this.levelUser === 2 || this.levelUser === 3) {\r\n this.reportName = this.reportName_Tinh + '.trdp';\r\n }\r\n // if (this.levelUser === 2) {\r\n // this.reportName = this.reportName_Huyen + '.trdp';\r\n // }\r\n // if (this.levelUser === 3) {\r\n // this.reportName = this.reportName_Xa + '.trdp';\r\n // }\r\n // this.getSearchIndex();\r\n this.search();\r\n } else {\r\n this.isPolice = false;\r\n }\r\n } else {\r\n this.commonService.toastrDanger(acc.message);\r\n }\r\n });\r\n }\r\n\r\n getTarget() {\r\n // get list chỉ tiêu của nhà trọ/nhà nghỉ/khách sạn với mã là 2\r\n this.service.getListTarget(2).subscribe((data) => {\r\n this.lstTarget = data;\r\n });\r\n }\r\n\r\n getMatinh(lst, unitcode, level): string {\r\n let a = lst.find((c) => c.ma === unitcode);\r\n if (a.maCha && a.level > level) {\r\n return this.getMatinh(lst, a.maCha, level);\r\n } else {\r\n return unitcode;\r\n }\r\n }\r\n\r\n unitcode: string = '';\r\n getListDvDbhc() {\r\n this.service.selectDbhc().subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.searchModel.provinceCode = this.getMatinh(res.data, this.unitcode, 1);\r\n this.lstDistricts = res.data?.filter((c) => c.level === 2 && c.maCha === this.searchModel.provinceCode);\r\n this.lstWardMaster = res.data?.filter((c) => c.level === 3);\r\n this.lstThonMaster = res.data?.filter((c) => c.level === 4);\r\n this.lstTinh = res.data?.filter((c) => c.level === 1);\r\n this.lstDiaBan = res.data;\r\n this.selectOneAccount();\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n changeDistrict(event: any) {\r\n this.lstWards = this.lstWardMaster?.filter((c) => c.maCha === event?.ma);\r\n }\r\n\r\n changeWard(event: any) {\r\n this.searchModel.villageCode = null;\r\n this.lstThon = this.lstThonMaster?.filter((c) => c.maCha === this.searchModel.wardCode);\r\n }\r\n\r\n tabId: string = '1';\r\n initForm: boolean = true;\r\n changeTab(event: NbTabComponent) {\r\n this.tabId = event.tabId;\r\n if (!this.initForm) {\r\n if (this.tabId === '1') {\r\n this.loadDataChart();\r\n this.isRequired = true;\r\n } else {\r\n this.isRequired = false;\r\n this.loadData();\r\n }\r\n }\r\n }\r\n\r\n search() {\r\n this.searchModel.currentPage = 1;\r\n\r\n if (this.levelUser === 1 || this.levelUser === 2 || this.levelUser === 3) {\r\n this.reportName = this.reportName_Tinh;\r\n }\r\n // if (this.levelUser === 2) {\r\n // this.reportName = this.reportName_Huyen;\r\n // }\r\n // if (this.levelUser === 3) {\r\n // this.reportName = this.reportName_Xa;\r\n // }\r\n const param: any = {};\r\n param.p_type = this.searchModel.type;\r\n param.p_tinh = this.searchModel.provinceCode;\r\n param.p_huyen = this.searchModel.districtCode;\r\n param.p_xa = this.searchModel.wardCode;\r\n param.p_thon = this.searchModel.villageCode;\r\n param.p_tungay = this.searchModel.startDate;\r\n param.p_denngay = this.searchModel.endDate;\r\n param.p_tungay_show = this.searchModel.startDate\r\n ? this.convertDatePipe.convertStringToDateString(this.convertDatePipe.convertDateToString(this.searchModel.startDate))\r\n : null;\r\n param.p_denngay_show = this.searchModel.endDate\r\n ? this.convertDatePipe.convertStringToDateString(this.convertDatePipe.convertDateToString(this.searchModel.endDate))\r\n : null;\r\n param.p_donvicaptren = null;\r\n param.p_capdonvi = this.levelUser;\r\n const police = 'Công an';\r\n const checked = this.unitName?.indexOf(police);\r\n if (checked !== -1) {\r\n let unitName: string = this.unitName?.substring(checked + police.length, this.unitName?.length)?.trim();\r\n unitName = unitName.substring(0, 1).toUpperCase() + unitName.slice(1);\r\n param.p_donvidangnhap = unitName;\r\n } else {\r\n param.p_donvidangnhap = this.unitName;\r\n }\r\n param.p_dieukientimkiem = null;\r\n\r\n param.p_tungay_truoc = null;\r\n param.p_denngay_truoc = null;\r\n if (!this.sosanhValue) {\r\n this.reportName = this.reportName + '.trdp';\r\n }\r\n const convertDate = new ConvertDatePipe();\r\n if (this.sosanhValue === '1' && this.searchModel.startDate && this.searchModel.endDate) {\r\n param.p_tungay_truoc = new Date(new Date(this.searchModel.startDate).setMonth(new Date(this.searchModel.startDate).getMonth() - 1));\r\n param.p_tungay_truoc = convertDate.convertDateToString(param.p_tungay_truoc);\r\n param.p_denngay_truoc = new Date(new Date(this.searchModel.endDate).setMonth(new Date(this.searchModel.startDate).getMonth() - 1));\r\n param.p_denngay_truoc = convertDate.convertDateToString(param.p_denngay_truoc);\r\n this.reportName = this.reportName + '_SS.trdp';\r\n }\r\n\r\n if (this.sosanhValue === '2' && this.searchModel.startDate && this.searchModel.endDate) {\r\n const namHienTai_TuNgay = new Date(this.searchModel.startDate).getFullYear();\r\n const namHienTai_DenNgay = new Date(this.searchModel.endDate).getFullYear();\r\n param.p_tungay_truoc = new Date(new Date(this.searchModel.startDate).setFullYear(namHienTai_TuNgay - 1));\r\n param.p_tungay_truoc = convertDate.convertDateToString(param.p_tungay_truoc);\r\n param.p_denngay_truoc = new Date(new Date(this.searchModel.endDate).setFullYear(namHienTai_DenNgay - 1));\r\n param.p_denngay_truoc = convertDate.convertDateToString(param.p_denngay_truoc);\r\n this.reportName = this.reportName + '_SS.trdp';\r\n }\r\n\r\n param.p_tungay_truoc_show = this.searchModel.startDate ? this.convertDatePipe.convertStringToDateString(param.p_tungay_truoc) : null;\r\n param.p_denngay_truoc_show = this.searchModel.endDate ? this.convertDatePipe.convertStringToDateString(param.p_denngay_truoc) : null;\r\n\r\n this.parameter = param;\r\n // }\r\n }\r\n\r\n viewDetail(id: number) { }\r\n\r\n loadDataChart() {\r\n this.lstData = [];\r\n this.pageModel.districtCode = this.searchModel.districtCode;\r\n this.pageModel.wardCode = this.searchModel.wardCode;\r\n this.pageModel.hotelId = this.searchModel.hotelId;\r\n this.pageModel.target = this.searchModel.target;\r\n this.pageModel.type = this.searchModel.type;\r\n this.pageModel.isViewCurrentDate = this.searchModel.isViewCurrentDate;\r\n this.pageModel.currentPage = this.searchModel.currentPage;\r\n this.pageModel.pageSize = this.searchModel.pageSize;\r\n this.pageModel.startDate = this.searchModel.startDate ? new Date(this.searchModel.startDate) : null;\r\n this.pageModel.endDate = this.searchModel.endDate ? new Date(this.searchModel.endDate) : null;\r\n this.service.getDataChart(this.pageModel).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstCategories = res.data?.map((c) => c.name)?.filter((item, i, ar) => ar.indexOf(item) === i);\r\n this.lstData = res.data?.map((c) => c.data);\r\n this.lstYearChart = res.data?.map((c) => c.year);\r\n this.targetDataChart = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n public labelsVisual(args: LegendItemVisualArgs): Element {\r\n // if (args.series.name === '2019') {\r\n // // Create rectangular shape on top of which the label will be drawn\r\n // const rectOptions = { stroke: { width: 2, color: '#fff' }, fill: { color: '#fff' } };\r\n // const rectGeometry = new Rect(new Point(0, 3), new Size(60, 10));\r\n // const rect: RectShape = new RectShape(rectGeometry, rectOptions);\r\n\r\n // // Create the lines used to represent the custom legend item\r\n // const pathColor = args.options.markers.border.color;\r\n // const path1 = new Path({\r\n // stroke: {\r\n // color: pathColor,\r\n // width: 3\r\n // }\r\n // });\r\n\r\n // const path2 = new Path({\r\n // stroke: {\r\n // color: pathColor,\r\n // width: 3\r\n // }\r\n // });\r\n\r\n // // The paths are constructed by using a chain of commands\r\n // path1.moveTo(0, 7).lineTo(10, 7).close();\r\n // path2.moveTo(15, 7).lineTo(25, 7).close();\r\n\r\n // // Create the text associated with the legend item\r\n // const labelText = args.series.name;\r\n // const labelFont = args.options.labels.font;\r\n // const fontColor = args.options.labels.color;\r\n // const textOptions = { font: labelFont, fill: { color: fontColor } };\r\n // const text = new Text(labelText, new Point(27, 0), textOptions);\r\n\r\n // // Place all the shapes in a group\r\n // const group = new Group();\r\n\r\n // group.append(rect, path1, path2, text);\r\n\r\n // // set opacity if the legend item is disabled\r\n // if (!args.active) {\r\n // group.opacity(0.5);\r\n // }\r\n\r\n // return group;\r\n // }\r\n // return the default visualization of the legend items\r\n return args.createVisual();\r\n }\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n THỐNG KÊ NHÀ TRỌ\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { Routes } from '@angular/router';\r\nimport { KhachThueComponent } from './khach-thue/khach-thue.component';\r\nimport { NhaTroComponent } from './nha-tro/nha-tro.component';\r\nimport { ChuTroComponent } from './chu-tro/chu-tro.component';\r\nimport { NguoiDungQtComponent } from './nguoi-dung-qt/nguoi-dung-qt.component';\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n children: [\r\n { path: 'khach-thue', component: KhachThueComponent },\r\n { path: 'nha-tro', component: NhaTroComponent },\r\n { path: 'chu-tro', component: ChuTroComponent },\r\n { path: 'nguoi-dung-qt', component: NguoiDungQtComponent },\r\n ]\r\n }\r\n];\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n AppCongAnApiService,\r\n DataChartModelIEnumerableApiResponse,\r\n ItemDmcongtyListApiResponse,\r\n ItemloainhaListApiResponse,\r\n SearchIndexModelApiResponse,\r\n SelectNhaTroPostModel,\r\n TaikhoanEntityApiResponse,\r\n ThongKeModelIEnumerablePageModelViewApiResponse,\r\n ThongKeSearchModel,\r\n} from 'app/@core/data/app-congan.service';\r\nimport { AppQthtApiService, ObjectIEnumerableApiResponse } from 'app/@core/data/app-qtht.service';\r\nimport { Observable, of } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class ThongKeService {\r\n constructor(\r\n private api: AppCongAnApiService,\r\n private qthtApi: AppQthtApiService\r\n ) { }\r\n\r\n getLoainha(): Observable {\r\n return this.api.appCongAnApiV1NhatroGetLoaiNha();\r\n }\r\n\r\n getListSearchIndex(body: SelectNhaTroPostModel | undefined): Observable {\r\n return this.api.appCongAnApiV1ThongKeGetListSearchIndex(body);\r\n }\r\n\r\n paging(body: ThongKeSearchModel | undefined): Observable {\r\n return this.api.appCongAnApiV1ThongKePaging(body);\r\n }\r\n\r\n selectDbhc(): Observable {\r\n return this.api.appCongAnApiV1DmDiaBanSelectAll();\r\n }\r\n\r\n getDataChart(body: ThongKeSearchModel | undefined): Observable {\r\n return this.api.appCongAnApiV1ThongKeGetDataChart(body);\r\n }\r\n\r\n getAllDmCongTy(): Observable {\r\n return this.api.appCongAnApiV1DmcongtyGetAll();\r\n }\r\n\r\n selectOneAccount(id: number): Observable {\r\n return this.api.appCongAnApiV1TaiKhoanSelectOne(id);\r\n }\r\n\r\n getListDanToc(): Observable {\r\n return this.api.appCongAnApiV1DmDanTocSelectAll();\r\n }\r\n\r\n getListTarget(type?: number): Observable {\r\n if (type === 1) {\r\n\r\n const lst: any[] = [\r\n {\r\n value: 1,\r\n text: 'Dân tộc'\r\n },\r\n {\r\n value: 2,\r\n text: 'Giới tính'\r\n\r\n },\r\n {\r\n value: 3,\r\n text: 'Độ tuổi'\r\n\r\n }\r\n ];\r\n return of(lst);\r\n } else {\r\n const lst: any[] = [\r\n {\r\n value: 1,\r\n text: 'Nhà trọ'\r\n },\r\n {\r\n value: 2,\r\n text: 'Nhà nghỉ/Khách sạn'\r\n\r\n }\r\n ];\r\n return of(lst);\r\n }\r\n }\r\n\r\n getListAgeAndGender(): Observable {\r\n const lst: any[] = [\r\n {\r\n value: 0,\r\n text: 'Nữ',\r\n type: 1\r\n },\r\n {\r\n value: 1,\r\n text: 'Nam',\r\n type: 1\r\n },\r\n {\r\n value: 2,\r\n text: 'Khác',\r\n type: 1\r\n },\r\n {\r\n value: 0,\r\n text: 'Từ 0-14',\r\n type: 2\r\n },\r\n {\r\n value: 1,\r\n text: 'Từ 15-64',\r\n type: 2\r\n },\r\n {\r\n value: 2,\r\n text: 'Từ 65 trở lên',\r\n type: 2\r\n\r\n }\r\n ];\r\n return of(lst);\r\n }\r\n}\r\n","import { SUCCESS_RESPONSE} from './../../../@core/customs/constants';\r\nimport {\r\n Component,\r\n ElementRef,\r\n HostListener,\r\n OnInit,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { CommonService } from '../../../@core/customs/common.service';\r\nimport { HomeService } from '../home/home.service';\r\nimport { PageModel, SearchModel } from 'app/@core/data/app-congan.service';\r\nimport { environment } from 'environments/environment';\r\n@Component({\r\n selector: 'app-congan-chitietnhatro',\r\n templateUrl: './app-congan-chitietnhatro.component.html',\r\n styleUrls: ['./app-congan-chitietnhatro.component.scss']\r\n})\r\nexport class AppConganChitietnhatroComponent implements OnInit {\r\n id: any = 0;\r\n idloaibaiviet: any = '0';\r\n constructor(\r\n public sanitizer: DomSanitizer,\r\n private activatedRoute: ActivatedRoute,\r\n private commonService: CommonService,\r\n private service: HomeService,\r\n private dialog: MatDialog,\r\n private router: Router,\r\n ) {\r\n this.activatedRoute.params.subscribe((params) => {\r\n this.id = params['id'];\r\n });\r\n }\r\n star: number;\r\n cssWidth: any;\r\n\r\n target: any = {\r\n data: [],\r\n };\r\n target1: any = {\r\n data: [],\r\n };\r\n listphong: any = {\r\n data: [],\r\n };\r\n lstdichvu: any = {\r\n data: [],\r\n };\r\n ListNhatro: any = {\r\n data: []\r\n };\r\n listImages = [];\r\n listImages1 = [];\r\n ListTrangthai: any = [];\r\n searchModel: PageModel = new PageModel({\r\n\r\n currentPage: 1,\r\n pageSize: 6,\r\n });\r\n searchModel2: SearchModel = new SearchModel({\r\n currentPage: 1,\r\n pageSize: 9,\r\n condition: null,\r\n });\r\n PageModel:PageModel = new PageModel ({\r\n currentPage: 1,\r\n pageSize: 10,\r\n search: null,\r\n })\r\n basePath = environment.APP_CONGAN_PATH;\r\n\r\n ngOnInit(): void {\r\n this.loadData_by_id();\r\n this.loadphongtro();\r\n this.loadphongtrokhac();\r\n this.loadDanhgia_by_id();\r\n this.loaddichvu()\r\n\r\n }\r\n getCssWidth(reviewStarRating:any) {\r\n this.cssWidth = this.toPercentage(reviewStarRating);\r\n let styles = {\r\n 'width': `${this.cssWidth.toString()}`\r\n }\r\n return styles;\r\n }\r\n toPercentage(num: number) : string {\r\n return `${num / 5 * 100}%`;\r\n }\r\n loadData_by_id() {\r\n this.service.getbyid(this.id).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target = res.data[0];\r\n if (res.data[0].anh1) {\r\n this.listImages = atob(res.data[0].anh1).split(\";;;\")\r\n }\r\n if (this.listImages.length == 0) {\r\n this.listImages.push('../../../../assets/images/default.jpg');\r\n }\r\n }\r\n });\r\n }\r\n loadDanhgia_by_id() {\r\n this.PageModel.search = this.id;\r\n this.service.pagingdanhgia(this.star,this.PageModel).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target1 = res.data;\r\n }\r\n });\r\n }\r\n loadphongtro() {\r\n this.searchModel2.motelId = this.id;\r\n this.service.loadphongtro(this.searchModel2).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.listphong = res.data;\r\n if (res.data.data[0].img1) {\r\n this.listImages1 = atob(res.data[0].img1).split(\";;;\")\r\n }\r\n if (this.listImages1.length == 0) {\r\n this.listImages1.push('../../../../assets/images/default.jpg');\r\n }\r\n\r\n }\r\n });\r\n }\r\n loaddichvu() {\r\n this.searchModel2.condition = this.id;\r\n this.service.pagingdichvu(this.searchModel2).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstdichvu = res.data;\r\n console.log(this.lstdichvu);\r\n }\r\n });\r\n }\r\n loadphongtrokhac() {\r\n\r\n this.service.pagingcustom(this.searchModel).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.ListNhatro = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n clickloadtintuc(id: number) {\r\n this.router\r\n .navigate(['home/chitiet/' + id ])\r\n .then(() => {\r\n this.id = id;\r\n this.loadData_by_id();\r\n });\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \"Random\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {{ target.tennhatro }}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Chủ nhà trọ: {{ target.tenchunhatro }}

    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    {{ target.dienthoai }}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    {{ target.diachicuthe }}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Đi tới bản đồ

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n

    {{ target.mota }}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
    STTTên dịch vụĐơn giáĐơn vị
    {{i+1}}{{item.tendichvu}}{{item.giadichvu | number : \"1.0-0\"}}đồng / {{item.donvitinh}}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Danh sách các phòng trống

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Đánh giá nhà trọ

    \r\n
    \r\n

    {{ target.avg | number : '1.0-1' }}/5

    \r\n
    \r\n \r\n
    \r\n

    | {{ target?.count }} đánh giá

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Tất cả

    \r\n

    ({{ target?.count }})

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n

    ({{ target?.five }})

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n

    ({{ target?.four }})

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n

    ({{ target?.three }})

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n

    ({{ target?.two }})

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    ({{ target?.one }})

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    {{ item.nguoiDanhGia }}

    \r\n
    \r\n
    \r\n \r\n
    \r\n

    {{ item?.ngayDanhGia | date : 'd-M-y H:mm' }}

    \r\n
    \r\n

    {{ item.nhanXet }}

    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Phản hồi

    \r\n
    \r\n

    {{ phan.nguoiPhanHoi }}

    \r\n
    \r\n

    {{ phan?.thoiGianPhanHoi | date : 'd-M-y H:mm' }}

    \r\n
    \r\n

    {{ phan.noiDung }}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Các phòng trọ khác

    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n XEM THÊM \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \"image\"
    \r\n
    \"image\"
    \r\n
    \"image\"
    \r\n
    \"image\"
    \r\n
    \r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { filter as _filter, forEach as _forEach, clone as _ } from 'lodash';\r\nimport { stringify as GeoJSONToWKT } from 'wellknown';\r\nimport { AppCongAnApiService } from 'app/@core/data/app-congan.service';\r\nimport mapboxgl from 'mapbox-gl';\r\nimport MapboxGeocoder from '@mapbox/mapbox-gl-geocoder';\r\nimport { environment } from 'environments/environment';\r\nimport { CompassControl } from 'mapbox-gl-controls';\r\nimport { ZoomControl } from 'mapbox-gl-controls';\r\nimport { SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { MapsService } from 'app/modules/app-congan-admin/maps/maps.service';\r\n\r\ndeclare var MapboxCircle: any;\r\n@Component({\r\n selector: 'app-congan-map',\r\n templateUrl: './app-congan-map.component.html',\r\n styleUrls: ['./app-congan-map.component.scss']\r\n})\r\nexport class AppConganMapComponent implements OnInit {\r\n\r\n\r\n /* #region Variable */\r\n\r\n map: any;\r\n drawCicle: any;\r\n isDrawing = false;\r\n drawing: boolean = false;\r\n isTraCuuTTPolygon = false;\r\n dataDraw = {\r\n type: 'FeatureCollection',\r\n features: [],\r\n };\r\n dataPointPreview = {\r\n type: 'FeatureCollection',\r\n features: [],\r\n };\r\n listeners: any;\r\n popupDraw: any;\r\n coordinateDraw = [];\r\n polygon: string = '';\r\n textSearchMap: string = '';\r\n showTableAttribute: boolean = false;\r\n contentMeasure: string = '';\r\n contentNumberCount: string = '';\r\n /* #endregion */\r\n\r\n constructor(\r\n private commonService: CommonService,\r\n private mapService: MapsService\r\n ) { }\r\n\r\n\r\n ngOnInit(): void {\r\n this.initMap();\r\n }\r\n\r\n flywithme() {\r\n this.map.flyTo({\r\n center: [106.3738882, 21.3065468],\r\n essential: true\r\n });\r\n }\r\n\r\n initMap() {\r\n mapboxgl.accessToken = environment.MAPBOXKEY;\r\n this.map = new mapboxgl.Map({\r\n container: 'map',\r\n style: 'mapbox://styles/mapbox/streets-v12',\r\n 'center': [106.3738882, 21.3065468],\r\n 'zoom': 10,\r\n attributionControl: false\r\n });\r\n\r\n const geocoder = new MapboxGeocoder({\r\n accessToken: mapboxgl.accessToken,\r\n marker: {\r\n color: '#6a9955'\r\n },\r\n placeholder: 'Tìm kiếm địa điểm',\r\n mapboxgl: mapboxgl\r\n });\r\n geocoder.on('result', (event) => {\r\n //this.map.getSource('bandohanhchinh').setData(event.result.geometry);\r\n });\r\n\r\n this.map.on('render', () => {\r\n\r\n });\r\n\r\n this.map.addControl(geocoder);\r\n this.map.addControl(\r\n new mapboxgl.GeolocateControl({\r\n positionOptions: {\r\n enableHighAccuracy: true\r\n },\r\n trackUserLocation: true,\r\n showUserHeading: true\r\n })\r\n );\r\n\r\n this.map.addControl(new CompassControl(), 'top-right');\r\n this.map.addControl(new ZoomControl(), 'top-right');\r\n\r\n this.map.on('load', () => {\r\n this.map.addSource('bandohanhchinh', {\r\n type: 'geojson',\r\n data: '../assets/maps/2022-12-20-bacgiang-v1.json'\r\n });\r\n this.mapService.thongKe('').subscribe((result) => {\r\n if (result.code == SUCCESS_RESPONSE) {\r\n this.contentNumberCount = 'Tổng số nhà trọ: ' + result.data?.tongSoNhaTroTrenDiaBan;\r\n }\r\n });\r\n\r\n this.map.addLayer({\r\n 'id': 'bandohanhchinh-layer',\r\n 'type': 'fill',\r\n 'source': 'bandohanhchinh',\r\n 'paint': {\r\n 'fill-color': '#00ffff',\r\n 'fill-opacity': 0.4,\r\n 'fill-outline-color': 'red'\r\n },\r\n });\r\n\r\n this.map.setPaintProperty('bandohanhchinh-layer', 'fill-color', [\r\n 'match',\r\n ['get', 'osmid'],\r\n '7113961',\r\n '#fffc8c',\r\n '6923324',\r\n '#ffd0ff',\r\n '6922835',\r\n '#66FFFF',\r\n '6922083',\r\n '#99CCFF',\r\n '6921174',\r\n '#00BB00',\r\n '7113960',\r\n '#ffaaa0',\r\n '6917071',\r\n '#33CCFF',\r\n '6915724',\r\n '#cdaacd',\r\n '6922834',\r\n '#ffaa32',\r\n '7113962',\r\n '#99CCFF',\r\n '#d1d3d5'\r\n ]);\r\n\r\n\r\n this.map.loadImage(\r\n 'https://docs.mapbox.com/mapbox-gl-js/assets/custom_marker.png',\r\n (error, image) => {\r\n if (error) throw error;\r\n this.map.addImage('nhatro-marker', image);\r\n this.mapService.nhatro(\"\").subscribe((result) => {\r\n if (result.code == SUCCESS_RESPONSE) {\r\n let json = new GeoJSonNhaTro();\r\n json.type = 'geojson';\r\n let j_data = new DataGeoJson();\r\n j_data.type = 'FeatureCollection';\r\n\r\n let features = [];\r\n result.data.forEach(element => {\r\n let f_json = new FeatureGeoJson();\r\n f_json.type = 'Feature';\r\n let geo_json = new GeometryGeoJson();\r\n geo_json.type = 'Point';\r\n geo_json.coordinates = [parseFloat(element.lng), parseFloat(element.lat)];\r\n f_json.geometry = geo_json;\r\n let propertiesGeoJson = new PropertiesGeoJson();\r\n propertiesGeoJson.title = element.tennhatro;\r\n f_json.properties = propertiesGeoJson;\r\n features.push(f_json);\r\n });\r\n j_data.features = features;\r\n json.data = j_data;\r\n this.map.addSource('points', json);\r\n // Add a symbol layer\r\n this.map.addLayer({\r\n 'id': 'points',\r\n 'type': 'symbol',\r\n 'source': 'points',\r\n 'layout': {\r\n 'icon-image': 'nhatro-marker',\r\n 'text-field': ['get', 'title'],\r\n 'text-font': [\r\n 'Open Sans Semibold',\r\n 'Arial Unicode MS Bold'\r\n ],\r\n 'text-offset': [0, 1.25],\r\n 'text-anchor': 'top'\r\n }\r\n });\r\n }\r\n });\r\n\r\n\r\n\r\n }\r\n );\r\n\r\n });\r\n\r\n this.map.on('click', 'bandohanhchinh-layer', (e) => {\r\n if (e.features[0] != undefined) {\r\n const coordinates = e.features[0].geometry.coordinates.slice();\r\n const description = e.features[0].properties.name;\r\n\r\n const maHuyen = e.features[0].properties.id;\r\n\r\n this.mapService.thongKe(maHuyen).subscribe((result) => {\r\n if (result.code == SUCCESS_RESPONSE) {\r\n let html = '
    ' + description + '

    ';\r\n html += 'Tổng số nhà trọ: ' + result.data?.tongSoNhaTroTrenDiaBan + '
    ';\r\n html += 'Tổng số phòng trọ: ' + result.data?.tongSoPhongTroTrenDiaBan + '
    ';\r\n html += 'Tổng số phòng trọ chưa có người thuê: ' + result.data?.tongSoPhongTroChuaCoNguoiThue + '
    ';\r\n\r\n new mapboxgl.Popup()\r\n .setLngLat(e.lngLat)\r\n .setHTML(html)\r\n .addTo(this.map);\r\n }\r\n });\r\n\r\n\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n chonTimKiemKhongGian(type) {\r\n if (type === 'radius') {\r\n const center = this.map.getCenter();\r\n this.drawCicle = new MapboxCircle({ lat: center.lat, lng: center.lng }, 25000, {\r\n editable: true,\r\n fillColor: '#29AB87',\r\n }).addTo(this.map);\r\n } else if (type === 'polygon') {\r\n this.onActiveDraw();\r\n this.isTraCuuTTPolygon = true;\r\n if (this.drawCicle) this.drawCicle.remove();\r\n this.drawCicle = null;\r\n } else {\r\n this.isTraCuuTTPolygon = false;\r\n if (this.drawCicle) this.drawCicle.remove();\r\n this.drawCicle = null;\r\n this.onCloseDraw();\r\n }\r\n }\r\n /* #region Draw action */\r\n\r\n onActiveDraw() {\r\n this.onCloseDraw();\r\n this.isDrawing = true;\r\n this.map.doubleClickZoom.disable();\r\n const markerHeight = 40;\r\n const markerRadius = 40;\r\n const linearOffset = 25;\r\n this.popupDraw = new mapboxgl.Popup({\r\n offset: {\r\n top: [0, 20],\r\n 'top-left': [0, 0],\r\n 'top-right': [0, 0],\r\n bottom: [0, -markerHeight],\r\n 'bottom-left': [linearOffset, (markerHeight - markerRadius + linearOffset) * -1],\r\n 'bottom-right': [-linearOffset, (markerHeight - markerRadius + linearOffset) * -1],\r\n left: [markerRadius, (markerHeight - markerRadius) * -1],\r\n right: [-markerRadius, (markerHeight - markerRadius) * -1],\r\n },\r\n anchor: 'left',\r\n closeButton: false,\r\n closeOnClick: false,\r\n }).addTo(this.map);\r\n this.map.getCanvas().style.cursor = 'pointer';\r\n const me = this;\r\n // Mouse move\r\n me.listeners['mouseMovePolygon'] = me.mouseMovePolygon.bind(me);\r\n me.map.on('mousemove', me.listeners['mouseMovePolygon']);\r\n // Click\r\n me.listeners['mouseClickPolygon'] = me.mouseClickPolygon.bind(me);\r\n me.map.on('click', me.listeners['mouseClickPolygon']);\r\n // dblClick\r\n me.listeners['mouseDoubleClickPolygon'] = me.mouseDoubleClickPolygon.bind(me);\r\n me.map.on('dblclick', me.listeners['mouseDoubleClickPolygon']);\r\n // Mouse down\r\n me.listeners['mouseDownPolygon'] = me.mouseDownPolygon.bind(me);\r\n me.map.on('mousedown', me.listeners['mouseDownPolygon']);\r\n // Mouse up\r\n me.listeners['mouseUpPolygon'] = me.mouseUpPolygon.bind(me);\r\n me.map.on('mouseup', me.listeners['mouseUpPolygon']);\r\n }\r\n\r\n onCloseDraw() {\r\n this.dataDraw.features = [];\r\n this.dataPointPreview.features = [];\r\n this.coordinateDraw = [];\r\n this.isDrawing = false;\r\n this.map.getCanvas().style.cursor = '';\r\n this.clearAllListener();\r\n this.clearAllPopup();\r\n this.clearLayerDrawCurrent();\r\n this.clearLayerDraw();\r\n this.listeners = {};\r\n }\r\n addPointDraw(lng: any, lat: any) {\r\n const geojson = {\r\n type: 'FeatureCollection',\r\n features: [\r\n {\r\n type: 'Feature',\r\n geometry: {\r\n type: 'Point',\r\n coordinates: [lng, lat],\r\n },\r\n },\r\n ],\r\n };\r\n if (this.map.getLayer('point-cursor')) {\r\n this.map.getSource('point-cursor').setData(geojson);\r\n } else {\r\n this.map.addSource('point-cursor', {\r\n type: 'geojson',\r\n data: geojson,\r\n });\r\n this.map.addLayer({\r\n id: 'point-cursor',\r\n type: 'circle',\r\n source: 'point-cursor',\r\n paint: {\r\n 'circle-radius': 6,\r\n 'circle-color': '#ffc500',\r\n 'circle-opacity': 0.5,\r\n },\r\n });\r\n }\r\n }\r\n\r\n /* #endregion */\r\n\r\n /* #region Clear data on maps */\r\n clearLayerDraw() {\r\n if (this.map.getSource('draw-source')) {\r\n this.map.removeLayer('draw-poly');\r\n this.map.removeLayer('draw-poly-outline');\r\n this.map.removeLayer('draw-line');\r\n this.map.removeSource('draw-source');\r\n }\r\n }\r\n clearLayerDrawCurrent() {\r\n if (this.map.getLayer('draw-line-preview')) {\r\n this.map.removeLayer('draw-line-preview');\r\n this.map.removeSource('draw-line-preview');\r\n }\r\n if (this.map.getLayer('draw-poly-preview')) {\r\n this.map.removeLayer('draw-poly-preview');\r\n this.map.removeSource('draw-poly-preview');\r\n }\r\n if (this.map.getLayer('point-cursor')) {\r\n this.map.removeLayer('point-cursor');\r\n this.map.removeSource('point-cursor');\r\n }\r\n }\r\n\r\n clearAllListener() {\r\n for (const evt in this.listeners) {\r\n if (evt) {\r\n this.map.off('mousemove', this.listeners[evt]);\r\n this.map.off('click', this.listeners[evt]);\r\n this.map.off('dblclick', this.listeners[evt]);\r\n this.map.off('mousedown', this.listeners[evt]);\r\n }\r\n }\r\n }\r\n\r\n clearAllPopup() {\r\n if (this.popupDraw) this.popupDraw.remove();\r\n }\r\n /* #endregion */\r\n\r\n /* #region mouse action */\r\n mouseDownPolygon(e: any) { }\r\n\r\n mouseUpPolygon(e: any) { }\r\n mouseDoubleClickPolygon(e: any) {\r\n let feature = null;\r\n const fcoor = _(this.coordinateDraw);\r\n fcoor.push(_(this.coordinateDraw[0]));\r\n feature = {\r\n type: 'Feature',\r\n geometry: {\r\n type: 'Polygon',\r\n coordinates: [fcoor],\r\n },\r\n properties: {},\r\n };\r\n if (feature) this.dataDraw.features.push(feature);\r\n if (this.isTraCuuTTPolygon) {\r\n const wktPolygon = GeoJSONToWKT(this.dataDraw.features[0]);\r\n this.polygon = wktPolygon;\r\n }\r\n // this.isDrawing = false;\r\n // this.layerDraw();\r\n // this.clearAllListener();\r\n this.popupDraw.remove();\r\n this.coordinateDraw = [];\r\n this.dataDraw.features = [];\r\n }\r\n mouseMovePolygon(e: any) {\r\n this.addPointDraw(e.lngLat.lng, e.lngLat.lat);\r\n this.popupDraw.setLngLat([e.lngLat.lng, e.lngLat.lat]).setHTML('Nhấn 2 lần vào bản đồ để kết thúc');\r\n if (this.coordinateDraw && this.coordinateDraw.length > 0) {\r\n const newFeaLine: any = {\r\n type: 'Feature',\r\n geometry: {\r\n type: 'LineString',\r\n coordinates: [],\r\n },\r\n };\r\n const newFeaPoly: any = {\r\n type: 'Feature',\r\n geometry: {\r\n type: 'Polygon',\r\n coordinates: [[]],\r\n },\r\n };\r\n let coors = _(this.coordinateDraw);\r\n if (!coors) {\r\n coors = [];\r\n }\r\n coors.push([e.lngLat.lng, e.lngLat.lat]);\r\n const fcoor = _(coors);\r\n fcoor.push(_(coors[0]));\r\n newFeaPoly.geometry.coordinates = [fcoor];\r\n newFeaLine.geometry.coordinates = coors;\r\n if (this.map.getLayer('draw-poly-preview')) {\r\n this.map.getSource('draw-poly-preview').setData(newFeaPoly);\r\n } else {\r\n this.map.addSource('draw-poly-preview', {\r\n type: 'geojson',\r\n data: newFeaPoly,\r\n });\r\n this.map.addLayer({\r\n id: 'draw-poly-preview',\r\n type: 'fill',\r\n source: 'draw-poly-preview',\r\n paint: {\r\n 'fill-opacity': 0.1,\r\n 'fill-color': '#0000ff',\r\n },\r\n });\r\n }\r\n if (this.map.getLayer('draw-line-preview')) {\r\n this.map.getSource('draw-line-preview').setData(newFeaLine);\r\n } else {\r\n this.map.addSource('draw-line-preview', {\r\n type: 'geojson',\r\n data: newFeaLine,\r\n });\r\n this.map.addLayer({\r\n id: 'draw-line-preview',\r\n type: 'line',\r\n source: 'draw-line-preview',\r\n paint: {\r\n 'line-color': '#0000ff',\r\n 'line-width': 2,\r\n 'line-dasharray': [2.6, 2.6],\r\n },\r\n });\r\n }\r\n }\r\n }\r\n\r\n mouseClickPolygon(e: any) {\r\n if (this.isDrawing === true) {\r\n this.coordinateDraw.push([e.lngLat.lng, e.lngLat.lat]);\r\n this.drawing = true;\r\n }\r\n }\r\n /* #endregion */\r\n}\r\n\r\nexport class GeoJSonNhaTro {\r\n type?: string | undefined;\r\n data?: DataGeoJson | undefined;\r\n}\r\n\r\nexport class DataGeoJson {\r\n type?: string | undefined;\r\n features?: FeatureGeoJson[] | undefined;\r\n}\r\n\r\nexport class FeatureGeoJson {\r\n type?: string | undefined;\r\n geometry?: GeometryGeoJson | undefined;\r\n properties?: PropertiesGeoJson | undefined;\r\n}\r\n\r\nexport class GeometryGeoJson {\r\n type?: string | undefined;\r\n coordinates?: number[] | undefined;\r\n}\r\nexport class PropertiesGeoJson {\r\n title?: string | undefined;\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n","import { SUCCESS_RESPONSE, PAGE_SIZE, ViewDiaBan, STATUS_ACTION } from './../../../@core/customs/constants';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { SearchModel } from 'app/@core/data/app-congan.service';\r\nimport { environment } from 'environments/environment';\r\nimport { User } from './../../../@core/data/users';\r\nimport { ViewModelNhaTro } from 'app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-nha-tro.service';\r\nimport { QLNhaTroComponent } from 'app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-nha-tro/quan-ly-nha-tro/quan-ly-nha-tro.component';\r\nimport { DanhMucNguoiDungComponent } from 'app/modules/app-congan-admin/danh-muc-nguoi-dung/danh-muc-nguoi-dung/danh-muc-nguoi-dung/danh-muc-nguoi-dung.component';\r\nimport { X } from '@angular/cdk/keycodes';\r\nimport { HomeService } from '../home/home.service';\r\nimport { SearchModelDSNhatroV2 } from '../../../@core/data/app-congan.service';\r\nimport { Options } from '@angular-slider/ngx-slider';\r\nimport { Geolocation } from '@capacitor/geolocation';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n@Component({\r\n selector: 'app-congan-nhatro',\r\n templateUrl: './app-congan-nhatro.component.html',\r\n styleUrls: ['./app-congan-nhatro.component.scss'],\r\n})\r\nexport class AppConganNhatroComponent implements OnInit {\r\n constructor(\r\n private commonService: CommonService,\r\n private homeService: HomeService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private dialog: MatDialog,\r\n private httpClient: HttpClient\r\n ) { }\r\n city: string = '';\r\n toaDo: any;\r\n lstTinh = [];\r\n lstHuyen = [];\r\n lstXa = [];\r\n lstThon = [];\r\n lstDSDiaBan = [];\r\n searchModelV2: SearchModelDSNhatroV2 = new SearchModelDSNhatroV2({\r\n keysearch: '',\r\n currentPage: 1,\r\n pageSize: 9,\r\n\r\n });\r\n\r\n diaban: {\r\n tinh: string,\r\n huyen: string,\r\n xa: string,\r\n thon: string\r\n } = {\r\n tinh: null,\r\n huyen: null,\r\n xa: null,\r\n thon: null\r\n };\r\n target: any = {\r\n data: []\r\n };\r\n basePath = environment.APP_CONGAN_PATH;\r\n id: any = 0;\r\n path: string = environment.APP_CONGAN_PATH;\r\n value: number = 0;\r\n highValue: number = 0;\r\n options: Options = {\r\n floor: 0,\r\n ceil: 10000000,\r\n };\r\n onUserChangeEnd($event) {\r\n this.searchModelV2.dongiaphongden = $event.highValue;\r\n this.searchModelV2.dongiaphongtu = $event.value;\r\n }\r\n getsession: any = {};\r\n\r\n ngOnInit(): void {\r\n this.getsession = sessionStorage.getItem('currentUserFullInfo');\r\n this.loadDiaBan();\r\n this.getLocation();\r\n }\r\n async getLocation() {\r\n try {\r\n await Geolocation.checkPermissions();\r\n this.toaDo = await Geolocation.getCurrentPosition();\r\n let lat = this.toaDo.coords.latitude;\r\n let lng = this.toaDo.coords.longitude;\r\n this.httpClient\r\n .request(\r\n 'get',\r\n 'https://api.bigdatacloud.net/data/reverse-geocode-client?latitude=' + lat + '&longitude=' + lng + '&localityLanguage=vi'\r\n )\r\n .subscribe((res: any) => {\r\n this.lstTinh.forEach(element=>{\r\n console.log(\"c\",element[0]);\r\n })\r\n console.log(\"cres.localityInfo\",res.localityInfo.administrative[2].name);\r\n var a= this.lstTinh.filter((c) => c.ten.includes(res.localityInfo.administrative[2].name)).map((x) => {\r\n return {\r\n ma: x.ma\r\n };\r\n });\r\n a.forEach(c => {\r\n this.diaban.tinh=c.ma;\r\n })\r\n this.changeTinh();\r\n });\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n\r\n\r\n loadData() {\r\n this.searchModelV2.matinh = this.diaban.tinh;\r\n this.searchModelV2.maHuyen = this.diaban.huyen;\r\n this.searchModelV2.maXa = this.diaban.xa;\r\n this.searchModelV2.maThon = this.diaban.thon;\r\n this.searchModelV2.currentPage = 1;\r\n this.homeService.pagingcustom(this.searchModelV2).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n loadDiaBan = () => {\r\n this.homeService.SelectByLevelDiaban(1).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstTinh = result.data.map((x) => {\r\n return {\r\n ma: x.ma,\r\n ten: x.ten,\r\n };\r\n });\r\n \r\n }\r\n });\r\n }\r\n\r\n changeTinh() {\r\n this.diaban.huyen = null;\r\n this.lstHuyen=null;\r\n this.diaban.xa = null;\r\n this.lstXa=null;\r\n this.diaban.thon = null;\r\n this.lstThon=null;\r\n\r\n this.homeService.SelectByMaDiabanCha(this.diaban.tinh).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstHuyen = result.data.map((x) => {\r\n return {\r\n ma: x.ma,\r\n ten: x.ten,\r\n };\r\n });\r\n }\r\n });\r\n this.loadData();\r\n }\r\n changeHuyen() {\r\n\r\n this.diaban.xa = null;\r\n this.lstXa=null;\r\n this.homeService.SelectByMaDiabanCha(this.diaban.huyen).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstXa = result.data.map((x) => {\r\n return {\r\n ma: x.ma,\r\n ten: x.ten,\r\n };\r\n });\r\n }\r\n });\r\n this.loadData();\r\n }\r\n changeXa() {\r\n this.diaban.thon = null;\r\n this.lstThon=null;\r\n this.homeService.SelectByMaDiabanCha(this.diaban.xa).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstThon = result.data.map((x) => {\r\n return {\r\n ma: x.ma,\r\n ten: x.ten,\r\n };\r\n });\r\n }\r\n });\r\n this.loadData();\r\n }\r\n\r\n\r\n viewDetail(id: number) {\r\n this.router.navigate([`/cong-an/chi-tiet/${id}`]).then(_ => false);\r\n }\r\n\r\n detailData(item: ViewModelNhaTro) {\r\n const title = `Chi tiết nhà trọ`;\r\n this.dialog.open(QLNhaTroComponent,\r\n this.commonService.configDialog('60%', {\r\n id: item.id, title: title\r\n , action: STATUS_ACTION.detail, data: item\r\n })).afterClosed().subscribe(() => { });\r\n }\r\n\r\n showImage = (image) => {\r\n const data = image ? atob(image) : null;\r\n return data;\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    Đơn giá phòng từ : {{ value | currency : 'VND' : '' : '1.0-1' : 'vi' }} đ
    \r\n
    Đơn giá phòng đến: {{ highValue | currency : 'VND' : '' : '1.0-1' : 'vi' }} đ
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"...\"\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    {{ item.tuGia | currency : 'VND' : '' : '1.0-1' : 'vi' }} đ -\r\n {{ item.denGia | currency : 'VND' : '' : '1.0-1' : 'vi' }} đ

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    {{ item.tennhatro }}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    {{ item.diachi }}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    {{ item.dienthoai }}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    {{ item.sophongTrong }}/{{ item.sophong }} phòng trống

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Dịch vụ: {{ item.dichVu }}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    0\">\r\n
    \r\n
    Tổng số bản ghi: {{ target?.totalRecord }}
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Không có dữ liệu.
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \"image\"
    \r\n
    \"image\"
    \r\n
    \"image\"
    \r\n
    \"image\"
    \r\n
    \r\n","import { HomeComponent } from './home/home.component';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { NgModule } from '@angular/core';\r\nimport { CongAnLayoutComponent } from 'app/@theme/layouts/cong-an-layout/cong-an-layout.component';\r\nimport { RegisterpublicComponent } from './registerpublic/registerpublic.component';\r\nimport { KiemTraCongDanComponent } from './kiem-tra-cong-dan/kiem-tra-cong-dan.component';\r\nimport { KiemTraNhaTroComponent } from './kiem-tra-nha-tro/kiem-tra-nha-tro.component';\r\nimport { NhapTtCaNhanComponent } from './nhap-tt-ca-nhan/nhap-tt-ca-nhan.component';\r\nimport { AppConganNhatroComponent } from './app-congan-nhatro/app-congan-nhatro.component';\r\nimport { AppConganTintucComponent } from './app-congan-tintuc/app-congan-tintuc.component';\r\nimport { AppConganChitietnhatroComponent } from './app-congan-chitietnhatro/app-congan-chitietnhatro.component';\r\nimport { AppConganMapComponent } from './app-congan-map/app-congan-map.component';\r\nimport { KhaiBaoTtLayoutComponent } from 'app/@theme/layouts/khai-bao-tt-layout/khai-bao-tt-layout.component';\r\nimport { HomeHnComponent } from './home-hn/home-hn.component';\r\nimport { QrTraPhongComponent } from './qr-tra-phong/qr-tra-phong.component';\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n component: CongAnLayoutComponent,\r\n children: [\r\n // { path: 'home', component: HomeComponent },\r\n { path: 'home', component: HomeHnComponent },\r\n { path: 'home/chitiet/:id', component: AppConganChitietnhatroComponent },\r\n { path: 'registerpublic', component: RegisterpublicComponent },\r\n\r\n {\r\n path: 'home/nhatro',\r\n component: AppConganNhatroComponent,\r\n },\r\n {\r\n path: 'home/tintuc',\r\n component: AppConganTintucComponent,\r\n },\r\n {\r\n path: 'home/map',\r\n component: AppConganMapComponent,\r\n },\r\n ],\r\n },\r\n {\r\n path: '',\r\n component: KhaiBaoTtLayoutComponent,\r\n children: [\r\n {\r\n path: 'dang-ky-khach-thue',\r\n component: NhapTtCaNhanComponent\r\n },\r\n {\r\n path: 'dang-ky-khach-thue/:idnhatro',\r\n component: NhapTtCaNhanComponent\r\n },\r\n {\r\n path: 'tra-phong/:idnhatro',\r\n component: QrTraPhongComponent\r\n },\r\n {\r\n path: 'dang-ky-khach-thue/:idnhatro/:idphong',\r\n component: NhapTtCaNhanComponent\r\n },\r\n ]\r\n },\r\n {\r\n path: 'kiem-tra-cong-dan',\r\n component: KiemTraCongDanComponent\r\n },\r\n {\r\n path: 'kiem-tra-nha-tro',\r\n component: KiemTraNhaTroComponent\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class AppCongAnRoutingModule {\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { PAGE_SIZE, SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { ItemTinlaodongIEnumerablePageModelView, PageModel, SearchTinTucModel } from 'app/@core/data/app-congan.service';\r\nimport { environment } from 'environments/environment';\r\nimport { HomeService } from '../home/home.service';\r\n\r\n@Component({\r\n selector: 'ngx-congan-tintuc',\r\n templateUrl: './app-congan-tintuc.component.html',\r\n styleUrls: ['./app-congan-tintuc.component.scss']\r\n})\r\nexport class AppConganTintucComponent implements OnInit {\r\n\r\n constructor(\r\n private homeService: HomeService,\r\n private commonService: CommonService,\r\n private domSanitizer: DomSanitizer\r\n ) { }\r\n pageModel: SearchTinTucModel = new SearchTinTucModel({\r\n currentPage: 1,\r\n pageSize: 9,\r\n strKey: '',\r\n condition: null,\r\n tuNgay: null,\r\n denNgay: null,\r\n status: null,\r\n chuTro: true\r\n });\r\n ListTintuc: any = {\r\n data: []\r\n };\r\n ListDanhmuc: any = {\r\n data: []\r\n };\r\n basePath = environment.APP_CONGAN_PATH;\r\n target: ItemTinlaodongIEnumerablePageModelView = new ItemTinlaodongIEnumerablePageModelView();\r\n tuNgay: any = null;\r\n denNgay: any = null;\r\n ngOnInit(): void {\r\n this.loadData();\r\n // this.loadData_tinTuc();\r\n }\r\n // loadData_tinTuc() {\r\n\r\n // this.homeService.pagingtintuc([],this.PageModel).subscribe(res => {\r\n // if (res.code === SUCCESS_RESPONSE) {\r\n // this.ListTintuc = res.data;\r\n // } else {\r\n // this.commonService.toastrDanger(res.message);\r\n // }\r\n // });\r\n // }\r\n\r\n lstLoaiTin = [\r\n {\r\n text: 'Tin tuyển dụng',\r\n value: 1,\r\n },\r\n {\r\n text: 'Tin an ninh trật tự',\r\n value: 2,\r\n },\r\n {\r\n text: 'An toàn giao thông',\r\n value: 3,\r\n },\r\n {\r\n text: 'Phòng chống ma túy',\r\n value: 4,\r\n },\r\n {\r\n text: 'Người tốt việc tốt',\r\n value: 5,\r\n },\r\n {\r\n text: 'Cuộc chiến chống Covid',\r\n value: 7,\r\n },\r\n {\r\n text: 'Chuyên mục cảnh giác',\r\n value: 8,\r\n },\r\n {\r\n text: 'Tin tức công an',\r\n value: 6,\r\n },\r\n ];\r\n loadLoaiTin(value) {\r\n let temp = '';\r\n switch (value) {\r\n case 1:\r\n temp = 'Tin tuyển dụng';\r\n break;\r\n case 2:\r\n temp = 'Tin an ninh trật tự';\r\n break;\r\n case 3:\r\n temp = 'An toàn giao thông';\r\n break;\r\n case 4:\r\n temp = 'Phòng chống ma túy';\r\n break;\r\n case 5:\r\n temp = 'Người tốt việc tốt';\r\n break;\r\n case 7:\r\n temp = 'Cuộc chiến chống Covid';\r\n break;\r\n case 8:\r\n temp = 'Chuyên mục cảnh giác';\r\n break;\r\n default:\r\n temp = 'Tin tức công an';\r\n break;\r\n }\r\n return temp;\r\n }\r\n loadData(): void {\r\n \r\n const body: SearchTinTucModel = new SearchTinTucModel({\r\n currentPage: this.pageModel.currentPage,\r\n pageSize: this.pageModel.pageSize,\r\n strKey: this.pageModel.strKey,\r\n condition: this.pageModel.condition ? this.pageModel.condition : 0,\r\n tuNgay: this.pageModel.tuNgay,\r\n denNgay: this.pageModel.denNgay,\r\n status: this.pageModel.status,\r\n chuTro: this.pageModel.chuTro\r\n });\r\n this.homeService.pagingcus(body).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target = res.data;\r\n this.target.data.map((c) => {\r\n // c.hinhanh = 'data:image/img;base64,' + atob(c.hinhanh);\r\n c['baseimg'] = this.domSanitizer.bypassSecurityTrustUrl('data:image/img;base64,' + atob(c.hinhanh));\r\n c['url'] = this.domSanitizer.bypassSecurityTrustUrl(c.link);\r\n c['chiase'] = c.trangthai === 1;\r\n return c;\r\n });\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n searchPage() {\r\n this.pageModel.currentPage = 1;\r\n if (this.pageModel.tuNgay) {\r\n this.pageModel.tuNgay = new Date(this.pageModel.tuNgay);\r\n }\r\n if (this.pageModel.denNgay) {\r\n this.pageModel.denNgay = new Date(this.pageModel.denNgay);\r\n }\r\n this.loadData();\r\n }\r\n loadData_danhMuc() {\r\n this.homeService.loaddanhmuc('TINTUC').subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.ListDanhmuc = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n Tin hoạt động\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    0\" style=\"margin-top:30px\">\r\n
    \r\n
    Tổng số bản ghi: {{ target?.recordsCount }}
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \"image\"
    \r\n
    \"image\"
    \r\n
    \"image\"
    \r\n
    \"image\"
    \r\n
    \r\n","import { FormsModule } from '@angular/forms';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { CongAnLayoutComponent } from 'app/@theme/layouts/cong-an-layout/cong-an-layout.component';\r\nimport { AppCongAnRoutingModule } from './app-congan-routing.module';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { DetailComponent } from './detail/detail.component';\r\nimport { RegisterpublicComponent } from './registerpublic/registerpublic.component';\r\nimport { QLKhachQrcodeComponent } from './quan-ly-khach-qrcode/quan-ly-khach-qrcode.component';\r\nimport { KiemTraCongDanComponent } from './kiem-tra-cong-dan/kiem-tra-cong-dan.component';\r\nimport { KiemTraNhaTroComponent } from './kiem-tra-nha-tro/kiem-tra-nha-tro.component';\r\nimport { WebHeaderComponent } from '../../@theme/layouts/cong-an-layout/web-header/web-header.component';\r\nimport { WebFooterComponent } from '../../@theme/layouts/cong-an-layout/web-footer/web-footer.component';\r\nimport { ThemeModule } from 'app/@theme/theme.module';\r\nimport { AppConganTintucComponent } from './app-congan-tintuc/app-congan-tintuc.component';\r\nimport { AppConganChitietnhatroComponent } from './app-congan-chitietnhatro/app-congan-chitietnhatro.component';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NbTabsetModule } from '@nebular/theme';\r\nimport { AppConganMapComponent } from './app-congan-map/app-congan-map.component';\r\nimport { NgxSliderModule } from '@angular-slider/ngx-slider';\r\nimport { KhaiBaoTtLayoutComponent } from 'app/@theme/layouts/khai-bao-tt-layout/khai-bao-tt-layout.component';\r\nimport { HomeHnComponent } from './home-hn/home-hn.component';\r\nimport { HeaderHnComponent } from 'app/@theme/layouts/cong-an-layout/header-hn/header-hn.component';\r\nimport { FooterHnComponent } from 'app/@theme/layouts/cong-an-layout/footer-hn/footer-hn.component';\r\nimport { LayoutModule } from \"@progress/kendo-angular-layout\";\r\nimport { IconsModule } from \"@progress/kendo-angular-icons\";\r\nimport { ButtonsModule } from \"@progress/kendo-angular-buttons\";\r\nimport { InputsModule } from \"@progress/kendo-angular-inputs\";\r\nimport { LabelModule } from \"@progress/kendo-angular-label\";\r\nimport { DropDownsModule } from \"@progress/kendo-angular-dropdowns\";\r\n@NgModule({\r\n declarations: [\r\n WebHeaderComponent,\r\n WebFooterComponent,\r\n CongAnLayoutComponent,\r\n KhaiBaoTtLayoutComponent,\r\n HomeComponent,\r\n DetailComponent,\r\n RegisterpublicComponent,\r\n KiemTraCongDanComponent,\r\n KiemTraNhaTroComponent,\r\n QLKhachQrcodeComponent,\r\n AppConganTintucComponent,\r\n AppConganChitietnhatroComponent,\r\n AppConganMapComponent,\r\n HomeHnComponent,\r\n HeaderHnComponent,\r\n FooterHnComponent\r\n ],\r\n imports: [\r\n ThemeModule,\r\n FormsModule,\r\n CommonModule,\r\n NgSelectModule,\r\n AppCongAnRoutingModule,\r\n NgbModule,\r\n NbTabsetModule,\r\n NgxSliderModule,\r\n LayoutModule,\r\n IconsModule,\r\n InputsModule,\r\n LabelModule,\r\n ButtonsModule,\r\n DropDownsModule\r\n ],\r\n})\r\nexport class AppCongAnModule { }\r\n","import { FileParameter } from 'app/@core/data/app-qtht.service';\r\nimport { SUCCESS_RESPONSE } from './../../../@core/customs/constants';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { DetailService } from './detail.service';\r\n\r\n@Component({\r\n selector: 'ngx-detail',\r\n templateUrl: './detail.component.html',\r\n styleUrls: ['./detail.component.scss']\r\n})\r\nexport class DetailComponent implements OnInit {\r\n\r\n constructor(\r\n private detailService: DetailService,\r\n private commonService: CommonService,\r\n private dialog: MatDialog,\r\n private route: ActivatedRoute,\r\n ) { }\r\n\r\n id: number;\r\n\r\n target: any;\r\n\r\n lstFile: any[] = [];\r\n\r\n readMore: boolean = true;\r\n\r\n ngOnInit(): void {\r\n this.route.paramMap.subscribe(params => {\r\n this.id = Number(params.get('id'));\r\n });\r\n\r\n this.loadData();\r\n }\r\n\r\n loadData(): void {\r\n // this.detailService.selectReport(this.id).subscribe(res => {\r\n // if (res.code === SUCCESS_RESPONSE) {\r\n // this.target = res.data;\r\n // this.lstFile = res.data.files;\r\n // } else {\r\n // this.commonService.toastrDanger(res.message);\r\n // }\r\n // });\r\n }\r\n\r\n downloadFile(fileId: number) {\r\n this.commonService.downloadFile(fileId);\r\n }\r\n\r\n}\r\n","\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Ngày cập nhật: \r\n {{ target.ngay | date: \"dd/MM/yyyy\" }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Đơn vị cung cấp: \r\n {{ target.donViLap }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Mô tả: \r\n {{ target.moTa }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n File đính kèm: \r\n \r\n 0\"\r\n style=\"list-style: none; display: contents\"\r\n >\r\n
  • \r\n {{ file.fileName }} \r\n
  • \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n  \r\n \r\n
    \r\n
    \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    ","import { Observable } from 'rxjs';\r\nimport {\r\n AppCongAnApiService,\r\n ObjectIEnumerableApiResponse,\r\n} from './../../../@core/data/app-congan.service';\r\nimport { Injectable } from '@angular/core';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class DetailService {\r\n constructor(private api: AppCongAnApiService) { }\r\n\r\n // selectReport(id: number): Observable {\r\n // return this.api.appConganApiDetailSelectbyid(id);\r\n // }\r\n}\r\n","import { Options } from '@angular-slider/ngx-slider';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { SUCCESS_RESPONSE, ViewDiaBan } from 'app/@core/customs/constants';\r\nimport { ItemDiabanListApiResponse, ItemTinlaodongIEnumerablePageModelView, SearchModelDSNhatroV2, SearchTinTucModel } from 'app/@core/data/app-congan.service';\r\nimport { HomeService } from '../home/home.service';\r\nimport { Geolocation } from '@capacitor/geolocation';\r\nimport { log } from 'console';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { DropDownsModule } from \"@progress/kendo-angular-dropdowns\";\r\nimport { map } from 'rxjs/operators';\r\nimport { Element } from '@angular/compiler';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport { environment } from 'environments/environment';\r\n\r\n@Component({\r\n selector: 'app-home-hn',\r\n templateUrl: './home-hn.component.html',\r\n styleUrls: ['./home-hn.component.scss']\r\n})\r\nexport class HomeHnComponent implements OnInit {\r\n feature: number = 1;\r\n value: number = 0;\r\n highValue: number = 0;\r\n options: Options = {\r\n floor: 0,\r\n ceil: 10000000\r\n };\r\n lstTinh = [];\r\n lstHuyen = [];\r\n lstXa = [];\r\n lstThon = [];\r\n lstDSDiaBan = [];\r\n CountNhatro:0;\r\n CountPhongtro:0;\r\n CountKhachthue:0;\r\n target1: ItemTinlaodongIEnumerablePageModelView = new ItemTinlaodongIEnumerablePageModelView();\r\n constructor(\r\n private commonService: CommonService,\r\n private homeService: HomeService,\r\n private router: Router,\r\n private activeRoute: ActivatedRoute,\r\n private dialog: MatDialog,\r\n private domSanitizer: DomSanitizer,\r\n private httpClient: HttpClient,\r\n private deviceService: DeviceDetectorService\r\n ) {}\r\n\r\n async ngOnInit() {\r\n \r\n this.loadDiaBan();\r\n this.getLocation();\r\n }\r\n get device(): any {\r\n return this.deviceService.getDeviceInfo();\r\n }\r\n\r\n get isMobile(): boolean {\r\n return this.deviceService.isMobile();\r\n }\r\n\r\n get isTablet(): boolean {\r\n return this.deviceService.isTablet();\r\n }\r\n\r\n get isDesktop(): boolean {\r\n return this.deviceService.isDesktop();\r\n }\r\n\r\n\r\n city:any;\r\n toaDo: any;\r\n\r\n basePath = environment.APP_CONGAN_PATH;\r\n\r\n async getLocation() {\r\n try {\r\n\r\n this.homeService.SelectByLevelDiaban(1).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstTinh = result.data.map((x) => {\r\n return {\r\n ma: x.ma,\r\n ten: x.ten,\r\n };\r\n });\r\n this.diaban.tinh= this.lstTinh[0].ma;\r\n this.city=this.lstTinh[0].ten;\r\n this.homeService.SelectCountNhatroPhongtroNguoithue(this.diaban.tinh).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) this.target_Count = res.data;\r\n });\r\n \r\n }\r\n });\r\n\r\n\r\n\r\n\r\n\r\n await Geolocation.checkPermissions();\r\n this.toaDo = await Geolocation.getCurrentPosition();\r\n let lat = this.toaDo.coords.latitude;\r\n let lng = this.toaDo.coords.longitude;\r\n this.httpClient\r\n .request(\r\n 'get',\r\n 'https://api.bigdatacloud.net/data/reverse-geocode-client?latitude=' + lat + '&longitude=' + lng + '&localityLanguage=vi'\r\n )\r\n .subscribe((res: any) => {\r\n //console.log(\"cres.localityInfo\",res.localityInfo.administrative[2].name);\r\n var a= this.lstTinh.filter((c) => c.ten.includes(res.localityInfo.administrative[2].name)).map((x) => {\r\n return {\r\n ma: x.ma,\r\n ten:x.ten\r\n };\r\n });\r\n var temp;\r\n a.forEach(c => {\r\n temp = c.ma;\r\n this.city = c.ten;\r\n })\r\n // nếu mã đầu khác với mã địa bàn tìm ra thì lay tong so ban ghi theo ma tinh da tim ra\r\n if(temp!=this.diaban.tinh){\r\n this.diaban.tinh=temp;\r\n for(let i = 0; i < this.lstTinh.length; i++){\r\n if( this.lstTinh[i].ma === this.diaban.tinh ){\r\n this.city= this.lstTinh[i].ten;\r\n break;\r\n }\r\n }\r\n this.homeService.SelectCountNhatroPhongtroNguoithue(this.diaban.tinh).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) this.target_Count = res.data;\r\n });\r\n }\r\n });\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n\r\n details(id) {\r\n this.router.navigate(['/home/chitiet/' + id]);\r\n }\r\n\r\n searchModelV2: SearchModelDSNhatroV2 = new SearchModelDSNhatroV2({\r\n matinh: null,\r\n maHuyen: null,\r\n maXa: null,\r\n maThon: null,\r\n dongiaphongtu: 0,\r\n dongiaphongden: 500000000,\r\n currentPage: 1,\r\n pageSize: 8\r\n });\r\n\r\n pageModel: SearchTinTucModel = new SearchTinTucModel({\r\n currentPage: 1,\r\n pageSize: 8,\r\n strKey: '',\r\n condition: null,\r\n tuNgay: null,\r\n denNgay: null,\r\n status: null,\r\n chuTro: true\r\n });\r\n\r\n\r\n target_Count: any = {\r\n data: []\r\n };\r\n target: any = {\r\n data: []\r\n };\r\n\r\n loadData() {\r\n this.searchModelV2.currentPage = 1;\r\n this.searchModelV2.matinh = this.diaban.tinh;\r\n this.searchModelV2.maHuyen = this.diaban.huyen;\r\n this.searchModelV2.maXa = this.diaban.xa;\r\n this.searchModelV2.maThon = this.diaban.thon;\r\n this.searchModelV2.dongiaphongtu = this.options.floor;\r\n this.searchModelV2.dongiaphongden = this.options.ceil;\r\n this.homeService.pagingcustom(this.searchModelV2).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n changeTinh() {\r\n this.diaban.huyen = null;\r\n this.lstHuyen=null;\r\n this.homeService.SelectByMaDiabanCha(this.diaban.tinh).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstHuyen = result.data.map((x) => {\r\n return {\r\n ma: x.ma,\r\n ten: x.ten,\r\n };\r\n });\r\n }\r\n });\r\n for(let i = 0; i < this.lstTinh.length; i++){\r\n if( this.lstTinh[i].ma === this.diaban.tinh ){\r\n this.city= this.lstTinh[i].ten;\r\n break;\r\n }\r\n }\r\n\r\n this.homeService.SelectCountNhatroPhongtroNguoithue(this.diaban.tinh).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target_Count = res.data;\r\n } \r\n });\r\n\r\n this.loadData();\r\n }\r\n changeHuyen() {\r\n\r\n this.diaban.xa = null;\r\n this.lstXa=null;\r\n this.homeService.SelectByMaDiabanCha(this.diaban.huyen).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstXa = result.data.map((x) => {\r\n return {\r\n ma: x.ma,\r\n ten: x.ten,\r\n };\r\n });\r\n }\r\n });\r\n this.loadData();\r\n }\r\n changeXa() {\r\n this.diaban.thon = null;\r\n this.lstThon=null;\r\n this.homeService.SelectByMaDiabanCha(this.diaban.xa).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstThon = result.data.map((x) => {\r\n return {\r\n ma: x.ma,\r\n ten: x.ten,\r\n };\r\n });\r\n }\r\n });\r\n this.loadData();\r\n }\r\n\r\n diaban: {\r\n tinh: string;\r\n huyen: string;\r\n xa: string;\r\n thon: string;\r\n } = {\r\n tinh: null,\r\n huyen: null,\r\n xa: null,\r\n thon: null\r\n };\r\n\r\n loadDiaBan = () => {\r\n \r\n };\r\n}\r\n","
    \r\n
    \r\n
    \r\n

    Nền tảng nhà trọ chuyển đổi số

    \r\n

    \r\n Hỗ trọ nâng cao cho công tác quản lý cư trú, đảm bảo an ninh - trật tự xã hội; đem đến hiệu quả cáo trong công tác quản lý, duy\r\n trì trạng thái ổn định; là cầu nối giữa cán bộ bông an và chủ chọ trong việc quản lý nhà trọ góp phần cải thiện công tác an ninh\r\n trật tự, đời sống dân cư và phát triển kinh tế.\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"...\"\r\n
    \r\n
    Quản lý dễ dàng, hiệu quả
    \r\n Giao diện dễ sử dụng và đầy đủ các tính năng cơ bản. Việc quản lý trở nên dễ dàng, thuận tiện, tiết kiệm thời gian và chi\r\n phí\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"...\"\r\n
    \r\n
    Bảo mật thông tin
    \r\n Giao diện dễ sử dụng và đầy đủ các tính năng cơ bản. Việc quản lý trở nên dễ dàng, thuận tiện, tiết kiệm thời gian và chi\r\n phí\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Thống kê nhà trọ

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {{this.target_Count.countNhatro_all | number}}

    \r\n

    Nhà trọ, Nhà thuê, Nhà nghỉ,...

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {{this.target_Count.countPhongthue_all | number}}

    \r\n

    Phòng thuê

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {{this.target_Count.countKhachthue_all | number}}

    \r\n

    Khách thuê

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Trong đó dữ liệu trên địa bàn {{this.city}} gồm

    \r\n \r\n
    \r\n
    \r\n
    \r\n

    {{this.target_Count.countNhatro | number}}

    \r\n

    Nhà trọ, Nhà thuê, Nhà nghỉ,...

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {{this.target_Count.countPhongthue | number}}

    \r\n

    Phòng thuê

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {{this.target_Count.countKhachthue | number}}

    \r\n

    Khách thuê

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \"...\"\r\n
    \r\n
    Tiếp nhận hỗ trợ/trình báo/ phản ánh
    \r\n

    \r\n Tiếp nhận các hỗ trợ/trình báo/ phản ánh của chủ nhà trọ và giải quyết 1 cách nhanh chóng, thuận tiện.\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n \"...\"\r\n
    \r\n
    Thống kê, báo cáo
    \r\n

    \r\n Với những dữ liệu mà nhà trọ cung cấp công an qua việc thống kê công an sẽ có cái nhìn tổng quan hơn về tình hình các nhà trọ trong khu vực.\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n \"...\"\r\n
    \r\n
    Thông báo cho chủ nhà trọ, người thuê
    \r\n

    \r\n Tạo thông báo tới các chủ nhà trọ về mọi vấn đề một cách thuận tiện và dễ dàng\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n \"...\"\r\n
    \r\n
    Quản lý nhà trọ, phòng trọ
    \r\n

    \r\n Giúp các chủ nhà trọ quản lý đồng thời nhiều nhà trọ, phòng trọ. Theo dõi đánh giá của khách thuê và tình trạng của các phòng trọ.\r\n

    \r\n
    \r\n
    \r\n
    \r\n \"...\"\r\n
    \r\n
    Quản lý hợp đồng, hóa đơn điện tử
    \r\n

    \r\n Phần mềm giúp chủ nhà trọ dễ dàng tạo hóa đơn hàng tháng cho từng phòng và theo dõi tình trạng của hóa đơn. Quản lý hợp đồng đối với từng phòng trở nên dễ dàng thuận tiện hơn.\r\n

    \r\n
    \r\n
    \r\n
    \r\n \"...\"\r\n
    \r\n
    Nhận thông báo
    \r\n

    \r\n Khi công an gửi tới các thông báo quan trọng thì chủ nhà trọ hoàn toàn có thể nhận được thông tin một cách nhanh chóng.\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \"...\"\r\n
    \r\n
    Phản ánh vi phạm/ trình báo/ gửi ý kến
    \r\n

    \r\n Khách thuê hoàn toàn có thể gửi những vi phạm, ý kiến cá nhân hay muốn được hỗ trợ lên công an để được giúp đỡ và giải quyết.\r\n

    \r\n
    \r\n
    \r\n
    \r\n \"...\"\r\n
    \r\n
    Tìm nhà trọ và đăng ký thuê
    \r\n

    \r\n Với những thông tin chi tiết mà chủ trọ đã đăng tải cùng những đánh giá của khách đã từng thuê phòng sẽ giúp khác hàng có cái nhìn tổng quan hơn và tìm được nhà trọ phù hợp với nhu cầu của bản thân\r\n

    \r\n
    \r\n
    \r\n
    \r\n \"...\"\r\n
    \r\n
    Cập nhật thông tin
    \r\n

    \r\n Với các thông tin về an ninh - trật tự, tuyển dụng được đồng bộ liên tục. Khách hàng hoàn toàn được tiếp cận các thông tin nhanh và chính xác\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    Đơn giá phòng từ : {{ value | currency : 'VND' : '' : '1.0-1' : 'vi' }} đ
    \r\n
    Đơn giá phòng đến: {{ highValue | currency : 'VND' : '' : '1.0-1' : 'vi' }} đ
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"...\"\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    {{ item.tuGia | currency : 'VND' : '' : '1.0-1' : 'vi' }} đ -\r\n {{ item.denGia | currency : 'VND' : '' : '1.0-1' : 'vi' }} đ

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    {{ item.tennhatro }}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    {{ item.diachi }}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    {{ item.dienthoai }}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    {{ item.sophongTrong }}/{{ item.sophong }} phòng trống

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Dịch vụ: {{ item.dichVu }}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n

    Quản lý đa nền tảng

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"...\"\r\n
    Quản lý trên điện thoại
    \r\n

    \r\n Quản lý ngay trên điện thoại. Nhẹ nhàng, thuận tiện, linh hoạt với đầy đủ tính năng\r\n

    \r\n
    \r\n
    \r\n \"...\"\r\n\r\n
    Quản lý trên ipad
    \r\n

    \r\n Nếu bạn có chiếc máy tính bảng là lợi thế. Bạn có thể kết hợp được sự linh hoạt giữa điện thoại và máy tính\r\n

    \r\n
    \r\n
    \r\n \"...\"\r\n\r\n
    Quản lý trên máy tính
    \r\n

    \r\n Quản lý ngay trên website mà không cần cái đặt app. Tất cả các tính năng luôn đầy đủ và chi tiết\r\n

    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Lợi ích của phần mềm quản lý nhà trọ

    \r\n
    \r\n
    \r\n
    \r\n
    Nền tảng ổn định
    \r\n

    \r\n Chúng tôi luôn đảm bảo hệ thống có tính ổn định luôn sẵn sàng phục vụ khách hàng. Mọi dữ liệu được sao lưu định kỳ.\r\n

    \r\n
    \r\n
    \r\n
    Quản lý mọi lúc, mọi nơi
    \r\n

    \r\n Với việc hoạt động trên nhiều nền tảng khác nhau như điện thoại hay máy tính thì việc quản lý có thể diễn ra ở mọi lúc mọi nơi mà không cần cố định.\r\n

    \r\n
    \r\n
    \r\n
    Không giới hạn
    \r\n

    \r\n Bạn có nhiều nhà trọ, có vài trăm phòng hoặc nhiều hơn. Ứng dụng được thiết kế hướng đến nhiều loại hình và quy mô có thể đáp ứng hầu hết nhu cầu.\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { SUCCESS_RESPONSE, PAGE_SIZE, ViewDiaBan, STATUS_ACTION } from './../../../@core/customs/constants';\r\nimport { HomeService } from './home.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport {\r\n ItemTinlaodongIEnumerablePageModelView,\r\n PageModel,\r\n SearchModel,\r\n SearchModelDSNhatroV2,\r\n SearchTinTucModel\r\n} from 'app/@core/data/app-congan.service';\r\nimport { environment } from 'environments/environment';\r\nimport { User } from './../../../@core/data/users';\r\nimport { ViewModelNhaTro } from 'app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-nha-tro.service';\r\nimport { QLNhaTroComponent } from 'app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-nha-tro/quan-ly-nha-tro/quan-ly-nha-tro.component';\r\nimport { DanhMucNguoiDungComponent } from 'app/modules/app-congan-admin/danh-muc-nguoi-dung/danh-muc-nguoi-dung/danh-muc-nguoi-dung/danh-muc-nguoi-dung.component';\r\nimport { X } from '@angular/cdk/keycodes';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { Options } from '@angular-slider/ngx-slider';\r\nimport { APP_CONGAN_PATH } from 'environments/pathEnviroment';\r\nimport { Geolocation } from '@capacitor/geolocation';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Component({\r\n selector: 'ngx-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.scss']\r\n})\r\nexport class HomeComponent implements OnInit {\r\n constructor(\r\n private commonService: CommonService,\r\n private homeService: HomeService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private dialog: MatDialog,\r\n private domSanitizer: DomSanitizer,\r\n private httpClient: HttpClient\r\n ) {}\r\n APP_PATH: any=environment.APP_CONGAN_PATH;\r\n pageModel: SearchTinTucModel = new SearchTinTucModel({\r\n currentPage: 1,\r\n pageSize: 3,\r\n strKey: '',\r\n condition: null,\r\n tuNgay: null,\r\n denNgay: null,\r\n status: null,\r\n chuTro: true\r\n });\r\n searchModelV2: SearchModelDSNhatroV2 = new SearchModelDSNhatroV2({\r\n dongiaphongtu: 0,\r\n dongiaphongden: 5000000,\r\n currentPage: 1,\r\n pageSize: 3\r\n });\r\n\r\n diaban: {\r\n tinh: string;\r\n huyen: string;\r\n xa: string;\r\n thon: string;\r\n } = {\r\n tinh: null,\r\n huyen: null,\r\n xa: null,\r\n thon: null\r\n };\r\n target: any = {\r\n data: []\r\n };\r\n target1: ItemTinlaodongIEnumerablePageModelView = new ItemTinlaodongIEnumerablePageModelView();\r\n ListTintuc: any = {\r\n data: []\r\n };\r\n value: number = 0;\r\n highValue: number = 0;\r\n options: Options = {\r\n floor: 0,\r\n ceil: 10000000\r\n };\r\n lstDSDiaBan = [];\r\n\r\n basePath = environment.APP_CONGAN_PATH;\r\n getsession: any = {};\r\n\r\n city:any;\r\n toaDo: any;\r\n ngOnInit(): void {\r\n this.getsession = sessionStorage.getItem('currentUserFullInfo');\r\n this.loadDiaBan();\r\n this.getLocation();\r\n this.loadData_tinTuc();\r\n }\r\n target_Count: any = {\r\n data: []\r\n };\r\n async getLocation() {\r\n try {\r\n await Geolocation.checkPermissions();\r\n this.toaDo = await Geolocation.getCurrentPosition();\r\n let lat = this.toaDo.coords.latitude;\r\n let lng = this.toaDo.coords.longitude;\r\n this.httpClient\r\n .request(\r\n 'get',\r\n 'https://api.bigdatacloud.net/data/reverse-geocode-client?latitude=' + lat + '&longitude=' + lng + '&localityLanguage=vi'\r\n )\r\n .subscribe((res: any) => {\r\n //console.log(\"cres.localityInfo\",res.localityInfo.administrative[2].name);\r\n var a= this.lstTinh.filter((c) => c.ten.includes(res.localityInfo.administrative[2].name)).map((x) => {\r\n return {\r\n ma: x.ma,\r\n ten:x.ten\r\n };\r\n });\r\n a.forEach(c => {\r\n this.diaban.tinh = c.ma;\r\n this.city = c.ten;\r\n })\r\n // lay tong so ban ghi theo ma tinh da tim ra\r\n this.homeService.SelectCountNhatroPhongtroNguoithue(this.diaban.tinh).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target_Count = res.data;\r\n //console.log(\" res.data\", res.data);\r\n }\r\n });\r\n\r\n //\r\n this.changeTinh();\r\n });\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n\r\n onUserChangeEnd($event) {\r\n this.searchModelV2.dongiaphongden = $event.highValue;\r\n this.searchModelV2.dongiaphongtu = $event.value;\r\n }\r\n loadData() {\r\n this.searchModelV2.currentPage = 1;\r\n this.searchModelV2.matinh = this.diaban.tinh;\r\n this.searchModelV2.maHuyen = this.diaban.huyen;\r\n this.searchModelV2.maXa = this.diaban.xa;\r\n this.searchModelV2.maThon = this.diaban.thon;\r\n this.searchModelV2.dongiaphongtu = this.options.floor;\r\n this.searchModelV2.dongiaphongden = this.options.ceil;\r\n this.homeService.pagingcustom(this.searchModelV2).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n loadData_tinTuc() {\r\n const body: SearchTinTucModel = new SearchTinTucModel({\r\n currentPage: this.pageModel.currentPage,\r\n pageSize: this.pageModel.pageSize,\r\n strKey: this.pageModel.strKey,\r\n condition: this.pageModel.condition ? this.pageModel.condition : 0,\r\n tuNgay: this.pageModel.tuNgay,\r\n denNgay: this.pageModel.denNgay,\r\n status: this.pageModel.status,\r\n chuTro: this.pageModel.chuTro\r\n });\r\n this.homeService.pagingcus(body).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target1 = res.data;\r\n this.target1.data.map((c) => {\r\n // c.hinhanh = 'data:image/img;base64,' + atob(c.hinhanh);\r\n c['baseimg'] = this.domSanitizer.bypassSecurityTrustUrl('data:image/img;base64,' + atob(c.hinhanh));\r\n c['url'] = this.domSanitizer.bypassSecurityTrustUrl(c.link);\r\n c['chiase'] = c.trangthai === 1;\r\n return c;\r\n });\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n lstTinh = [];\r\n lstHuyen = [];\r\n lstXa = [];\r\n lstThon = [];\r\n\r\n changeTinh() {\r\n this.diaban.huyen = null;\r\n this.lstHuyen=null;\r\n this.homeService.SelectByMaDiabanCha(this.diaban.tinh).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstHuyen = result.data.map((x) => {\r\n return {\r\n ma: x.ma,\r\n ten: x.ten,\r\n };\r\n });\r\n }\r\n });\r\n this.loadData();\r\n\r\n // lay tong so ban ghi theo ma tinh da tim ra\r\n this.homeService.SelectCountNhatroPhongtroNguoithue(this.diaban.tinh).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target_Count = res.data;\r\n //console.log(\" res.data\", res.data);\r\n } \r\n });\r\n\r\n }\r\n\r\n changeHuyen() {\r\n\r\n this.diaban.xa = null;\r\n this.lstXa=null;\r\n this.homeService.SelectByMaDiabanCha(this.diaban.huyen).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstXa = result.data.map((x) => {\r\n return {\r\n ma: x.ma,\r\n ten: x.ten,\r\n };\r\n });\r\n }\r\n });\r\n this.loadData();\r\n }\r\n changeXa() {\r\n this.diaban.thon = null;\r\n this.lstThon=null;\r\n this.homeService.SelectByMaDiabanCha(this.diaban.xa).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstThon = result.data.map((x) => {\r\n return {\r\n ma: x.ma,\r\n ten: x.ten,\r\n };\r\n });\r\n }\r\n });\r\n this.loadData();\r\n }\r\n\r\n loadDiaBan = () => {\r\n this.homeService.SelectByLevelDiaban(1).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstTinh = result.data.map((x) => {\r\n return {\r\n ma: x.ma,\r\n ten: x.ten,\r\n };\r\n });\r\n \r\n }\r\n });\r\n };\r\n\r\n\r\n clickxemthem() {\r\n this.commonService.showSpinner();\r\n this.pageModel.pageSize += 3;\r\n this.loadData_tinTuc();\r\n }\r\n\r\n\r\n viewDetail(id: number) {\r\n this.router.navigate([`/cong-an/chi-tiet/${id}`]).then((_) => false);\r\n }\r\n\r\n detailData(item: ViewModelNhaTro) {\r\n const title = `Chi tiết nhà trọ`;\r\n this.dialog\r\n .open(\r\n QLNhaTroComponent,\r\n this.commonService.configDialog('60%', {\r\n id: item.id,\r\n title: title,\r\n action: STATUS_ACTION.detail,\r\n data: item\r\n })\r\n )\r\n .afterClosed()\r\n .subscribe(() => {});\r\n }\r\n\r\n openCreateDialog() {\r\n const title = `Thêm mới người dùng`;\r\n this.dialog\r\n .open(\r\n DanhMucNguoiDungComponent,\r\n this.commonService.configDialog('60%', { id: null, title: title, action: STATUS_ACTION.create, tab: 0 })\r\n )\r\n .afterClosed()\r\n .subscribe((result) => {\r\n if (result === true) {\r\n }\r\n });\r\n }\r\n\r\n showImage = (image) => {\r\n const data = image ? atob(image) : null;\r\n return data;\r\n };\r\n}\r\n","
    \r\n
    \r\n

    Hiện trạng dữ liệu trên địa bàn {{this.city}}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {{this.target_Count.countNhatro}}

    \r\n

    Nhà trọ, Nhà thuê, Nhà nghỉ,...

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {{this.target_Count.countPhongthue}}

    \r\n

    Phòng thuê

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {{this.target_Count.countKhachthue}}

    \r\n

    Khách thuê

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n

    Danh sách nhà trọ

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    Đơn giá phòng từ : {{ value | currency : 'VND' : '' : '1.0-1' : 'vi' }} đ
    \r\n
    Đơn giá phòng đến: {{ highValue | currency : 'VND' : '' : '1.0-1' : 'vi' }} đ
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"...\"\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    {{ item.tuGia | currency : 'VND' : '' : '1.0-1' : 'vi' }} đ -\r\n {{ item.denGia | currency : 'VND' : '' : '1.0-1' : 'vi' }} đ

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    {{ item.tennhatro }}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    {{ item.diachi }}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    {{ item.dienthoai }}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    {{ item.sophongTrong }}/{{ item.sophong }} phòng trống

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Dịch vụ: {{ item.dichVu }}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n

    Tin tức - Sự kiện

    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \"image\"\r\n
    \r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n \r\n
    • \r\n
    \r\n
    \r\n

    \r\n {{ item.tieude }}\r\n

    \r\n

    {{ item.noidung }}

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n XEM THÊM \r\n
    \r\n
    \r\n\r\n
    \"image\"
    \r\n
    \"image\"
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \"image\"\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Bản đồ nhà trọ - BG

    \r\n\r\n

    \r\n Bản đồ nhà trọ - BG là nới tập trung dữ liệu địa điểm của các nhà trọ trên địa bản tỉnh Bắc Giang và được thể hiện trên bản đồ\r\n một cách duy nhất\r\n
    \r\n Giúp Công an, chủ nhà trọ và người thuê phòng dễ dàng tra cứu, khai thác thông tin liên quan đến nhà trọ, phòng trọ theo địa\r\n điểm\r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Observable } from 'rxjs';\r\nimport {\r\n AppCongAnApiService,\r\n DmtudienModelListApiResponse,\r\n ItemTinlaodongIEnumerablePageModelViewApiResponse,\r\n MotelRoomMobileModelIEnumerablePageModelViewApiResponse,\r\n NhaTroIndexModelIEnumerablePageModelViewApiResponse,\r\n ItemDiabanListApiResponse,\r\n ObjectIEnumerableApiResponse,\r\n ObjectIEnumerablePageModelViewApiResponse,\r\n PageModel,\r\n SearchModel,\r\n SearchModelDSNhatroV2,\r\n SearchTinTucModel,\r\n ViewItemModelIEnumerableApiResponse,\r\n CountNhatroPhongtroNguoithueApiResponse\r\n} from './../../../@core/data/app-congan.service';\r\nimport { Injectable } from '@angular/core';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class HomeService {\r\n constructor(private api: AppCongAnApiService) { }\r\n\r\n paging(userId: number, body: SearchModel): Observable {\r\n return this.api.appCongAnApiV1HomePagingDataClient(userId, body);\r\n }\r\n pagingcustom( body: SearchModelDSNhatroV2): Observable {\r\n return this.api.appCongAnApiV1NhaTroPagingHomeDSNhatroV2( body);\r\n }\r\n pagingtintuc( loaitin: number[], body: PageModel): Observable {\r\n return this.api.appCongAnApiV1TinPagingMobieV3(loaitin, body);\r\n}\r\n SelectAllDiaBan(): Observable {\r\n return this.api.appCongAnApiV1DmDiaBanSelectAll();\r\n }\r\n\r\n SelectByMaDiabanCha(_MaCha: string): Observable {\r\n return this.api.appCongAnApiV1DmDiaBanGetByMaChaDiabanCus(_MaCha);\r\n }\r\n\r\n SelectCountNhatroPhongtroNguoithue(madiabantinh: string): Observable {\r\n return this.api.appCongAnApiV1NhatroSelectCountNhatroPhongtroNguoithue(madiabantinh);\r\n }\r\n\r\n \r\n \r\n SelectByLevelDiaban(_Level: number): Observable {\r\n return this.api.appCongAnApiV1DiabanGetByLevelDiaban(_Level);\r\n }\r\n \r\n \r\n \r\n loaddanhmuc( madinhdanh: string): Observable {\r\n return this.api.appCongAnApiV1DmTuDienSelectByType(madinhdanh);\r\n }\r\n getbyid(id: any): Observable {\r\n return this.api.appCongAnApiV1NhaTroSelectByIdV2(id);\r\n }\r\n loadphongtro(body: SearchModel): Observable {\r\n return this.api.appCongAnApiV1PhongTroPagingCustom2(body);\r\n }\r\n pagingcus( body: SearchTinTucModel ): Observable {\r\n return this.api.appCongAnApiV1TinlaodongPagingCus( body);\r\n}\r\npagingdanhgia(star:number, body: PageModel ): Observable {\r\n return this.api.appCongAnApiV1DanhGiaPagingMobieV3(star, body);\r\n}\r\npagingdichvu(body: SearchModel ): Observable {\r\n return this.api.appCongAnApiV1DichVuPagingCustom( body);\r\n}\r\n}\r\n","import { Component, HostListener, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { PAGE_SIZE, SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { NguoiThueModel, SearchModel } from 'app/@core/data/app-congan.service';\r\nimport { KiemTraCongDanService } from './kiem-tra-cong-dan.service';\r\n\r\n@Component({\r\n selector: 'ngx-kiem-tra-cong-dan',\r\n templateUrl: './kiem-tra-cong-dan.component.html',\r\n styleUrls: ['./kiem-tra-cong-dan.component.scss']\r\n})\r\nexport class KiemTraCongDanComponent implements OnInit {\r\n\r\n constructor(\r\n private service: KiemTraCongDanService,\r\n private commonService: CommonService,\r\n private route: ActivatedRoute\r\n ) {\r\n this.cccd = this.route.snapshot.queryParamMap?.get('cccd');\r\n }\r\n\r\n searchModel: SearchModel = new SearchModel({\r\n tenantId: null,\r\n pageSize: PAGE_SIZE,\r\n currentPage: 1\r\n });\r\n\r\n cccd: string;\r\n\r\n arr: NguoiThueModel[] = [];\r\n target: any = {\r\n data: this.arr\r\n };\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n this.checkInfo();\r\n }\r\n\r\n @HostListener('window:scroll', ['$event']) // for window scroll events\r\n onScroll(event) {\r\n }\r\n\r\n loadData() {\r\n this.service.paging(this.searchModel).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n checkInfo() {\r\n if (this.cccd) {\r\n this.service.checkCCCD(this.cccd).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.searchModel.tenantId = res.data?.id;\r\n this.loadData();\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n\r\n}\r\n","\r\n \r\n
    \r\n
    \r\n Thông tin công dân\r\n
    \r\n
    \r\n
    \r\n \r\n 0; else elseTarget\">\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n Thông tin chung\r\n
    \r\n \r\n  \r\n {{target.data[0].hoten}}\r\n \r\n
    \r\n
    \r\n \r\n  \r\n {{target.data[0].cccd}}\r\n \r\n
    \r\n
    \r\n \r\n  \r\n {{target.data[0].ngaysinh | date: 'dd/MM/yyyy'}}\r\n \r\n
    \r\n
    \r\n \r\n  \r\n {{target.data[0].gioitinhString}}\r\n \r\n
    \r\n
    \r\n \r\n  \r\n {{target.data[0].dantoc}}\r\n \r\n
    \r\n
    \r\n \r\n  \r\n {{target.data[0].hktt}}\r\n \r\n
    \r\n
    \r\n \r\n  \r\n {{target.data[0].dienthoai}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n  \r\n {{item.tennhatro}}\r\n \r\n
    \r\n
    \r\n \r\n  \r\n {{item.tenphong}}\r\n \r\n
    \r\n
    \r\n \r\n  \r\n {{item.tamtru}}\r\n \r\n
    \r\n
    \r\n \r\n  \r\n {{item.ngayBatDauThue | date: 'dd/MM/yyyy'}}\r\n \r\n
    \r\n
    \r\n \r\n  \r\n {{item.dangkytamtrutamvang\r\n ? 'Đã đăng ký' : 'Chưa đăng ký'}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { Injectable } from '@angular/core';\r\nimport {\r\n AppCongAnApiService,\r\n NguoithueEntityApiResponse,\r\n ObjectIEnumerablePageModelViewApiResponse, SearchModel\r\n} from 'app/@core/data/app-congan.service';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class KiemTraCongDanService {\r\n constructor(private api: AppCongAnApiService) {\r\n\r\n }\r\n\r\n paging(body: SearchModel | undefined): Observable {\r\n return this.api.appCongAnApiV1NguoiThueSelectNguoiThueByQRCode(body);\r\n }\r\n\r\n checkCCCD(value: string): Observable {\r\n return this.api.appCongAnApiV1InforNguoiThueGetByIdentification(value);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngx-kiem-tra-nha-tro',\r\n templateUrl: './kiem-tra-nha-tro.component.html',\r\n styleUrls: ['./kiem-tra-nha-tro.component.scss']\r\n})\r\nexport class KiemTraNhaTroComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","\r\n \r\n
    \r\n
    \r\n Thông tin nhà trọ\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n Thông tin chung\r\n
    \r\n \r\n  \r\n Nhà trọ Thanh Nội\r\n \r\n
    \r\n
    \r\n \r\n  \r\n Trần Tiến Hùng\r\n \r\n
    \r\n
    \r\n \r\n  \r\n 0999999999\r\n \r\n
    \r\n
    \r\n \r\n  \r\n Thôn 3 - Xã Nội Hoàng - Huyện Yên Dũng\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n  \r\n 3\r\n
    \r\n
    \r\n  \r\n 15\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n  \r\n 0802051189\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n  \r\n Nguyễn Như Anh\r\n \r\n
    \r\n
    \r\n \r\n  \r\n 189178669133\r\n \r\n
    \r\n
    \r\n \r\n  \r\n 12/08/1992\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n  \r\n Nam\r\n
    \r\n
    \r\n  \r\n Kinh\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n  \r\n Thôn Cầu Chét - Xã Phì Điền - Huyện Lục Ngạn - Tỉnh Bắc Giang\r\n \r\n
    \r\n
    \r\n \r\n  \r\n 0987465132\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n  \r\n Hoàng Thanh Tâm\r\n \r\n
    \r\n
    \r\n \r\n  \r\n 1322318871900\r\n \r\n
    \r\n
    \r\n \r\n  \r\n 30/05/1989\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n  \r\n Nữ\r\n
    \r\n
    \r\n  \r\n Tày\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n  \r\n Thônn Thượng - Thị trấn An Châu - Huyện Sơn Động - Tỉnh Bắc Giang\r\n \r\n
    \r\n
    \r\n \r\n  \r\n 0986221009\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { Component, OnInit } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { FormatSettings } from '@progress/kendo-angular-dateinputs';\r\nimport { CommonService, ConvertDatePipe } from 'app/@core/customs/common.service';\r\nimport {\r\n dateRegexString,\r\n DEFAULT_PHONENUMBER,\r\n DUPLICATE_RESPONE,\r\n LIST_NGHENGHIEP,\r\n LST_GIOITINH,\r\n LST_TRANGTHAIPHONG,\r\n STATUS_ACTION,\r\n SUCCESS_RESPONSE,\r\n ViewDiaBan\r\n} from 'app/@core/customs/constants';\r\nimport { AppCongAnApiService, CheckNguoiThueModel, NguoiThueModel, NhaTroLocationModel, NhatroEntity, ShareModel } from 'app/@core/data/app-congan.service';\r\nimport { NotificationDialogComponent } from 'app/@theme/components/template/dialog/notification/notification-dialog.component';\r\nimport { DanhMucDanTocService } from 'app/modules/app-congan-admin/danh-muc-dan-toc/danh-muc-dan-toc.service';\r\nimport { ApiBGModel, QLKhachService, ViewModelKhachThue } from 'app/modules/app-congan-admin/quan-ly-khach/quan-ly-khach.service';\r\nimport { QLKhachSyncComponent } from 'app/modules/app-congan-admin/quan-ly-khach/quan-ly-khach/quan-ly-khach-sync/quan-ly-khach-sync.component';\r\nimport { QLNhaTroService } from 'app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-nha-tro.service';\r\nimport { QLPhongService } from 'app/modules/app-congan-admin/quan-ly-phong/quan-ly-phong.service';\r\nimport { Html5Qrcode } from 'html5-qrcode';\r\nimport { CookieService } from 'ngx-cookie';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { Geolocation } from '@capacitor/geolocation';\r\nimport { Platform } from '@angular/cdk/platform';\r\n\r\n@Component({\r\n selector: 'ngx-nhap-tt-ca-nhan',\r\n templateUrl: './nhap-tt-ca-nhan.component.html',\r\n styleUrls: ['./nhap-tt-ca-nhan.component.scss']\r\n})\r\nexport class NhapTtCaNhanComponent implements OnInit {\r\n constructor(\r\n private commonService: CommonService,\r\n public service: QLKhachService,\r\n private serviceNhaTro: QLNhaTroService,\r\n private phongService: QLPhongService,\r\n private serviceDmDanToc: DanhMucDanTocService,\r\n private dialog: MatDialog,\r\n private route: ActivatedRoute,\r\n private conganservice: AppCongAnApiService,\r\n private cookieService: CookieService,\r\n private spinner: NgxSpinnerService,\r\n public platform: Platform\r\n ) { }\r\n\r\n type = 0;\r\n folder: string;\r\n types: number;\r\n listFileTemp1: any[] = [];\r\n listFileTemp2: any[] = [];\r\n listFileTemp3: any[] = [];\r\n lstTinh: ViewDiaBan[];\r\n lstHuyen: ViewDiaBan[];\r\n lstXa: ViewDiaBan[];\r\n lstThon: ViewDiaBan[];\r\n lstDSDiaBan: any[] = [];\r\n target = {\r\n entity: new ViewModelKhachThue()\r\n };\r\n checkLocation: boolean = true;\r\n lstGioiTinh = LST_GIOITINH;\r\n lstTrangThaiPhong = LST_TRANGTHAIPHONG;\r\n\r\n lstNgheNghiep = LIST_NGHENGHIEP;\r\n\r\n maDinhDanh: string = 'NOILAMVIEC';\r\n\r\n lstPhong: any[] = [];\r\n lstNhaTro: any[] = [];\r\n idOldPhong: number;\r\n lstDanDoc: any[] = [];\r\n lstNoiLamViec: any[] = [];\r\n loainhatro = 1;\r\n\r\n txtNgaySinh: string;\r\n dateRegexString = dateRegexString;\r\n dateRegex: any;\r\n public format: FormatSettings = {\r\n displayFormat: 'dd/MM/yyyy',\r\n inputFormat: 'dd/MM/yyyy'\r\n };\r\n maxBirthDate: Date = new Date();\r\n\r\n readonly tenantid: string = 'tenantid';\r\n\r\n getDataInsert(): void {\r\n this.loadDiaBan();\r\n this.selectListNhaTro();\r\n this.selectDanToc();\r\n this.selectListNoiLamViec();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dateRegex = new RegExp(\r\n dateRegexString\r\n .replace(/ #.*\\n/g, '') // remove comments\r\n .replace(/[ \\n]/g, '') // remove whitespace\r\n );\r\n this.target.entity.idnhatro = this.route.snapshot.params['idnhatro'] ? Number(this.route.snapshot.params['idnhatro']) : null;\r\n this.target.entity.idphong = this.route.snapshot.params['idphong'] ? Number(this.route.snapshot.params['idphong']) : null;\r\n this.target.entity.cmnd = this.route.snapshot.queryParamMap?.get('cccd') ?? null;\r\n // if (this.fromParent.isDangKyTamTru) {\r\n // this.target.entity.dangkytamtrutamvang = this.fromParent.isDangKyTamTru;\r\n // }\r\n this.getDataInsert();\r\n this.folder = this.service.getFolder();\r\n this.type = this.service.getType();\r\n }\r\n\r\n selectListNhaTro() {\r\n if (this.target.entity.idnhatro) {\r\n this.serviceNhaTro.selectById(this.target.entity.idnhatro).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstNhaTro = res.data;\r\n this.target.entity.lat = res.data.find(c => c.id === this.target.entity.idnhatro).lat;\r\n this.target.entity.lng = res.data.find(c => c.id === this.target.entity.idnhatro).lng;\r\n this.loainhatro = res.data.find(c => c.id === this.target.entity.idnhatro).loainhatro;\r\n console.log(\"this.loainhatro\", this.loainhatro);\r\n if (this.loainhatro == 1) this.selectListPhong();\r\n\r\n } else {\r\n // this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n }\r\n\r\n selectListPhong() {\r\n if (this.target.entity.idnhatro) {\r\n this.phongService.SelectByIdNhaTro(this.target.entity.idnhatro).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstPhong = result.data?.filter((x) => x.hoatdong === true);\r\n } else {\r\n // this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n }\r\n\r\n selectListNoiLamViec() {\r\n this.service.getNoiLamViec().subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstNoiLamViec = result.data;\r\n } else {\r\n // this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n\r\n location() {\r\n this.checkLocation = !this.checkLocation;\r\n }\r\n\r\n selectDanToc() {\r\n this.serviceDmDanToc.selectAll().subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstDanDoc = res.data;\r\n }\r\n });\r\n }\r\n\r\n toaDo: any;\r\n vd: any;\r\n kd: any;\r\n\r\n async getLocation() {\r\n try {\r\n await Geolocation.checkPermissions();\r\n this.toaDo = await Geolocation.getCurrentPosition();\r\n this.vd = this.toaDo.coords.latitude;\r\n this.kd = this.toaDo.coords.longitude;\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n\r\n async create(frm: NgForm) {\r\n if (!this.validForms()) {\r\n return;\r\n }\r\n\r\n if (this.target.entity.idphong == null) this.target.entity.idphong = 0;\r\n this.getMaDiaBanKey();\r\n const postData = new NguoiThueModel({\r\n anhchandung: this.target.entity.imgchandung ? btoa(this.target.entity.imgchandung) : null,\r\n cccd: this.target.entity.cmnd ? this.target.entity.cmnd : null,\r\n cccdMatsau: this.target.entity.imgcmndAfter ? btoa(this.target.entity.imgcmndAfter) : null,\r\n cccdMattruoc: this.target.entity.imgcmndBefore ? btoa(this.target.entity.imgcmndBefore) : null,\r\n cccdNgaycap: this.target.entity.ngaycap ? new Date(this.target.entity.ngaycap) : null,\r\n cccdNoicap: this.target.entity.noicap ?? null,\r\n dangkytamtrutamvang: this.target.entity.dangkytamtrutamvang ?? null,\r\n dantoc: this.lstDanDoc.find(c => c.id === this.target.entity.iddantoc)?.tendantoc ?? null,\r\n idDantoc: this.target.entity.iddantoc ?? null,\r\n diachi: (this.lstTinh.find(c => c.ma === this.target.entity.matinh)?.ten + ' - '\r\n + this.lstHuyen.find(c => c.ma === this.target.entity.mahuyen)?.ten + ' - '\r\n + this.lstXa.find(c => c.ma === this.target.entity.maxa)?.ten\r\n + this.target.entity.thon != '' && this.target.entity.thon != null ? ' - ' + this.target.entity.thon : ''),\r\n dienthoai: this.target.entity.dtlienhe ? this.target.entity.dtlienhe : null,\r\n dienthoainguoithan: this.target.entity.dtnguoithan ?? null,\r\n email: this.target.entity.email ?? null,\r\n gioitinh: this.target.entity.gioitinh ? this.target.entity.gioitinh : 0,\r\n hinhanh: null,\r\n hoten: this.target.entity.hoten ? this.target.entity.hoten : null,\r\n id: this.target.entity.id ?? 0,\r\n lydotamtru: this.target.entity.lydotamtru ?? null,\r\n ngaysinh: this.target.entity.ngaysinh ? new Date(this.target.entity.ngaysinh) : null,\r\n // ngaysinh: this.txtNgaySinh ? new Date(new ConvertDatePipe().convertStringToDate2(this.txtNgaySinh)) : null,\r\n nghenghiep: this.target.entity.nghenghiep ? this.target.entity.nghenghiep : 0,\r\n noicongtac: this.target.entity.noicongtac ?? null,\r\n quoctich: null,\r\n tamtruden: this.target.entity.tamtruden ? new Date(this.target.entity.tamtruden) : new Date(),\r\n tamtrutu: this.target.entity.tamtrutu ? new Date(this.target.entity.tamtrutu) : new Date(),\r\n tengnuoithan: this.target.entity.nguoithan ?? null,\r\n thongtinthemtttv: null,\r\n tongiao: this.target.entity.tongiao ?? null,\r\n trangthai: this.target.entity.trangthai ?? 0,\r\n idnhatro: this.target.entity.idnhatro ?? this.target.entity.idnhatro ?? null,\r\n idPhong: this.target.entity.idphong ?? null,\r\n matinh: this.target.entity.matinh ? this.target.entity.matinh : null,\r\n mahuyen: this.target.entity.mahuyen ? this.target.entity.mahuyen : null,\r\n maxa: this.target.entity.maxa ? this.target.entity.maxa : null,\r\n tenphong: this.target.entity.tenphong,\r\n madiabankey: this.target.entity.madiabankey,\r\n thon: this.target.entity.thon\r\n });\r\n if (this.isExist) {\r\n if (window.confirm(`Bạn đã được thêm vào nhà trọ. Bạn có chắc chắn muốn lưu thông tin ?`)) {\r\n this.save(postData);\r\n }\r\n } else {\r\n this.save(postData);\r\n }\r\n if (this.checkLocation && !this.target.entity.lat && !this.target.entity.lng) {\r\n await this.getLocation();\r\n const nhatro: NhaTroLocationModel = new NhaTroLocationModel({\r\n idNhatro: this.target.entity.idnhatro,\r\n x: this.vd,\r\n y: this.kd\r\n });\r\n this.serviceNhaTro.updateLocation(nhatro).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n }\r\n\r\n save(postData: NguoiThueModel) {\r\n this.spinner.show('save');\r\n this.service.confirm(postData, STATUS_ACTION.create).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.spinner.hide('save');\r\n const label: string = 'Bạn đã đăng ký thành công, bạn có thể tải app và đăng nhập với tài khoản là số điện thoại và mật khẩu: 123456.';\r\n this.dialog\r\n .open(NotificationDialogComponent, this.commonService.configDialog('70%', label))\r\n .afterClosed()\r\n .subscribe((res) => {\r\n if (this.platform.IOS) {\r\n window.open('https://apps.apple.com/sr/app/qu%E1%BA%A3n-l%C3%BD-nh%C3%A0-tr%E1%BB%8D-bg/id1604314661', '_blank')\r\n } else {\r\n window.open('https://play.google.com/store/apps/details?id=com.bt.qlntpcd', '_blank')\r\n }\r\n window.location.reload();\r\n });\r\n } else if (result.code === DUPLICATE_RESPONE) {\r\n window.alert(result.message);\r\n } else {\r\n window.alert('Xảy ra lỗi trong quá trình lưu thông tin.');\r\n }\r\n });\r\n }\r\n\r\n validForms(): boolean {\r\n if (!this.target.entity.idnhatro) {\r\n window.alert('Vui lòng chọn Tên nhà trọ');\r\n return false;\r\n }\r\n if (!this.target.entity.idphong && this.lstPhong.length > 0) {\r\n window.alert('Vui lòng chọn Phòng trọ');\r\n return false;\r\n }\r\n if (!this.target.entity.cmnd) {\r\n window.alert('Vui lòng nhập Số CCCD/CMND');\r\n return false;\r\n }\r\n if (!this.target.entity.hoten) {\r\n window.alert('Vui lòng nhập Họ và tên');\r\n return false;\r\n }\r\n if (this.target.entity.gioitinh === null || this.target.entity.gioitinh === undefined) {\r\n window.alert('Vui lòng chọn Giới tính');\r\n return false;\r\n }\r\n if (!this.target.entity.iddantoc) {\r\n window.alert('Vui lòng chọn Dân tộc');\r\n return false;\r\n }\r\n if (!this.target.entity.dtlienhe) {\r\n window.alert('Vui lòng nhập Điện thoại liên hệ');\r\n return false;\r\n }\r\n // if (!this.txtNgaySinh) {\r\n if (!this.target.entity.ngaysinh) {\r\n window.alert('Vui lòng nhập Ngày/tháng/năm sinh');\r\n return false;\r\n }\r\n // if (!this.validateRegex(this.txtNgaySinh)) {\r\n // window.alert('Ngày/tháng/năm sinh không hợp lệ (Ví dụ: 01/08/1990)');\r\n // return false;\r\n // }\r\n if (!this.target.entity.matinh) {\r\n window.alert('Vui lòng chọn Tỉnh');\r\n return false;\r\n }\r\n if (!this.target.entity.mahuyen) {\r\n window.alert('Vui lòng chọn Huyện/Thành phố');\r\n return false;\r\n }\r\n if (!this.target.entity.maxa) {\r\n window.alert('Vui lòng chọn Xã/Phường/Thị trấn');\r\n return false;\r\n }\r\n if (this.target.entity.nghenghiep === null || this.target.entity.nghenghiep === undefined) {\r\n window.alert('Vui lòng chọn Nghề nghiệp');\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n handleFileInput(files: FileList, numImg: number) {\r\n this.setValueFile(files[0]).then((result) => {\r\n if (numImg === 3) {\r\n this.listFileTemp3 = result.showValue;\r\n this.target.entity.imgchandung = result.saveValue;\r\n } else if (numImg === 1) {\r\n this.listFileTemp1 = result.showValue;\r\n this.target.entity.imgcmndBefore = result.saveValue;\r\n this.getQRCode(files[0]);\r\n } else if (numImg === 2) {\r\n this.listFileTemp2 = result.showValue;\r\n this.target.entity.imgcmndAfter = result.saveValue;\r\n }\r\n });\r\n }\r\n\r\n async setValueFile(file) {\r\n const data = {\r\n saveValue: (await this.commonService.encodeFile(file)) + '',\r\n showValue: [{ type: this.type, fileName: file.name, data: file }]\r\n };\r\n return data;\r\n }\r\n\r\n deleteFile(file: any, numImg: number) {\r\n if (numImg === 3) {\r\n const index = this.listFileTemp3.indexOf(file);\r\n if (index !== -1) {\r\n this.listFileTemp3.splice(index, 1);\r\n this.target.entity.imgchandung = null;\r\n }\r\n } else if (numImg === 1) {\r\n const index = this.listFileTemp1.indexOf(file);\r\n if (index !== -1) {\r\n this.listFileTemp1.splice(index, 1);\r\n this.target.entity.imgcmndBefore = null;\r\n }\r\n } else if (numImg === 2) {\r\n const index = this.listFileTemp2.indexOf(file);\r\n if (index !== -1) {\r\n this.listFileTemp2.splice(index, 1);\r\n this.target.entity.imgcmndAfter = null;\r\n }\r\n }\r\n }\r\n\r\n ConvertBinarytoFile = () => {\r\n if (this.target.entity.imgcmndBefore) {\r\n this.target.entity.imgcmndBefore = atob(this.target.entity.imgcmndBefore);\r\n // const file = this.commonService.decodeFile(this.target.entity.imgcmndBefore, 'imgcmndBefore');\r\n // this.listFileTemp1 = [{ type: this.type, fileName: file.name, data: file }];\r\n fetch(this.target.entity.imgcmndBefore)\r\n .then((res) => res.blob())\r\n .then((blob) => {\r\n const file = new File([blob], 'imgcmndBefore', { type: 'image/png' });\r\n this.listFileTemp1 = [{ type: this.type, fileName: file.name, data: file }];\r\n });\r\n }\r\n if (this.target.entity.imgcmndAfter) {\r\n this.target.entity.imgcmndAfter = atob(this.target.entity.imgcmndAfter);\r\n // const file = this.commonService.decodeFile(this.target.entity.imgcmndAfter, 'imgcmndAfter');\r\n // this.listFileTemp2 = [{ type: this.type, fileName: file.name, data: file }];\r\n fetch(this.target.entity.imgcmndAfter)\r\n .then((res) => res.blob())\r\n .then((blob) => {\r\n const file = new File([blob], 'imgcmndAfter', { type: 'image/png' });\r\n this.listFileTemp2 = [{ type: this.type, fileName: file.name, data: file }];\r\n });\r\n }\r\n if (this.target.entity.imgchandung) {\r\n this.target.entity.imgchandung = atob(this.target.entity.imgchandung);\r\n // const file = this.commonService.decodeFile(this.target.entity.imgcmndAfter, 'imgchandung');\r\n // this.listFileTemp3 = [{ type: this.type, fileName: file.name, data: file }];\r\n fetch(this.target.entity.imgchandung)\r\n .then((res) => res.blob())\r\n .then((blob) => {\r\n const file = new File([blob], 'imgchandung', { type: 'image/png' });\r\n this.listFileTemp3 = [{ type: this.type, fileName: file.name, data: file }];\r\n });\r\n }\r\n };\r\n\r\n ChangePhong = () => {\r\n if (this.target.entity.idphong) {\r\n this.target.entity.trangthai = 2;\r\n this.target.entity.tenphong = this.lstPhong.find((x) => x.id === this.target.entity.idphong)?.tenphong;\r\n }\r\n\r\n this.checkTenantInRoom();\r\n };\r\n\r\n loadDiaBan = () => {\r\n this.service.SelectAllDiaBan().subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstDSDiaBan = result.data.map((x) => {\r\n return {\r\n id: x.id,\r\n ma: x.ma,\r\n ten: x.ten,\r\n macha: x.maCha,\r\n loai: x.level,\r\n madiabankey: x.makey\r\n };\r\n });\r\n\r\n this.lstTinh = this.lstDSDiaBan\r\n .filter((c) => c.loai === 1)\r\n .map(\r\n (x) =>\r\n new ViewDiaBan({\r\n id: x.id,\r\n ma: x.ma,\r\n ten: x.ten,\r\n macha: x.macha,\r\n madiabankey: x.madiabankey\r\n })\r\n );\r\n\r\n if (this.target.entity.matinh) {\r\n this.lstHuyen = this.lstDSDiaBan.filter((x) => x.macha === this.target.entity.matinh);\r\n }\r\n\r\n if (this.target.entity.mahuyen) {\r\n this.lstXa = this.lstDSDiaBan.filter((x) => x.macha === this.target.entity.mahuyen);\r\n }\r\n if (this.target.entity.cmnd) {\r\n this.CheckValue(false);\r\n }\r\n }\r\n });\r\n };\r\n\r\n getlistHuyen = (event, matinh) => {\r\n this.lstXa = [];\r\n if (event) this.target.entity.mahuyen = null;\r\n this.lstHuyen = this.lstDSDiaBan.filter((x) => x.macha === matinh);\r\n };\r\n\r\n getlistXa = (event, mahuyen) => {\r\n this.lstXa = [];\r\n if (event) this.target.entity.maxa = null;\r\n this.lstXa = this.lstDSDiaBan.filter((x) => x.macha === mahuyen);\r\n };\r\n\r\n getListThon = (event, maxa) => {\r\n this.lstThon = [];\r\n if (event) this.target.entity.thon = null;\r\n this.lstThon = this.lstDSDiaBan.filter((x) => x.macha === maxa && x.loai === 4);\r\n };\r\n\r\n getMaDiaBanKey = () => {\r\n if (!this.target.entity.madiabankey) {\r\n const xa = this.lstDSDiaBan.find((c) => c.ma === this.target.entity.maxa);\r\n if (xa) {\r\n this.target.entity.madiabankey = xa.madiabankey;\r\n }\r\n }\r\n };\r\n\r\n isExist: boolean = false;\r\n CheckValue = (isPhoneNumber: boolean) => {\r\n const postData = new CheckNguoiThueModel({\r\n cmnd: this.target.entity.cmnd,\r\n sdt: this.target.entity.dtlienhe,\r\n idNhatro: this.target.entity.idnhatro\r\n });\r\n this.isExist = false;\r\n this.service.CheckValiDate(postData).subscribe((res) => {\r\n if (res.code === DUPLICATE_RESPONE) {\r\n }\r\n });\r\n let data: string;\r\n if (isPhoneNumber) {\r\n if (this.target.entity.dtlienhe.includes(DEFAULT_PHONENUMBER)) {\r\n return;\r\n }\r\n data = this.target.entity.dtlienhe;\r\n } else {\r\n data = this.target.entity.cmnd;\r\n }\r\n const convertDate = new ConvertDatePipe();\r\n this.isExist = false;\r\n this.serviceNhaTro.getInforNguoiThue(data, isPhoneNumber).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.target.entity.id = res.data.id;\r\n this.target.entity.hoten = res.data.hoten;\r\n this.target.entity.gioitinh = res.data.gioitinh ? res.data.gioitinh : null;\r\n this.target.entity.dantoc = res.data.dantoc ? res.data.dantoc : null;\r\n this.target.entity.iddantoc = res.data.iddantoc ? res.data.iddantoc : null;\r\n this.target.entity.email = res.data.email;\r\n this.target.entity.dtlienhe = res.data.dienthoai;\r\n this.target.entity.ngaysinh = res.data.ngaysinh;\r\n // this.txtNgaySinh = this.commonService.transform(res.data.ngaysinh);\r\n // this.txtNgaySinh = convertDate.convertStringToDateString2(convertDate.convertDateToString(res.data.ngaysinh));\r\n this.target.entity.cccd = res.data.cccd;\r\n this.target.entity.cmnd = res.data.cccd;\r\n this.target.entity.matinh = res.data.matinh ? res.data.matinh : null;\r\n this.target.entity.mahuyen = res.data.mahuyen ? res.data.mahuyen : null;\r\n this.target.entity.maxa = res.data.maxa ? res.data.maxa : null;\r\n this.target.entity.madiabankey = res.data.madiabankey;\r\n this.target.entity.nghenghiep = res.data.nghenghiep ? res.data.nghenghiep : null;\r\n this.target.entity.noicongtac = res.data.noicongtac ? res.data.noicongtac : null;\r\n this.target.entity.thon = res.data.thon;\r\n if (this.target.entity.matinh) this.getlistHuyen(null, this.target.entity.matinh);\r\n if (this.target.entity.mahuyen) this.getlistXa(null, this.target.entity.mahuyen);\r\n if (this.target.entity.maxa) this.getListThon(null, this.target.entity.maxa);\r\n\r\n this.changeNoiLamViec();\r\n this.checkTenantInRoom();\r\n } else {\r\n // this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n };\r\n\r\n checkTenantInRoom() {\r\n if (this.target.entity.idphong && this.target.entity.id) {\r\n this.service.checkTenantInRoom(this.target.entity.idphong, this.target.entity.id).subscribe((check) => {\r\n if (check.code === SUCCESS_RESPONSE) {\r\n this.isExist = false;\r\n } else if (check.code === DUPLICATE_RESPONE) {\r\n this.isExist = true;\r\n }\r\n });\r\n }\r\n }\r\n\r\n checkDate: boolean;\r\n ChangeDate = () => {\r\n if (new Date(this.target.entity.ngaycap).getTime() > new Date().getTime()) {\r\n this.checkDate = true;\r\n } else {\r\n this.checkDate = false;\r\n }\r\n };\r\n\r\n openSync = () => {\r\n this.dialog\r\n .open(QLKhachSyncComponent, this.commonService.configDialog('60%', { testData: 'data' }))\r\n .afterClosed()\r\n .subscribe((result: ApiBGModel) => {\r\n if (result) {\r\n this.target.entity.hoten = result.hoten;\r\n this.target.entity.ngaysinh = result.ngaysinh;\r\n // this.target.entity.ngaysinh = new ConvertDatePipe().transform(result.ngaysinh);\r\n this.target.entity.noicongtac = result.congty.length > 0 ? result.congty[0] : null;\r\n }\r\n });\r\n };\r\n\r\n getQRCode(file: File) {\r\n const html5QrCode = new Html5Qrcode('reader');\r\n html5QrCode\r\n .scanFile(file, false)\r\n .then((qrCodeMessage) => {\r\n this.setQRCode(qrCodeMessage);\r\n })\r\n .catch((err) => {\r\n // this.commonService.toastrWarning('Không phát hiện QRCode');\r\n });\r\n }\r\n\r\n setQRCode(QRCode) {\r\n // FIXME: Set QR Code\r\n const infoCCCD = QRCode.split('|');\r\n this.target.entity.cccd = infoCCCD[0];\r\n this.target.entity.hoten = infoCCCD[2];\r\n this.target.entity.ngaysinh = this.transformDate(infoCCCD[3]);\r\n // this.txtNgaySinh = new ConvertDatePipe().transform(this.transformDate(infoCCCD[3]));\r\n this.target.entity.gioitinh = infoCCCD[4] === 'Nam' ? 1 : 0;\r\n this.target.entity.noicap = infoCCCD[5];\r\n // this.target.entity. = infoCCCD[0];\r\n }\r\n\r\n transformDate(d: string) {\r\n const arr = Array.from(d);\r\n if (arr.length === 4) return new Date(d);\r\n else {\r\n const str = [];\r\n str.push(arr[4]);\r\n str.push(arr[5]);\r\n str.push(arr[6]);\r\n str.push(arr[7]);\r\n str.push('-');\r\n str.push(arr[2]);\r\n str.push(arr[3]);\r\n str.push('-');\r\n str.push(arr[0]);\r\n str.push(arr[1]);\r\n\r\n return new Date(str.join(''));\r\n }\r\n }\r\n\r\n disabledNoiLamViec: boolean = false;\r\n changeNoiLamViec() {\r\n this.disabledNoiLamViec = false;\r\n if (this.target.entity.nghenghiep === 1 || this.target.entity.nghenghiep === 2) {\r\n this.disabledNoiLamViec = true;\r\n this.target.entity.noicongtac = 'Khác';\r\n } else {\r\n if (this.target.entity.noicongtac === 'Khác') {\r\n this.target.entity.noicongtac = null;\r\n }\r\n }\r\n }\r\n\r\n checkout() {\r\n if (window.confirm('Bạn đã khai báo thông tin, bạn có muốn trả phòng?')) {\r\n if (this.target.entity?.id && this.target.entity.idphong) {\r\n this.service.checkout(this.target.entity.idphong, this.target.entity.id).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n // window.alert('Trả phòng thành công!');\r\n const label: string = 'Trả phòng thành công.';\r\n this.dialog\r\n .open(NotificationDialogComponent, this.commonService.configDialog('70%', label))\r\n .afterClosed()\r\n .subscribe((res) => {\r\n window.location.reload();\r\n });\r\n // this.commonService.toastrSuccess('Trả phòng thành công');\r\n } else {\r\n // this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n handler() {\r\n window.alert('Tính năng đang trong quá trình cập nhật');\r\n }\r\n\r\n validateRegex(input) {\r\n if (!input) return true;\r\n return input.match(this.dateRegex) !== null;\r\n }\r\n}\r\n","\r\n
    \r\n \r\n \r\n
    \r\n
    Khai báo thông tin cá nhân
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    0\" class=\"col-sm-12 col-md-12 col-xs-12 col-lg-12\">\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    Điện thoại liên hệ là bắt buộc
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n   \r\n \r\n \r\n
    \r\n
    \r\n
    Số CCCD/CMND/ĐDCN là bắt buộc
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    Họ và tên là bắt buộc
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    Giới tính là bắt buộc
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    Dân tộc là bắt buộc
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    Tỉnh là bắt buộc
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    Huyện/Thành phố là bắt buộc
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    Xã/Phương/Thị trấn là bắt buộc
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    Nghề nghiệp là bắt buộc
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Lưu ý: Những trường thông tin có gắn dấu\r\n (*) là bắt buộc nhập.\r\n

    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Platform } from '@angular/cdk/platform';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { SUCCESS_RESPONSE } from 'app/@core/customs/constants';\r\nimport { AppCongAnApiService, ShareModel } from 'app/@core/data/app-congan.service';\r\nimport { NotificationDialogComponent } from 'app/@theme/components/template/dialog/notification/notification-dialog.component';\r\nimport { DanhMucDanTocService } from 'app/modules/app-congan-admin/danh-muc-dan-toc/danh-muc-dan-toc.service';\r\nimport { QLKhachService, ViewModelKhachThue } from 'app/modules/app-congan-admin/quan-ly-khach/quan-ly-khach.service';\r\nimport { QLNhaTroService } from 'app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-nha-tro.service';\r\nimport { QLPhongService } from 'app/modules/app-congan-admin/quan-ly-phong/quan-ly-phong.service';\r\nimport { CookieService } from 'ngx-cookie';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Component({\r\n selector: 'app-qr-tra-phong',\r\n templateUrl: './qr-tra-phong.component.html',\r\n styleUrls: ['./qr-tra-phong.component.scss']\r\n})\r\nexport class QrTraPhongComponent implements OnInit {\r\n constructor(\r\n private commonService: CommonService,\r\n public service: QLKhachService,\r\n private serviceNhaTro: QLNhaTroService,\r\n private phongService: QLPhongService,\r\n private serviceDmDanToc: DanhMucDanTocService,\r\n private dialog: MatDialog,\r\n private route: ActivatedRoute,\r\n private conganservice: AppCongAnApiService,\r\n private cookieService: CookieService,\r\n private spinner: NgxSpinnerService,\r\n public platform: Platform\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.target.entity.idnhatro = this.route.snapshot.params['idnhatro'] ? Number(this.route.snapshot.params['idnhatro']) : null;\r\n this.selectListNhaTro();\r\n }\r\n\r\n lstNhaTro: any = [];\r\n lstPhong: any = [];\r\n target = {\r\n entity: new ViewModelKhachThue()\r\n };\r\n\r\n create(frm: NgForm) {}\r\n\r\n ChangePhong = () => {\r\n if (this.target.entity.idphong) {\r\n this.target.entity.trangthai = 2;\r\n this.target.entity.tenphong = this.lstPhong.find((x) => x.id === this.target.entity.idphong)?.tenphong;\r\n }\r\n\r\n // this.checkTenantInRoom();\r\n };\r\n\r\n selectListNhaTro() {\r\n if (this.target.entity.idnhatro) {\r\n this.serviceNhaTro.selectById(this.target.entity.idnhatro).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstNhaTro = res.data;\r\n } \r\n });\r\n }\r\n }\r\n\r\n selectListPhong() {\r\n if (this.target.entity.idnhatro) {\r\n this.phongService.SelectByIdNhaTro(this.target.entity.idnhatro).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstPhong = result.data?.filter((x) => x.hoatdong === true);\r\n } else {\r\n // this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n }\r\n\r\n isExit: boolean = true;\r\n\r\n share: ShareModel = new ShareModel();\r\n\r\n CheckValue() {\r\n this.service.getNguoithueByPhoneOrPasstPortIdnhatro(this.target.entity.cmnd, this.route.snapshot.params['idnhatro']).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.isExit = false;\r\n this.share = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n checkout() {\r\n this.share.trangthai = 3;\r\n this.service.share(this.share).subscribe((res) => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n const label: string = 'Bạn đã trả phòng thành công, bạn có thể tải app và đăng nhập với tài khoản là số điện thoại và mật khẩu là 123456 để theo dõi lịch sử thuê nhà và hóa đơn thanh toán.';\r\n this.dialog\r\n .open(NotificationDialogComponent, this.commonService.configDialog('70%', label))\r\n .afterClosed()\r\n .subscribe((res) => {\r\n if (this.platform.IOS) {\r\n window.open('https://apps.apple.com/sr/app/qu%E1%BA%A3n-l%C3%BD-nh%C3%A0-tr%E1%BB%8D-bg/id1604314661','_blank')\r\n } else {\r\n window.open('https://play.google.com/store/apps/details?id=com.bt.qlntpcd','_blank')\r\n }\r\n window.location.reload();\r\n });\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n}\r\n","\r\n
    \r\n \r\n \r\n
    \r\n
    Trả phòng
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n   \r\n \r\n
    \r\n
    \r\n
    Số CCCD/CMND/ĐDCN là bắt buộc
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n Lưu ý: Những trường thông tin có gắn dấu\r\n (*) là bắt buộc nhập.\r\n

    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { NgForm } from '@angular/forms';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { DUPLICATE_RESPONE, STATUS_ACTION, SUCCESS_RESPONSE, ViewDiaBan } from 'app/@core/customs/constants';\r\nimport { stat } from 'fs';\r\nimport { QLPhongService } from 'app/modules/app-congan-admin/quan-ly-phong/quan-ly-phong.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Html5Qrcode, Html5QrcodeScanner } from 'html5-qrcode';\r\nimport { DanhMucDanTocService } from 'app/modules/app-congan-admin/danh-muc-dan-toc/danh-muc-dan-toc.service';\r\nimport { CommonService, ConvertDatePipe } from 'app/@core/customs/common.service';\r\nimport { CheckNguoiThueModel, NguoiThueModel, ShareModel } from 'app/@core/data/app-congan.service';\r\nimport { ApiBGModel, QLKhachService, ViewModelKhachThue } from 'app/modules/app-congan-admin/quan-ly-khach/quan-ly-khach.service';\r\nimport { QLNhaTroService } from 'app/modules/app-congan-admin/quan-ly-nha-tro/quan-ly-nha-tro.service';\r\nimport { QLKhachSyncComponent } from 'app/modules/app-congan-admin/quan-ly-khach/quan-ly-khach/quan-ly-khach-sync/quan-ly-khach-sync.component';\r\n\r\n@Component({\r\n selector: 'ngx-quan-ly-khach-qrcode',\r\n templateUrl: './quan-ly-khach-qrcode.component.html',\r\n styleUrls: ['./quan-ly-khach-qrcode.component.scss']\r\n})\r\nexport class QLKhachQrcodeComponent implements OnInit {\r\n constructor(\r\n private commonService: CommonService,\r\n public service: QLKhachService,\r\n private serviceNhaTro: QLNhaTroService,\r\n private phongService: QLPhongService,\r\n private serviceDmDanToc: DanhMucDanTocService,\r\n private dialog: MatDialog,\r\n private route: ActivatedRoute\r\n ) { }\r\n\r\n type = 0;\r\n folder: string;\r\n types: number;\r\n listFileTemp1: any[] = [];\r\n listFileTemp2: any[] = [];\r\n listFileTemp3: any[] = [];\r\n lstTinh: ViewDiaBan[];\r\n lstHuyen: ViewDiaBan[];\r\n lstXa: ViewDiaBan[];\r\n lstThon: ViewDiaBan[];\r\n lstDSDiaBan: any[] = [];\r\n target = {\r\n entity: new ViewModelKhachThue(),\r\n };\r\n lstGioiTinh = [\r\n { value: 0, text: 'Nữ' },\r\n { value: 1, text: 'Nam' }\r\n ];\r\n lstTrangThaiPhong = [\r\n { value: 1, text: 'Mới' },\r\n { value: 2, text: 'Đã nhận phòng' },\r\n { value: 3, text: 'Đã trả phòng' },\r\n { value: 3, text: 'Chuyển phòng' },\r\n ];\r\n\r\n lstNgheNghiep = [\r\n { value: 0, text: 'Công nhân' },\r\n { value: 1, text: 'Lao động tự do' },\r\n { value: 2, text: 'Khác' }\r\n ];\r\n\r\n maDinhDanh: string = 'NOILAMVIEC';\r\n\r\n lstPhong: any[] = [];\r\n lstNhaTro: any[] = [];\r\n idOldPhong: number;\r\n lstDanDoc: any[] = [];\r\n lstNoiLamViec: any[] = [];\r\n\r\n getDataInsert(): void {\r\n this.loadDiaBan();\r\n this.selectListPhong();\r\n this.selectListNhaTro();\r\n this.selectDanToc();\r\n this.selectListNoiLamViec();\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.route.snapshot.params['idnhatro']) {\r\n this.target.entity.idnhatro = Number(this.route.snapshot.params['idnhatro']);\r\n }\r\n if (this.route.snapshot.params['idphong']) {\r\n this.target.entity.idphong = Number(this.route.snapshot.params['idphong']);\r\n }\r\n this.target.entity.cmnd = this.route.snapshot.queryParamMap?.get('cccd');\r\n // if (this.fromParent.isDangKyTamTru) {\r\n // this.target.entity.dangkytamtrutamvang = this.fromParent.isDangKyTamTru;\r\n // }\r\n this.getDataInsert();\r\n this.folder = this.service.getFolder();\r\n this.type = this.service.getType();\r\n }\r\n\r\n selectListNhaTro() {\r\n this.serviceNhaTro.selectAll().subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstNhaTro = res.data;\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n selectListPhong() {\r\n if (this.target.entity.idnhatro) {\r\n this.phongService.SelectByIdNhaTro(this.target.entity.idnhatro).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstPhong = result.data?.filter(x => x.hoatdong === true);\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n }\r\n\r\n selectListNoiLamViec() {\r\n this.service.getNoiLamViec().subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstNoiLamViec = result.data;\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n\r\n selectDanToc() {\r\n this.serviceDmDanToc.selectAll().subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.lstDanDoc = res.data;\r\n }\r\n });\r\n }\r\n\r\n create(frm: NgForm) {\r\n this.getMaDiaBanKey();\r\n const postData = new NguoiThueModel({\r\n anhchandung: this.target.entity.imgchandung ? btoa(this.target.entity.imgchandung) : null,\r\n cccd: this.target.entity.cmnd ? this.target.entity.cmnd : null,\r\n cccdMatsau: this.target.entity.imgcmndAfter ? btoa(this.target.entity.imgcmndAfter) : null,\r\n cccdMattruoc: this.target.entity.imgcmndBefore ? btoa(this.target.entity.imgcmndBefore) : null,\r\n cccdNgaycap: this.target.entity.ngaycap ? new Date(this.target.entity.ngaycap) : null,\r\n cccdNoicap: this.target.entity.noicap ?? null,\r\n dangkytamtrutamvang: this.target.entity.dangkytamtrutamvang ?? null,\r\n dantoc: this.target.entity.dantoc ? this.target.entity.dantoc : null,\r\n diachi: null,\r\n dienthoai: this.target.entity.dtlienhe ? this.target.entity.dtlienhe : null,\r\n dienthoainguoithan: this.target.entity.dtnguoithan ?? null,\r\n email: this.target.entity.email ?? null,\r\n gioitinh: this.target.entity.gioitinh ? this.target.entity.gioitinh : null,\r\n hinhanh: null,\r\n hoten: this.target.entity.hoten ? this.target.entity.hoten : null,\r\n id: this.target.entity.id ?? 0,\r\n lydotamtru: this.target.entity.lydotamtru ?? null,\r\n ngaysinh: this.target.entity.ngaysinh ? new Date(this.target.entity.ngaysinh) : null,\r\n nghenghiep: this.target.entity.nghenghiep ? this.target.entity.nghenghiep : null,\r\n noicongtac: this.target.entity.noicongtac ?? null,\r\n quoctich: null,\r\n tamtruden: this.target.entity.tamtruden ? new Date(this.target.entity.tamtruden) : new Date(),\r\n tamtrutu: this.target.entity.tamtrutu ? new Date(this.target.entity.tamtrutu) : new Date(),\r\n tengnuoithan: this.target.entity.nguoithan ?? null,\r\n thongtinthemtttv: null,\r\n tongiao: this.target.entity.tongiao ?? null,\r\n trangthai: this.target.entity.trangthai ?? 0,\r\n idnhatro: this.target.entity.idnhatro ?? this.target.entity.idnhatro ?? null,\r\n idPhong: this.target.entity.idphong ?? null,\r\n matinh: this.target.entity.matinh ? this.target.entity.matinh : null,\r\n mahuyen: this.target.entity.mahuyen ? this.target.entity.mahuyen : null,\r\n maxa: this.target.entity.maxa ? this.target.entity.maxa : null,\r\n tenphong: this.target.entity.tenphong,\r\n madiabankey: this.target.entity.madiabankey,\r\n thon: this.target.entity.thon\r\n });\r\n if (this.isExist) {\r\n if (window.confirm(`Người thuê này đang ở nhà trọ khác. Bạn có chắc chắn muốn thêm người thuê này ?`)) {\r\n this.save(postData);\r\n }\r\n } else {\r\n this.save(postData);\r\n }\r\n\r\n }\r\n\r\n save(postData: NguoiThueModel) {\r\n this.service.confirm(postData, STATUS_ACTION.create).subscribe((result) => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess();\r\n } else if (result.code === DUPLICATE_RESPONE) {\r\n this.commonService.toastrWarning(\r\n 'Tên đã tồn tại trên hệ thống !'\r\n );\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n\r\n handleFileInput(files: FileList, numImg: number) {\r\n this.setValueFile(files[0]).then(result => {\r\n if (numImg === 3) {\r\n this.listFileTemp3 = result.showValue;\r\n this.target.entity.imgchandung = result.saveValue;\r\n } else if (numImg === 1) {\r\n this.listFileTemp1 = result.showValue;\r\n this.target.entity.imgcmndBefore = result.saveValue;\r\n this.getQRCode(files[0]);\r\n } else if (numImg === 2) {\r\n this.listFileTemp2 = result.showValue;\r\n this.target.entity.imgcmndAfter = result.saveValue;\r\n }\r\n });\r\n\r\n }\r\n\r\n async setValueFile(file) {\r\n const data = {\r\n saveValue: await this.commonService.encodeFile(file) + '',\r\n showValue: [{ type: this.type, fileName: file.name, data: file }]\r\n };\r\n return data;\r\n }\r\n\r\n deleteFile(file: any, numImg: number) {\r\n if (numImg === 3) {\r\n const index = this.listFileTemp3.indexOf(file);\r\n if (index !== -1) {\r\n this.listFileTemp3.splice(index, 1);\r\n this.target.entity.imgchandung = null;\r\n }\r\n } else if (numImg === 1) {\r\n const index = this.listFileTemp1.indexOf(file);\r\n if (index !== -1) {\r\n this.listFileTemp1.splice(index, 1);\r\n this.target.entity.imgcmndBefore = null;\r\n }\r\n } else if (numImg === 2) {\r\n const index = this.listFileTemp2.indexOf(file);\r\n if (index !== -1) {\r\n this.listFileTemp2.splice(index, 1);\r\n this.target.entity.imgcmndAfter = null;\r\n }\r\n }\r\n }\r\n\r\n ConvertBinarytoFile = () => {\r\n if (this.target.entity.imgcmndBefore) {\r\n this.target.entity.imgcmndBefore = atob(this.target.entity.imgcmndBefore);\r\n // const file = this.commonService.decodeFile(this.target.entity.imgcmndBefore, 'imgcmndBefore');\r\n // this.listFileTemp1 = [{ type: this.type, fileName: file.name, data: file }];\r\n fetch(this.target.entity.imgcmndBefore)\r\n .then(res => res.blob())\r\n .then(blob => {\r\n const file = new File([blob], 'imgcmndBefore', { type: 'image/png' });\r\n this.listFileTemp1 = [{ type: this.type, fileName: file.name, data: file }];\r\n });\r\n }\r\n if (this.target.entity.imgcmndAfter) {\r\n this.target.entity.imgcmndAfter = atob(this.target.entity.imgcmndAfter);\r\n // const file = this.commonService.decodeFile(this.target.entity.imgcmndAfter, 'imgcmndAfter');\r\n // this.listFileTemp2 = [{ type: this.type, fileName: file.name, data: file }];\r\n fetch(this.target.entity.imgcmndAfter)\r\n .then(res => res.blob())\r\n .then(blob => {\r\n const file = new File([blob], 'imgcmndAfter', { type: 'image/png' });\r\n this.listFileTemp2 = [{ type: this.type, fileName: file.name, data: file }];\r\n });\r\n }\r\n if (this.target.entity.imgchandung) {\r\n this.target.entity.imgchandung = atob(this.target.entity.imgchandung);\r\n // const file = this.commonService.decodeFile(this.target.entity.imgcmndAfter, 'imgchandung');\r\n // this.listFileTemp3 = [{ type: this.type, fileName: file.name, data: file }];\r\n fetch(this.target.entity.imgchandung)\r\n .then(res => res.blob())\r\n .then(blob => {\r\n const file = new File([blob], 'imgchandung', { type: 'image/png' });\r\n this.listFileTemp3 = [{ type: this.type, fileName: file.name, data: file }];\r\n });\r\n }\r\n }\r\n\r\n ChangePhong = () => {\r\n if (this.target.entity.idphong) {\r\n this.target.entity.trangthai = 2;\r\n this.target.entity.tenphong = this.lstPhong.find(x => x.id === this.target.entity.idphong).tenphong;\r\n }\r\n }\r\n\r\n loadDiaBan = () => {\r\n this.service.SelectAllDiaBan().subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.lstDSDiaBan = result.data.map(x => {\r\n return {\r\n id: x.id,\r\n ma: x.ma,\r\n ten: x.ten,\r\n macha: x.maCha,\r\n loai: x.level,\r\n madiabankey: x.makey\r\n };\r\n });\r\n\r\n this.lstTinh = this.lstDSDiaBan.filter(c => c.loai === 1).map(x => new ViewDiaBan({\r\n id: x.id,\r\n ma: x.ma,\r\n ten: x.ten,\r\n macha: x.macha,\r\n madiabankey: x.madiabankey\r\n }));\r\n\r\n if (this.target.entity.matinh) {\r\n this.lstHuyen = this.lstDSDiaBan.filter(x => x.macha === this.target.entity.matinh);\r\n }\r\n\r\n if (this.target.entity.mahuyen) {\r\n this.lstXa = this.lstDSDiaBan.filter(x => x.macha === this.target.entity.mahuyen);\r\n }\r\n if (this.target.entity.cmnd) {\r\n this.CheckValue(false);\r\n }\r\n }\r\n });\r\n }\r\n\r\n getlistHuyen = (event, matinh) => {\r\n this.lstXa = [];\r\n if (event)\r\n this.target.entity.mahuyen = null;\r\n this.lstHuyen = this.lstDSDiaBan.filter(x => x.macha === matinh);\r\n }\r\n\r\n getlistXa = (event, mahuyen) => {\r\n this.lstXa = [];\r\n if (event)\r\n this.target.entity.maxa = null;\r\n this.lstXa = this.lstDSDiaBan.filter(x => x.macha === mahuyen);\r\n }\r\n\r\n getListThon = (event, maxa) => {\r\n this.lstThon = [];\r\n if (event)\r\n this.target.entity.thon = null;\r\n this.lstThon = this.lstDSDiaBan.filter(x => x.macha === maxa && x.loai === 4);\r\n }\r\n\r\n getMaDiaBanKey = () => {\r\n if (!this.target.entity.madiabankey) {\r\n const xa = this.lstDSDiaBan.find(c => c.ma === this.target.entity.maxa);\r\n if (xa) {\r\n this.target.entity.madiabankey = xa.madiabankey;\r\n }\r\n }\r\n }\r\n\r\n isExist: boolean = false;\r\n CheckValue = (isPhoneNumber: boolean) => {\r\n let data: string;\r\n if (isPhoneNumber) {\r\n data = this.target.entity.dtlienhe;\r\n } else {\r\n data = this.target.entity.cmnd;\r\n }\r\n this.isExist = false;\r\n this.serviceNhaTro.getInforNguoiThue(data, isPhoneNumber).subscribe(res => {\r\n if (res.code === SUCCESS_RESPONSE) {\r\n this.isExist = true;\r\n this.target.entity.id = res.data.id;\r\n this.target.entity.hoten = res.data.hoten;\r\n this.target.entity.gioitinh = res.data.gioitinh ? res.data.gioitinh : null;\r\n this.target.entity.dantoc = res.data.dantoc ? res.data.dantoc : null;\r\n this.target.entity.email = res.data.email;\r\n this.target.entity.dtlienhe = res.data.dienthoai;\r\n this.target.entity.ngaysinh = this.commonService.transform(res.data.ngaysinh);\r\n this.target.entity.cccd = res.data.cccd;\r\n this.target.entity.cmnd = res.data.cccd;\r\n this.target.entity.matinh = res.data.matinh ? res.data.matinh : null;\r\n this.target.entity.mahuyen = res.data.mahuyen ? res.data.mahuyen : null;\r\n this.target.entity.maxa = res.data.maxa ? res.data.maxa : null;\r\n this.target.entity.madiabankey = res.data.madiabankey;\r\n this.target.entity.nghenghiep = res.data.nghenghiep ? res.data.nghenghiep : null;\r\n this.target.entity.noicongtac = res.data.noicongtac ? res.data.noicongtac : null;\r\n this.target.entity.thon = res.data.thon;\r\n if (this.target.entity.matinh) this.getlistHuyen(null, this.target.entity.matinh);\r\n if (this.target.entity.mahuyen) this.getlistXa(null, this.target.entity.mahuyen);\r\n if (this.target.entity.maxa) this.getListThon(null, this.target.entity.maxa);\r\n\r\n this.changeNoiLamViec();\r\n\r\n } else {\r\n this.commonService.toastrDanger(res.message);\r\n }\r\n });\r\n }\r\n\r\n checkDate: boolean;\r\n ChangeDate = () => {\r\n if (new Date(this.target.entity.ngaycap).getTime() > new Date().getTime()) {\r\n this.checkDate = true;\r\n } else {\r\n this.checkDate = false;\r\n }\r\n }\r\n\r\n openSync = () => {\r\n this.dialog.open(QLKhachSyncComponent, this.commonService.configDialog('60%', { testData: 'data' }))\r\n .afterClosed().subscribe((result: ApiBGModel) => {\r\n if (result) {\r\n this.target.entity.hoten = result.hoten;\r\n this.target.entity.ngaysinh = new ConvertDatePipe().transform(result.ngaysinh);\r\n this.target.entity.noicongtac = result.congty.length > 0 ? result.congty[0] : null;\r\n }\r\n });\r\n }\r\n\r\n getQRCode(file: File) {\r\n const html5QrCode = new Html5Qrcode('reader');\r\n html5QrCode.scanFile(file, false)\r\n .then(qrCodeMessage => {\r\n this.setQRCode(qrCodeMessage);\r\n })\r\n .catch(err => {\r\n this.commonService.toastrWarning('Không phát hiện QRCode');\r\n });\r\n }\r\n\r\n setQRCode(QRCode) {\r\n // FIXME: Set QR Code\r\n const infoCCCD = QRCode.split('|');\r\n this.target.entity.cccd = infoCCCD[0];\r\n this.target.entity.hoten = infoCCCD[2];\r\n this.target.entity.ngaysinh = new ConvertDatePipe().transform(this.transformDate(infoCCCD[3]));\r\n this.target.entity.gioitinh = infoCCCD[4] === 'Nam' ? 1 : 0;\r\n this.target.entity.noicap = infoCCCD[5];\r\n // this.target.entity. = infoCCCD[0];\r\n }\r\n\r\n transformDate(d: string) {\r\n const arr = Array.from(d);\r\n if (arr.length === 4)\r\n return new Date(d);\r\n else {\r\n const str = [];\r\n str.push(arr[4]);\r\n str.push(arr[5]);\r\n str.push(arr[6]);\r\n str.push(arr[7]);\r\n str.push('-');\r\n str.push(arr[2]);\r\n str.push(arr[3]);\r\n str.push('-');\r\n str.push(arr[0]);\r\n str.push(arr[1]);\r\n\r\n return new Date(str.join(''));\r\n }\r\n }\r\n\r\n disabledNoiLamViec: boolean = false;\r\n changeNoiLamViec() {\r\n this.disabledNoiLamViec = false;\r\n if (this.target.entity.nghenghiep === 1 || this.target.entity.nghenghiep === 2) {\r\n this.disabledNoiLamViec = true;\r\n this.target.entity.noicongtac = 'Khác';\r\n } else {\r\n if (this.target.entity.noicongtac === 'Khác') {\r\n this.target.entity.noicongtac = null;\r\n }\r\n }\r\n }\r\n\r\n checkout() {\r\n if (this.target.entity?.id && this.target.entity.idphong) {\r\n this.service.checkout(this.target.entity.idphong, this.target.entity.id).subscribe(result => {\r\n if (result.code === SUCCESS_RESPONSE) {\r\n this.commonService.toastrSuccess('Trả phòng thành công');\r\n } else {\r\n this.commonService.toastrDanger(result.message);\r\n }\r\n });\r\n }\r\n }\r\n\r\n handler() {\r\n Html5Qrcode.getCameras().then(devices => {\r\n /**\r\n * devices would be an array of objects of type:\r\n * { id: 'id', label: 'label' }\r\n */\r\n if (devices && devices.length) {\r\n const cameraId = devices[0].id;\r\n // .. use this to start scanning.\r\n\r\n const html5QrCode = new Html5Qrcode(/* element id */ 'reader');\r\n html5QrCode.start(\r\n cameraId,\r\n {\r\n fps: 10, // Optional, frame per seconds for qr code scanning\r\n qrbox: { width: 250, height: 250 } // Optional, if you want bounded box UI\r\n },\r\n (decodedText, decodedResult) => {\r\n // do something when code is read\r\n },\r\n (errorMessage) => {\r\n // parse error, ignore it.\r\n })\r\n .catch((err) => {\r\n // Start failed, handle it.\r\n });\r\n }\r\n }).catch(err => {\r\n // handle err\r\n });\r\n }\r\n\r\n ckDate: boolean = false;\r\n checkDate2 = (str) => {\r\n const date = this.commonService.patternDate(str);\r\n if (date) {\r\n this.ckDate = true;\r\n }\r\n }\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n Khai báo thông tin cá nhân\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n Họ và tên là bắt buộc\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n Giới tính là bắt buộc\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n Dân tộc là bắt buộc\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n Điện thoại liên hệ là bắt buộc\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n Ngày/tháng/năm sinh là bắt buộc\r\n
    \r\n
    \r\n Ngày/ tháng/ năm không đúng định dạng\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Thông tin CCCD/CMND:\r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Số CCCD/CMND là bắt buộc\r\n
    \r\n
    \r\n
    \r\n
    \r\n Tỉnh là bắt buộc\r\n
    \r\n
    \r\n
    \r\n
    \r\n Huyện/Thành phố là bắt buộc\r\n
    \r\n
    \r\n
    \r\n
    \r\n Xã/Phương/Thị trấn là bắt buộc\r\n
    \r\n
    \r\n
    \r\n Ngày cấp không được lớn hơn\r\n hoặc bằng ngày hiện tại\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n  \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { Component, OnInit } from '@angular/core';\r\nimport { CommonService } from 'app/@core/customs/common.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { DanhMucNguoiDungComponent } from 'app/modules/app-congan-admin/danh-muc-nguoi-dung/danh-muc-nguoi-dung/danh-muc-nguoi-dung/danh-muc-nguoi-dung.component';\r\nimport { STATUS_ACTION } from 'app/@core/customs/constants';\r\n\r\n\r\n@Component({\r\n selector: 'ngx-detail',\r\n templateUrl: './registerpublic.component.html',\r\n styleUrls: ['./registerpublic.component.scss']\r\n})\r\nexport class RegisterpublicComponent implements OnInit {\r\n horizontalStepperForm: UntypedFormGroup;\r\n\r\n constructor(\r\n private commonService: CommonService,\r\n private dialog: MatDialog,\r\n private route: ActivatedRoute,\r\n private _formBuilder: UntypedFormBuilder\r\n ) { }\r\n\r\n tabSelectIndex = 0;\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n openCreateDialog() {\r\n const title = `Thêm mới người dùng`;\r\n this.dialog.open(DanhMucNguoiDungComponent, this.commonService\r\n .configDialog('60%', { id: null, title: title, action: STATUS_ACTION.create, tab: this.tabSelectIndex }))\r\n .afterClosed().subscribe(result => {\r\n if (result === true) {\r\n\r\n }\r\n });\r\n }\r\n\r\n}\r\n","\r\n
    Horizontal Stepper
    \r\n","import { ExtraOptions, RouterModule, Routes } from '@angular/router';\r\nimport { NgModule } from '@angular/core';\r\nimport { AuthGuard } from 'app/@core/auth-guard.service';\r\n\r\nexport const routes: Routes = [\r\n { path: '', redirectTo: 'congan/home', pathMatch: 'full' },\r\n { path: 'congan/admin', redirectTo: 'congan/admin/dashboard', pathMatch: 'full' },\r\n {\r\n path: '',\r\n loadChildren: () => import('../@theme/pages/pages.module')\r\n .then(m => m.PagesModule),\r\n },\r\n {\r\n path: 'congan',\r\n loadChildren: () => import('./app-congan/app-congan.module')\r\n .then(m => m.AppCongAnModule),\r\n },\r\n {\r\n path: 'congan',\r\n loadChildren: () => import('./app-congan-admin/nghiep-vu.module')\r\n .then(m => m.AppConganAdminModule),\r\n },\r\n {\r\n path: '',\r\n loadChildren: () => import('./../@theme/pages/login-layout/login-layout.module')\r\n .then(m => m.LoginLayoutModule),\r\n }\r\n];\r\n\r\nconst config: ExtraOptions = {\r\n useHash: true,\r\n relativeLinkResolution: 'legacy'\r\n};\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, config)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule {\r\n}\r\n","/**\r\n * @license\r\n * Copyright Akveo. All Rights Reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n */\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { AuthService } from 'app/@core/auth.service';\r\nimport { SearchService } from 'app/@core/customs/common.service';\r\nimport { AnalyticsService, SeoService } from 'app/@core/utils';\r\n\r\n@Component({\r\n selector: 'ngx-app',\r\n template: '',\r\n})\r\nexport class AppComponent implements OnInit {\r\n\r\n constructor(\r\n private analytics: AnalyticsService,\r\n private seoService: SeoService,\r\n private authService: AuthService\r\n ) {\r\n }\r\n\r\n search = new SearchService();\r\n\r\n ngOnInit() {\r\n this.analytics.trackPageViews();\r\n this.seoService.trackCanonicalChanges();\r\n }\r\n}\r\n","/**\r\n * @license\r\n * Copyright Akveo. All Rights Reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n */\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { LOCALE_ID, NgModule } from '@angular/core';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { AppComponent } from './app.component';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport {\r\n NbDialogModule,\r\n NbMenuModule,\r\n NbSidebarModule,\r\n NbToastrModule,\r\n NbWindowModule,\r\n NB_TIME_PICKER_CONFIG,\r\n} from '@nebular/theme';\r\nimport { ThemeModule } from 'app/@theme/theme.module';\r\nimport { CoreModule } from 'app/@core/core.module';\r\nimport { AuthInterceptor } from 'app/@core/interceptors/auth.interceptor';\r\nimport { CookieModule } from 'ngx-cookie';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { NgxSpinnerModule } from 'ngx-spinner';\r\nimport { AppCongAnModule } from './app-congan/app-congan.module';\r\nimport { AppConganAdminModule } from './app-congan-admin/nghiep-vu.module';\r\nimport { ChartsModule } from '@progress/kendo-angular-charts';\r\nimport { PDFExportModule } from '@progress/kendo-angular-pdf-export';\r\nimport { DateInputsModule } from '@progress/kendo-angular-dateinputs';\r\nimport '@progress/kendo-angular-intl/locales/vi/all';\r\nimport '@progress/kendo-angular-intl/locales/vi/calendar';\r\nimport 'hammerjs';\r\n\r\n@NgModule({\r\n declarations: [AppComponent],\r\n imports: [\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n HttpClientModule,\r\n AppRoutingModule,\r\n NgSelectModule,\r\n NbSidebarModule.forRoot(),\r\n NbMenuModule.forRoot(),\r\n NbDialogModule.forRoot(),\r\n NbWindowModule.forRoot(),\r\n NbToastrModule.forRoot(),\r\n CoreModule.forRoot(),\r\n ThemeModule.forRoot(),\r\n CookieModule.forRoot(),\r\n NgxSpinnerModule,\r\n AppCongAnModule,\r\n AppConganAdminModule,\r\n ChartsModule,\r\n PDFExportModule,\r\n DateInputsModule\r\n ],\r\n exports: [],\r\n bootstrap: [AppComponent],\r\n providers: [\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AuthInterceptor,\r\n multi: true\r\n },\r\n {\r\n // Set default locale to he-IL\r\n provide: LOCALE_ID,\r\n useValue: 'vi-VN',\r\n },\r\n {\r\n provide: NB_TIME_PICKER_CONFIG,\r\n useValue: {}\r\n }\r\n ],\r\n})\r\nexport class AppModule {\r\n}\r\n","/**\r\n * @license\r\n * Copyright Akveo. All Rights Reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n */\r\n// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `.angular-cli.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n // APP_QTHT_URL: 'http://localhost:16020',\r\n // APP_CONGAN_URL: 'http://localhost:16110',\r\n // APP_GOPY_URL: 'http://localhost:16040',\r\n APP_CONGAN_PATH: '',\r\n // APP_QTHT_URL: 'https://apiqthtnhatro.btsoftvn.com',\r\n // APP_CONGAN_URL: 'https://apigateway.btsoftvn.com',\r\n // APP_GOPY_URL: 'https://apigateway.btsoftvn.com',\r\n // APP_CONGAN_PATH : '../SitePages/',\r\n APP_QTHT_URL: 'https://apinhatrov2.bacgiang.gov.vn',\r\n APP_GOPY_URL: 'https://apinhatrov2.bacgiang.gov.vn',\r\n APP_CONGAN_URL: 'https://apinhatrov2.bacgiang.gov.vn',\r\n firebase: {\r\n apiKey: \"AIzaSyDaI2SPkXvLQgE1iq7ZI6Z6hPKak11oUdw\",\r\n authDomain: \"btgov-ad301.firebaseapp.com\",\r\n projectId: \"btgov-ad301\",\r\n storageBucket: \"btgov-ad301.appspot.com\",\r\n messagingSenderId: \"941725577245\",\r\n appId: \"1:941725577245:web:11d1d7d4381e08139896f4\",\r\n measurementId: \"G-QV2HJN5611\"\r\n },\r\n MAPBOXKEY: 'pk.eyJ1Ijoia3VubXl0IiwiYSI6ImNrcGttaDBsOTBoN2cycG5nczl4cnNwMmsifQ.Mso02CZ3dmNmyQTP-YR86Q',\r\n // APP_QTHT_URL: 'https://apidata.bacgiang.gov.vn',\r\n // APP_CONGAN_URL: 'https://apidata.bacgiang.gov.vn',\r\n IV: 'conchoancutngong',\r\n KeyCrypt: 'conchoancutngongconchoancutngong'\r\n\r\n\r\n};\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const APP_CONGAN_PATH = new InjectionToken('APP_CONGAN_PATH');\r\n","/**\r\n * @license\r\n * Copyright Akveo. All Rights Reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n */\r\nimport { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport { registerLicense } from '@syncfusion/ej2-base';\r\nimport { AppModule } from 'app/modules/app.module';\r\nimport { environment } from './environments/environment';\r\nregisterLicense('ORg4AjUWIQA/Gnt2VVhiQlFadVlJXmJWf1FpTGpQdk5yd19DaVZUTX1dQl9hSXlTckVmXHtfcHNVRGM=');\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","/* (ignored) */"],"names":["MAT_DIALOG_DATA","STATUS_ACTION","SUCCESS_RESPONSE","AppCongAnApiService","CapDiaBan","CapDiaBanEnum","i0","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","_r1","errors","required","_r12","ɵɵlistener","DmdiabanEditComponent_div_16_Template_ng_select_ngModelChange_4_listener","$event","ɵɵrestoreView","_r15","ctx_r14","ɵɵnextContext","ɵɵresetView","maTinh","ɵɵtemplate","DmdiabanEditComponent_div_16_div_6_Template","ctx_r3","lstTinh","dirty","touched","_r16","ɵɵtextInterpolate1","ctx_r17","target","level","DmdiabanEditComponent_div_17_Template_ng_select_ngModelChange_4_listener","_r19","ctx_r18","maHuyen","DmdiabanEditComponent_div_17_Template_ng_select_change_4_listener","ctx_r20","searchDiaBanCon","DmdiabanEditComponent_div_17_div_6_Template","ctx_r4","lstHuyen","_r21","DmdiabanEditComponent_div_18_Template_ng_select_ngModelChange_4_listener","_r24","ctx_r23","maXa","DmdiabanEditComponent_div_18_div_6_Template","ctx_r5","lstXa","_r6","_r9","ɵɵelement","_r0","invalid","ctx_r11","trungMa","DmdiabanEditComponent","constructor","commonService","service","fromParent","dmDiaBanService","dialogRef","_this","statusAction","lstCapDiaBan","filter","c","key","lstDiaBanCha","tinh","huyen","xa","lstTrangThai","name","searchDiaBanConAsc","i","Promise","resolve","reject","appCongAnApiV1DmDiaBanGetByLevelAndMaDiabanCus","maCha","subscribe","_ref","_asyncToGenerator","sub","data","find","f","ma","action","edit","_x","apply","arguments","ngOnInit","getUserInfo","res","appCongAnApiV1TaiKhoanSelectOne","Id","result","mahuyen","maxa","maGoc","appCongAnApiV1DmDiaBanGetByMaDiabanCus","appCongAnApiV1DmDiaBanGetByMaChaDiabanCus","id","loadForm","submit","frm","create","thon","tmpXa","makey","tmpHuyen","tmpTinh","insert","code","toastrSuccess","close","message","update","_this2","selectOne","_ref2","ten","macha","islocal","_x2","loadDiaBanCha","appCongAnApiV1DmDiaBanGetByLevelDiabanCus","checkExistMa","trim","length","toastrDanger","ɵɵdirectiveInject","i1","CommonService","i2","i3","DmDiabanService","i4","MatDialogRef","selectors","decls","vars","consts","template","DmdiabanEditComponent_Template","rf","ctx","DmdiabanEditComponent_Template_form_ngSubmit_0_listener","_r25","ɵɵreference","DmdiabanEditComponent_Template_ng_select_ngModelChange_13_listener","DmdiabanEditComponent_Template_ng_select_change_13_listener","DmdiabanEditComponent_div_15_Template","DmdiabanEditComponent_div_16_Template","DmdiabanEditComponent_div_17_Template","DmdiabanEditComponent_div_18_Template","DmdiabanEditComponent_Template_input_ngModelChange_24_listener","DmdiabanEditComponent_Template_input_focusout_24_listener","DmdiabanEditComponent_div_26_Template","DmdiabanEditComponent_Template_input_ngModelChange_31_listener","DmdiabanEditComponent_Template_ng_select_ngModelChange_38_listener","DmdiabanEditComponent_div_40_Template","DmdiabanEditComponent_ngx_btn_submit_44_Template","title","detail","ConvertDatePipe","LEVEL_UNIT","Browser","DashboardSearchModel","Geolocation","DashboardComponent_div_54_Template_ng_select_ngModelChange_4_listener","searchModel","thang","ctx_r1","lstMonth","ɵɵtextInterpolate","tenDiaBanDiBD","DashboardComponent_ng_template_63_kendo_chart_series_item_5_kendo_chart_series_item_labels_1_Template","ɵɵstyleMap","item_r21","viewValue","ɵɵpropertyInterpolate1","DashboardComponent_ng_template_63_kendo_chart_series_item_5_Template","ɵɵpureFunction1","_c0","categories","diBienDongSeries","ctx_r7","tenDiaBan","item_r24","DashboardComponent_ng_template_68_kendo_chart_series_item_4_Template","ctx_r9","thongkePaCategories","thongkePaSeries","DashboardComponent_ng_template_73_kendo_chart_0_kendo_chart_series_item_5_kendo_chart_series_item_labels_1_Template","item_r28","ctx_r27","DashboardComponent_ng_template_73_kendo_chart_0_kendo_chart_series_item_5_Template","ctx_r25","nhaTroSeries","DashboardComponent_ng_template_73_kendo_chart_1_kendo_chart_series_item_5_kendo_chart_series_item_labels_1_Template","item_r31","ctx_r30","DashboardComponent_ng_template_73_kendo_chart_1_kendo_chart_series_item_5_Template","ctx_r26","DashboardComponent_ng_template_73_kendo_chart_0_Template","DashboardComponent_ng_template_73_kendo_chart_1_Template","ctx_r13","loaiBieuDo","ctx_r15","DashboardComponent_ng_template_78_kendo_chart_0_kendo_chart_series_item_5_kendo_chart_series_item_labels_1_Template","item_r36","ctx_r35","DashboardComponent_ng_template_78_kendo_chart_0_kendo_chart_series_item_5_Template","ctx_r33","khachThueSeries","DashboardComponent_ng_template_78_kendo_chart_1_kendo_chart_series_item_5_kendo_chart_series_item_labels_1_Template","item_r39","ctx_r38","DashboardComponent_ng_template_78_kendo_chart_1_kendo_chart_series_item_5_Template","ctx_r34","DashboardComponent_ng_template_78_kendo_chart_0_Template","DashboardComponent_ng_template_78_kendo_chart_1_Template","DashboardComponent","domSanitizer","httpClient","homeService","tuNgay","denNgay","nam","Date","getFullYear","loaiThongKe","getMonth","lstDiaban_allHuyen_allXa","lstMasterXa","lstNamThongKe","isCollapse","reportName","parameter","lstLoaiTk","text","value","convertDate","ntSizeX","isDevice","ntSizeY","columns","cellSpacing","cellAspectRatio","ntColumn","splineRow","splineSizeX","splineSizeY","unitcode","getLocation","getLstYear","getListMonth","getMatinh","lst","a","checkPermissions","toaDo","getCurrentPosition","lat","coords","latitude","lng","longitude","request","includes","localityInfo","administrative","map","x","forEach","city","getListDvDbhc","e","console","log","user","CapDonVi","UnitCode","SelectByLevelDiaban","tenTinh","Sellectlikemadiabankey","getDataChart","changeTinh","changeHuyen","tenHuyen","changeXa","tenXa","getTenDiaBan","nhaTro","series","khachThue","diBienDong","configData","soluongGopy","j","DashboardService","DomSanitizer","HttpClient","HomeService","i5","DashboardComponent_Template","DashboardComponent_Template_input_ngModelChange_8_listener","DashboardComponent_Template_input_ngModelChange_12_listener","DashboardComponent_Template_input_ngModelChange_16_listener","DashboardComponent_Template_button_click_21_listener","DashboardComponent_Template_ngx_btn_search_click_25_listener","DashboardComponent_Template_ng_select_ngModelChange_33_listener","DashboardComponent_Template_ng_select_change_33_listener","DashboardComponent_Template_ng_select_ngModelChange_38_listener","DashboardComponent_Template_ng_select_change_38_listener","DashboardComponent_Template_ng_select_ngModelChange_43_listener","DashboardComponent_Template_ng_select_change_43_listener","DashboardComponent_Template_ng_select_ngModelChange_48_listener","DashboardComponent_Template_ng_select_ngModelChange_53_listener","DashboardComponent_div_54_Template","DashboardComponent_ng_template_61_Template","ɵɵtemplateRefExtractor","DashboardComponent_ng_template_63_Template","DashboardComponent_ng_template_66_Template","DashboardComponent_ng_template_68_Template","DashboardComponent_ng_template_71_Template","DashboardComponent_ng_template_73_Template","DashboardComponent_ng_template_76_Template","DashboardComponent_ng_template_78_Template","ɵɵnamespaceSVG","LEVEL3","FUNCTION_TEXT","PAGE_SIZE","Workbook","fs","PageLogModel","ɵɵelementContainerStart","NhatKyHeThongComponent_ng_container_44_tr_13_Template","ɵɵelementContainerEnd","ctx_r0","currentPage","pageSize","i_r3","item_r2","note","ipClient","ɵɵpipeBind2","dateCreate","userName","recordsCount","NhatKyHeThongComponent_div_45_Template_ngx_pagination_pageChange_6_listener","loadData","NhatKyHeThongComponent_div_45_Template_ngx_pagination_pageSize_6_listener","searchPage","ɵɵpipeBind1","totalPage","NhatKyHeThongComponent","api","_title","NHATKY_HT","condition","search","toPromise","appQthtApiV1SysLogActionPagingAction","fromDate","tu","toDate","den","resetPage","exportExcel","workbook","worksheet","addWorksheet","pageSetup","paperSize","header","width","searchAllModel","Object","assign","paging","index","addRow","stt","ip","ngay","convertDateToStringExport","nguoi","setStyleExport","xlsx","writeBuffer","then","blob","Blob","type","saveAs","AppQthtApiService","NhatKyHeThongService","NhatKyHeThongComponent_Template","NhatKyHeThongComponent_Template_input_ngModelChange_9_listener","NhatKyHeThongComponent_Template_input_keyup_enter_9_listener","NhatKyHeThongComponent_Template_ngx_btn_search_click_11_listener","NhatKyHeThongComponent_Template_button_click_12_listener","NhatKyHeThongComponent_Template_ngx_btn_refresh_click_14_listener","NhatKyHeThongComponent_Template_input_ngModelChange_21_listener","NhatKyHeThongComponent_Template_input_ngModelChange_26_listener","NhatKyHeThongComponent_ng_container_44_Template","NhatKyHeThongComponent_div_45_Template","DUPLICATE_RESPONE","LIST_NGHENGHIEP","NOTFOUND_RESPONE","ViewDiaBan","NguoiThueModel","CheckNguoiThueModel","DmtudienEntity","DoituongTruynaEntity","PageModel","SearchModel","ApiBGModel","QLKhachService","QLKhachSyncComponent","Html5Qrcode","ConfirmComponent","ThongBaoToiPhamComponent","QLKhachComponent_ng_select_13_Template_ng_select_ngModelChange_0_listener","_r36","idnhatro","lstNha","ɵɵpureFunction0","QLKhachComponent_ng_select_18_Template_ng_select_ngModelChange_0_listener","_r39","idphong","QLKhachComponent_ng_select_18_Template_ng_select_change_0_listener","ctx_r40","ChangePhong","ctx_r2","lstPhong","QLKhachComponent_ng_select_19_Template_ng_select_ngModelChange_0_listener","_r43","ctx_r42","tenPhong","QLKhachComponent_span_25_Template_input_change_1_listener","_r46","ctx_r45","handleFileInput","files","_r5","_r7","_r14","ckDate","minlength","_r17","_r18","_r20","QLKhachComponent_div_121_Template_ng_select_ngModelChange_6_listener","_r48","ctx_r47","loaiDT","QLKhachComponent_div_121_Template_ng_select_change_6_listener","ctx_r49","changeLoaiDT","ctx_r29","listLoaidt","QLKhachComponent_ngx_btn_file_129_Template_ngx_btn_file_change_0_listener","_r51","ctx_r50","QLKhachComponent_li_131_Template_em_click_1_listener","restoredCtx","_r54","file_r52","$implicit","ctx_r53","deleteFile","fileName","ɵɵpropertyInterpolate","ctx_r32","imgcmndBefore","ɵɵsanitizeUrl","checkDate","QLKhachComponent","tokenService","phongService","serviceDmDanToc","dialog","listFileTemp1","listFileTemp2","listFileTemp3","lstDSDiaBan","hoten","lstGioiTinh","lstTrangThaiPhong","lstDanDoc","lstNgheNghiep","maDinhDanh","lstNoiLamViec","isHopdong","entity","citizenIdentification","status","fullname","ConvertBinarytoFile","atob","fetch","file","File","imgcmndAfter","imgchandung","tenphong","trangthai","loadDiaBan","SelectAllDiaBan","loai","madiabankey","matinh","getlistHuyen","getlistXa","getMaDiaBanKey","isExist","CheckValue","isPhoneNumber","postData","cmnd","cccd","sdt","dienthoai","idNhatro","idNhaTro","CheckValiDate","getInforTenant","open","configDialog","afterClosed","ChangeDate","ngaycap","getTime","openSync","testData","ngaySinh","transform","ngaysinh","noicongtac","congty","checkDate2","str","date","patternDate","users","getDataInsert","loadPhong","swap","indexOf","tamtruden","tamtrutu","idOldPhong","idPhong","isFromLst","selectAll","appCongAnApiV1PhongTroSelectByIdNhaTroV3","Number","m","appCongAnApiV1PhongTroSelectByIdNhaTro","hoatdong","appCongAnApiV1NhaTroPagingCustom","sapXep","trangThai","r","appCongAnApiV1PhongTroPaging","isHopDong","isDangKyTamTru","dangkytamtrutamvang","folder","getFolder","getType","getNoiLamViec","appCongAnApiV1DoiTuongTruyNaLstdoituongtheodoi","concat","appCongAnApiV1DoiTuongTruyNaInsertDoiTuongTruyNa","anhchandung","btoa","cccdMatsau","cccdMattruoc","cccdNgaycap","cccdNoicap","noicap","dantoc","diachi","dienthoainguoithan","dtnguoithan","email","gioitinh","hinhanh","lydotamtru","nghenghiep","quoctich","tengnuoithan","nguoithan","thongtinthemtttv","tongiao","thoiGianThue","thoigianthue","idDantoc","tendantoc","insertWeb","toastrWarning","numImg","setValueFile","showValue","saveValue","getQRCode","_this3","encodeFile","splice","dtlienhe","html5QrCode","scanFile","qrCodeMessage","setQRCode","catch","err","QRCode","infoCCCD","split","transformDate","d","arr","Array","from","push","join","changeNgheNghiep","TokenService","QLPhongService","DanhMucDanTocService","i6","MatDialog","i7","QLKhachComponent_Template","QLKhachComponent_Template_form_ngSubmit_0_listener","_r55","QLKhachComponent_ng_select_13_Template","QLKhachComponent_ng_select_18_Template","QLKhachComponent_ng_select_19_Template","QLKhachComponent_span_25_Template","QLKhachComponent_Template_input_ngModelChange_26_listener","QLKhachComponent_div_28_Template","QLKhachComponent_Template_ng_select_ngModelChange_33_listener","QLKhachComponent_div_35_Template","QLKhachComponent_Template_ng_select_ngModelChange_40_listener","QLKhachComponent_div_42_Template","QLKhachComponent_Template_input_ngModelChange_48_listener","QLKhachComponent_Template_input_ngModelChange_54_listener","QLKhachComponent_Template_input_change_54_listener","QLKhachComponent_div_56_Template","QLKhachComponent_Template_input_ngModelChange_61_listener","QLKhachComponent_div_63_Template","QLKhachComponent_Template_input_ngModelChange_73_listener","QLKhachComponent_Template_input_change_73_listener","QLKhachComponent_Template_ng_select_ngModelChange_78_listener","QLKhachComponent_Template_ng_select_change_78_listener","QLKhachComponent_Template_ng_select_ngModelChange_83_listener","QLKhachComponent_Template_ng_select_change_83_listener","QLKhachComponent_Template_ng_select_ngModelChange_89_listener","QLKhachComponent_Template_ng_select_change_89_listener","QLKhachComponent_Template_input_ngModelChange_94_listener","QLKhachComponent_div_96_Template","QLKhachComponent_div_97_Template","QLKhachComponent_div_98_Template","QLKhachComponent_div_99_Template","QLKhachComponent_div_100_Template","QLKhachComponent_Template_ng_select_ngModelChange_107_listener","QLKhachComponent_Template_ng_select_change_107_listener","QLKhachComponent_Template_ng_select_ngModelChange_113_listener","QLKhachComponent_Template_input_ngModelChange_119_listener","QLKhachComponent_div_121_Template","QLKhachComponent_ngx_btn_file_129_Template","QLKhachComponent_li_131_Template","QLKhachComponent_div_132_Template","QLKhachComponent_i_133_Template","QLKhachComponent_ngx_btn_submit_137_Template","ActivatedRoute","ViewModelKhachThue","_r3","_r10","QLKhachQrcodeComponent","serviceNhaTro","route","getListThon","lstThon","getInforNguoiThue","getListPhong","selectOneNhaTro","selectDanToc","snapshot","params","tenNhaTro","tennhatro","SelectByIdNhaTro","confirm","QLNhaTroService","QLKhachQrcodeComponent_Template","QLKhachQrcodeComponent_Template_form_ngSubmit_0_listener","QLKhachQrcodeComponent_Template_input_ngModelChange_13_listener","QLKhachQrcodeComponent_Template_ng_select_ngModelChange_18_listener","QLKhachQrcodeComponent_Template_ng_select_click_18_listener","QLKhachQrcodeComponent_Template_input_change_25_listener","QLKhachQrcodeComponent_Template_input_ngModelChange_30_listener","QLKhachQrcodeComponent_div_32_Template","QLKhachQrcodeComponent_Template_ng_select_ngModelChange_37_listener","QLKhachQrcodeComponent_div_39_Template","QLKhachQrcodeComponent_Template_ng_select_ngModelChange_44_listener","QLKhachQrcodeComponent_div_46_Template","QLKhachQrcodeComponent_Template_input_ngModelChange_52_listener","QLKhachQrcodeComponent_Template_input_ngModelChange_58_listener","QLKhachQrcodeComponent_Template_input_keyup_58_listener","QLKhachQrcodeComponent_div_60_Template","QLKhachQrcodeComponent_Template_input_ngModelChange_65_listener","QLKhachQrcodeComponent_div_67_Template","QLKhachQrcodeComponent_Template_input_ngModelChange_77_listener","QLKhachQrcodeComponent_Template_input_change_77_listener","QLKhachQrcodeComponent_Template_ng_select_ngModelChange_84_listener","QLKhachQrcodeComponent_Template_ng_select_change_84_listener","QLKhachQrcodeComponent_Template_ng_select_ngModelChange_89_listener","QLKhachQrcodeComponent_Template_ng_select_change_89_listener","QLKhachQrcodeComponent_Template_ng_select_ngModelChange_94_listener","QLKhachQrcodeComponent_Template_ng_select_change_94_listener","QLKhachQrcodeComponent_Template_ng_select_ngModelChange_99_listener","QLKhachQrcodeComponent_div_101_Template","QLKhachQrcodeComponent_div_102_Template","QLKhachQrcodeComponent_div_103_Template","QLKhachQrcodeComponent_div_104_Template","QLKhachQrcodeComponent_div_105_Template","QLKhachQrcodeComponent_Template_ng_select_ngModelChange_112_listener","QLKhachQrcodeComponent_Template_input_ngModelChange_117_listener","NhatroEntity","ViewModelNhaTro","_r26","QLNhaTroComponent_div_13_Template_ng_select_ngModelChange_3_listener","_r29","ctx_r28","idnguoitao","QLNhaTroComponent_div_13_div_5_Template","ɵɵclassMap","cax","lstTaiKhoan","_r2","_r4","_r8","QLNhaTroComponent_input_77_Template_input_change_0_listener","_r31","QLNhaTroComponent_div_80_li_1_Template_em_click_1_listener","_r35","file_r33","QLNhaTroComponent_div_80_li_1_Template","listFileTemp5","QLNhaTroComponent_input_93_Template_input_change_0_listener","_r37","ctx_r36","QLNhaTroComponent_div_96_li_1_Template_em_click_1_listener","_r41","file_r39","QLNhaTroComponent_div_96_li_1_Template","QLNhaTroComponent_input_104_Template_input_change_0_listener","QLNhaTroComponent_div_107_li_1_Template_em_click_1_listener","_r47","file_r45","ctx_r46","QLNhaTroComponent_div_107_li_1_Template","ctx_r19","QLNhaTroComponent_input_115_Template_input_change_0_listener","_r49","ctx_r48","QLNhaTroComponent_div_118_li_1_Template_em_click_1_listener","_r53","file_r51","ctx_r52","QLNhaTroComponent_div_118_li_1_Template","ctx_r21","QLNhaTroComponent_input_126_Template_input_change_0_listener","ctx_r54","QLNhaTroComponent_div_129_li_1_Template_em_click_1_listener","_r59","file_r57","ctx_r58","QLNhaTroComponent_div_129_li_1_Template","listFileTemp4","QLNhaTroComponent","listFileTemp","listDetail","listFile","thongTincanhan","selectedLoaihinhnha","loaihinhNhaThue","lstXom","anhdaidien","anh1","anh2","anh3","anhdkkd","initRow","userInfo","UserName","FullName","loadTaiKhoan","getTaiKhoanById","item","getTaiKhoan","removeRow","rowIndex","thongtinchutro","strcmnd","diachicuthe","loainhatro","ngaytao","tenchunhatro","mota","motachitiet","sotang","sophong","sodkkd","cccdchutro","gianiemyet","QLNhaTroComponent_Template","QLNhaTroComponent_Template_form_ngSubmit_0_listener","_r60","QLNhaTroComponent_Template_ng_select_ngModelChange_12_listener","QLNhaTroComponent_div_13_Template","QLNhaTroComponent_Template_input_ngModelChange_18_listener","QLNhaTroComponent_div_20_Template","QLNhaTroComponent_Template_ng_select_ngModelChange_25_listener","QLNhaTroComponent_Template_ng_select_change_25_listener","QLNhaTroComponent_Template_ng_select_ngModelChange_30_listener","QLNhaTroComponent_Template_ng_select_change_30_listener","QLNhaTroComponent_div_32_Template","QLNhaTroComponent_Template_ng_select_ngModelChange_37_listener","QLNhaTroComponent_Template_ng_select_change_37_listener","QLNhaTroComponent_div_39_Template","QLNhaTroComponent_Template_ng_select_ngModelChange_44_listener","QLNhaTroComponent_div_46_Template","QLNhaTroComponent_Template_input_ngModelChange_51_listener","QLNhaTroComponent_Template_input_ngModelChange_57_listener","QLNhaTroComponent_Template_input_ngModelChange_63_listener","QLNhaTroComponent_Template_input_ngModelChange_70_listener","QLNhaTroComponent_input_77_Template","QLNhaTroComponent_div_80_Template","QLNhaTroComponent_input_93_Template","QLNhaTroComponent_div_96_Template","QLNhaTroComponent_input_104_Template","QLNhaTroComponent_div_107_Template","QLNhaTroComponent_input_115_Template","QLNhaTroComponent_div_118_Template","QLNhaTroComponent_input_126_Template","QLNhaTroComponent_div_129_Template","QLNhaTroComponent_Template_textarea_ngModelChange_139_listener","QLNhaTroComponent_ngx_btn_submit_144_Template","STATUS_PROCESS","ActivityStatus","ThongKePatbDetailComponent","FeedbackContentModel","DeleteDialogComponent","ThongKePatbComponent_tr_56_span_35_Template_span_click_0_listener","item_r3","ctx_r6","openDeleteDialog","ThongKePatbComponent_tr_56_Template_span_click_33_listener","openDetailDialog","ThongKePatbComponent_tr_56_span_35_Template","pageModel","i_r4","tieude","diadiem","ngayguigopy","thoigianphanhoi","ɵɵstyleProp","mautrangthaixl","tentrangthaixl","tenlinhvuc","tenthanhvien","sdtthanhvien","trangthaixuly","TinRac","ThongKePatbComponent_div_58_Template_ngx_pagination_pageChange_6_listener","ThongKePatbComponent_div_58_Template_ngx_pagination_pageSize_6_listener","ThongKePatbComponent","unitCode","provinceCode","districtCode","wardCode","processStatus","field","TK_PHANANH_TB","convertDatePipe","lstStatus","lstField","getListStatus","getListField","mappingSearchModel","Active","ChoXuLy","TuChoiHoTro","NhoHoTro","changeSearch","export","convertDateToDateString","deleteSpam","QuanLyPhanAnhTbService","ThongKePatbComponent_Template","ThongKePatbComponent_Template_input_ngModelChange_9_listener","ThongKePatbComponent_Template_input_keyup_enter_9_listener","ThongKePatbComponent_Template_input_keyup_9_listener","ThongKePatbComponent_Template_ngx_btn_search_click_11_listener","ThongKePatbComponent_Template_ngx_btn_refresh_click_12_listener","ThongKePatbComponent_Template_ngx_btn_download_click_13_listener","ThongKePatbComponent_Template_ng_select_ngModelChange_20_listener","ThongKePatbComponent_Template_ng_select_ngModelChange_25_listener","ThongKePatbComponent_Template_input_ngModelChange_30_listener","ThongKePatbComponent_Template_input_ngModelChange_35_listener","ThongKePatbComponent_tr_56_Template","ThongKePatbComponent_tr_57_Template","ThongKePatbComponent_div_58_Template","HoTroProcessComponent","HoTroComponent_tr_57_Template_ngx_clipboard_list_check_click_34_listener","processing","donvinhohotro","HoTroComponent_div_59_Template_ngx_pagination_pageChange_6_listener","HoTroComponent_div_59_Template_ngx_pagination_pageSize_6_listener","HoTroComponent","XULY_HOTRO","HoTroComponent_Template","HoTroComponent_Template_input_ngModelChange_9_listener","HoTroComponent_Template_input_keyup_enter_9_listener","HoTroComponent_Template_input_keyup_9_listener","HoTroComponent_Template_ngx_btn_search_click_11_listener","HoTroComponent_Template_ngx_btn_refresh_click_12_listener","HoTroComponent_Template_ng_select_ngModelChange_19_listener","HoTroComponent_Template_ng_select_ngModelChange_24_listener","HoTroComponent_Template_input_ngModelChange_29_listener","HoTroComponent_Template_input_ngModelChange_34_listener","HoTroComponent_tr_57_Template","HoTroComponent_tr_58_Template","HoTroComponent_div_59_Template","PhanAnhTrinhBaoSearchModel","ThucHienPhanCongXuLyGopYModel","PhanCongXlAssignComponent","dataRef","XULY_PHANCONG","model","capDonVi","assignModel","nhanVienId","noiDungId","tenNhanVien","yKien","lstDonVi","getListDonVi","userid","hoVaTen","fullName","reportSpam","spam","changeAssignee","event","PhanCongXlAssignComponent_Template","PhanCongXlAssignComponent_Template_ng_select_ngModelChange_35_listener","PhanCongXlAssignComponent_Template_ng_select_change_35_listener","PhanCongXlAssignComponent_Template_ngx_btn_default_click_39_listener","PhanCongXlAssignComponent_Template_ngx_btn_default_click_41_listener","mau","PhanCongXlComponent_tr_55_span_12_Template","PhanCongXlComponent_tr_55_Template_span_click_30_listener","PhanCongXlComponent_tr_55_Template_ngx_users_config_click_33_listener","openAssignDialog","PhanCongXlComponent_div_57_Template_ngx_pagination_pageChange_6_listener","_r11","ctx_r10","PhanCongXlComponent_div_57_Template_ngx_pagination_pageSize_6_listener","ctx_r12","PhanCongXlComponent","TuChoiXuLy","TuChoiDuyet","PhanCongXlComponent_Template","PhanCongXlComponent_Template_input_ngModelChange_9_listener","PhanCongXlComponent_Template_input_keyup_enter_9_listener","PhanCongXlComponent_Template_input_keyup_9_listener","PhanCongXlComponent_Template_ngx_btn_search_click_11_listener","PhanCongXlComponent_Template_ngx_btn_refresh_click_12_listener","PhanCongXlComponent_Template_ng_select_ngModelChange_19_listener","PhanCongXlComponent_Template_ng_select_ngModelChange_24_listener","PhanCongXlComponent_Template_input_ngModelChange_29_listener","PhanCongXlComponent_Template_input_ngModelChange_34_listener","PhanCongXlComponent_tr_55_Template","PhanCongXlComponent_tr_56_Template","PhanCongXlComponent_div_57_Template","PheDuyetPatbApproveComponent","PheDuyetPatbComponent_tr_55_span_12_Template","PheDuyetPatbComponent_tr_55_Template_ngx_paper_plane_click_30_listener","approve","PheDuyetPatbComponent_div_57_Template_ngx_pagination_pageChange_6_listener","PheDuyetPatbComponent_div_57_Template_ngx_pagination_pageSize_6_listener","PheDuyetPatbComponent","ChoDuyet","XULY_PHEDUYET","PheDuyetPatbComponent_Template","PheDuyetPatbComponent_Template_input_ngModelChange_9_listener","PheDuyetPatbComponent_Template_input_keyup_enter_9_listener","PheDuyetPatbComponent_Template_input_keyup_9_listener","PheDuyetPatbComponent_Template_ngx_btn_search_click_11_listener","PheDuyetPatbComponent_Template_ngx_btn_refresh_click_12_listener","PheDuyetPatbComponent_Template_ng_select_ngModelChange_19_listener","PheDuyetPatbComponent_Template_ng_select_ngModelChange_24_listener","PheDuyetPatbComponent_Template_input_ngModelChange_29_listener","PheDuyetPatbComponent_Template_input_ngModelChange_34_listener","PheDuyetPatbComponent_tr_55_Template","PheDuyetPatbComponent_tr_56_Template","PheDuyetPatbComponent_div_57_Template","XlCuaToiProcessComponent","XlCuaToiComponent_tr_55_Template_ngx_clipboard_list_check_click_32_listener","XlCuaToiComponent_div_57_Template_ngx_pagination_pageChange_6_listener","XlCuaToiComponent_div_57_Template_ngx_pagination_pageSize_6_listener","XlCuaToiComponent","DaPhanCongXuLy","userId","XULY_CUATOI","XlCuaToiComponent_Template","XlCuaToiComponent_Template_input_ngModelChange_9_listener","XlCuaToiComponent_Template_input_keyup_enter_9_listener","XlCuaToiComponent_Template_input_keyup_9_listener","XlCuaToiComponent_Template_ngx_btn_search_click_11_listener","XlCuaToiComponent_Template_ngx_btn_refresh_click_12_listener","XlCuaToiComponent_Template_ng_select_ngModelChange_19_listener","XlCuaToiComponent_Template_ng_select_ngModelChange_24_listener","XlCuaToiComponent_Template_input_ngModelChange_29_listener","XlCuaToiComponent_Template_input_ngModelChange_34_listener","XlCuaToiComponent_tr_55_Template","XlCuaToiComponent_tr_56_Template","XlCuaToiComponent_div_57_Template","ItemZalo","ItemZaloDoituong","ObjectIEnumerablePageModelView","converBase64ToImg","item_r8","anh","QuanLyZaloComponent_div_30_ng_container_22_img_5_Template","QuanLyZaloComponent_div_30_ng_container_22_Template_input_click_17_listener","_r13","checked","i_r9","toidanh","getStatus","listdt","QuanLyZaloComponent_div_30_div_23_Template_ngx_pagination_pageChange_5_listener","QuanLyZaloComponent_div_30_div_23_Template_ngx_pagination_pageSize_5_listener","ctx_r16","QuanLyZaloComponent_div_30_ng_container_22_Template","QuanLyZaloComponent_div_30_div_23_Template","QuanLyZaloComponent_div_30_div_24_Template","QuanLyZaloComponent_ngx_btn_submit_34_Template_ngx_btn_submit_click_0_listener","QuanLyZaloComponent","sevice","listDele","isLoading","lstTrangthai","appCongAnApiV1ZaloDoituongGetByIdzaloZaloDoituong","idzalo","iddt","appCongAnApiV1ZaloPostInsertZalo","addDt","appCongAnApiV1ZaloPostUpdateZalo","_ref3","updateDt","_x3","appCongAnApiV1ZaloDoituongInsertZaloDt","appCongAnApiV1ZaloDoituongUpdateZaloDt","gui","appCongAnApiV1ZaloInsert","test","DoiTuongTruyNaService","QuanLyZaloComponent_Template","QuanLyZaloComponent_Template_input_ngModelChange_13_listener","QuanLyZaloComponent_Template_input_ngModelChange_19_listener","QuanLyZaloComponent_Template_input_ngModelChange_26_listener","QuanLyZaloComponent_Template_div_click_28_listener","QuanLyZaloComponent_div_30_Template","QuanLyZaloComponent_ngx_btn_submit_34_Template","geometry","Element","ThongKeModel","ThongKeSearchModel","Point","Rect","Size","NhaTroComponent","villageCode","hotelId","fromYear","toYear","listItemsLoainha","lstDistricts","lstWards","lstWardMaster","lstDiaBan","lstThonMaster","lstTarget","lstCategories","lstData","lstYearChart","targetDataChart","isRequired","seriesLabels","visible","padding","font","isPolice","reportName_Tinh","reportName_Huyen","reportName_Xa","lstSoSanh","tabId","initForm","firstDay","startDate","endDate","getTarget","appCongAnApiV1NhatroGetLoaiNha","isViewCurrentDate","unitName","UnitName","unitLevel","selectOneAccount","acc","levelUser","getListTarget","selectDbhc","changeDistrict","changeWard","changeTab","loadDataChart","param","p_type","p_tinh","p_huyen","p_xa","p_thon","p_tungay","p_denngay","p_tungay_show","convertStringToDateString","convertDateToString","p_denngay_show","p_donvicaptren","p_capdonvi","police","substring","toUpperCase","slice","p_donvidangnhap","p_dieukientimkiem","p_tungay_truoc","p_denngay_truoc","sosanhValue","setMonth","namHienTai_TuNgay","namHienTai_DenNgay","setFullYear","p_tungay_truoc_show","p_denngay_truoc_show","viewDetail","ar","year","labelsVisual","args","createVisual","ThongKeService","NhaTroComponent_Template","NhaTroComponent_Template_ng_select_ngModelChange_13_listener","NhaTroComponent_Template_ng_select_change_18_listener","NhaTroComponent_Template_ng_select_ngModelChange_18_listener","NhaTroComponent_Template_ng_select_ngModelChange_23_listener","NhaTroComponent_Template_ng_select_change_23_listener","NhaTroComponent_Template_ng_select_ngModelChange_28_listener","NhaTroComponent_Template_input_ngModelChange_33_listener","NhaTroComponent_Template_input_ngModelChange_38_listener","NhaTroComponent_Template_ng_select_ngModelChange_44_listener","NhaTroComponent_Template_ng_select_ngModelChange_49_listener","NhaTroComponent_Template_ngx_btn_search_click_55_listener","NhaTroComponent_ngx_report_58_Template","environment","SearchModelDSNhatroV2","AppConganNhatroComponent_div_37_Template_div_click_1_listener","item_r4","details","image","APP_PATH","ɵɵtextInterpolate2","ɵɵpipeBindV","tuGia","denGia","sophongTrong","dichVu","_c1","AppConganNhatroComponent_div_42_Template_a_click_3_listener","clickloadtintuc","AppConganNhatroComponent_div_42_div_6_Template","AppConganNhatroComponent_div_42_div_31_Template","AppConganNhatroComponent_div_42_Template_a_click_34_listener","clickmap","AppConganNhatroComponent_div_43_Template_ngx_pagination_pageChange_6_listener","searchModelV2","AppConganNhatroComponent_div_43_Template_ngx_pagination_pageSize_6_listener","totalRecord","AppConganNhatroComponent","router","keysearch","diaban","basePath","APP_CONGAN_PATH","path","highValue","options","floor","ceil","getsession","showImage","onUserChangeEnd","dongiaphongden","dongiaphongtu","sessionStorage","getItem","element","maThon","pagingcustom","SelectByMaDiabanCha","navigate","_","detailData","Router","AppConganNhatroComponent_Template","AppConganNhatroComponent_Template_input_ngModelChange_3_listener","AppConganNhatroComponent_Template_input_keyup_enter_3_listener","AppConganNhatroComponent_Template_ngx_btn_search_click_5_listener","AppConganNhatroComponent_Template_ng_select_change_11_listener","AppConganNhatroComponent_Template_ng_select_ngModelChange_11_listener","AppConganNhatroComponent_Template_ng_select_change_16_listener","AppConganNhatroComponent_Template_ng_select_ngModelChange_16_listener","AppConganNhatroComponent_Template_ng_select_ngModelChange_21_listener","AppConganNhatroComponent_Template_ng_select_change_21_listener","AppConganNhatroComponent_Template_ng_select_ngModelChange_26_listener","AppConganNhatroComponent_Template_ng_select_change_26_listener","AppConganNhatroComponent_Template_ngx_slider_valueChange_29_listener","AppConganNhatroComponent_Template_ngx_slider_highValueChange_29_listener","AppConganNhatroComponent_div_37_Template","AppConganNhatroComponent_div_42_Template","AppConganNhatroComponent_div_43_Template","AppConganNhatroComponent_div_44_Template","ItemTinlaodongIEnumerablePageModelView","SearchTinTucModel","isMobile","HomeHnComponent_div_130_Template_div_click_1_listener","HomeHnComponent","activeRoute","deviceService","feature","target1","strKey","chuTro","target_Count","device","getDeviceInfo","isTablet","isDesktop","SelectCountNhatroPhongtroNguoithue","temp","DeviceDetectorService","HomeHnComponent_Template","HomeHnComponent_ng_template_91_Template","HomeHnComponent_ng_template_93_Template","HomeHnComponent_ng_template_95_Template","HomeHnComponent_Template_ng_select_change_104_listener","HomeHnComponent_Template_ng_select_ngModelChange_104_listener","HomeHnComponent_Template_ng_select_change_109_listener","HomeHnComponent_Template_ng_select_ngModelChange_109_listener","HomeHnComponent_Template_ng_select_ngModelChange_114_listener","HomeHnComponent_Template_ng_select_change_114_listener","HomeHnComponent_Template_ng_select_ngModelChange_119_listener","HomeHnComponent_Template_ngx_slider_valueChange_122_listener","HomeHnComponent_Template_ngx_slider_highValueChange_122_listener","HomeHnComponent_div_130_Template","countNhatro_all","countPhongthue_all","countKhachthue_all","countNhatro","countPhongthue","countKhachthue","DanhMucNguoiDungComponent","HomeComponent_div_63_Template_div_click_1_listener","item_r6","link","baseimg","ngaydang","noidung","HomeComponent","ListTintuc","loadData_tinTuc","body","pagingcus","bypassSecurityTrustUrl","clickxemthem","showSpinner","openCreateDialog","tab","HomeComponent_Template","HomeComponent_Template_ng_select_change_37_listener","HomeComponent_Template_ng_select_ngModelChange_37_listener","HomeComponent_Template_ng_select_change_42_listener","HomeComponent_Template_ng_select_ngModelChange_42_listener","HomeComponent_Template_ng_select_ngModelChange_47_listener","HomeComponent_Template_ng_select_change_47_listener","HomeComponent_Template_ng_select_ngModelChange_52_listener","HomeComponent_Template_ngx_slider_valueChange_55_listener","HomeComponent_Template_ngx_slider_highValueChange_55_listener","HomeComponent_div_63_Template","HomeComponent_div_73_Template","HomeComponent_Template_a_click_75_listener","dateRegexString","DEFAULT_PHONENUMBER","LST_GIOITINH","LST_TRANGTHAIPHONG","NhaTroLocationModel","NotificationDialogComponent","NhapTtCaNhanComponent_div_17_Template_ng_select_ngModelChange_4_listener","NhapTtCaNhanComponent_div_17_Template_ng_select_change_4_listener","NhapTtCaNhanComponent_div_105_Template_input_ngModelChange_2_listener","_r32","ctx_r31","checkLocation","NhapTtCaNhanComponent_div_105_Template_label_click_4_listener","location","ctx_r24","NhapTtCaNhanComponent_button_115_Template_button_click_0_listener","checkout","NhapTtCaNhanComponent","conganservice","cookieService","spinner","platform","lstNhaTro","format","displayFormat","inputFormat","maxBirthDate","tenantid","checkTenantInRoom","iddantoc","changeNoiLamViec","disabledNoiLamViec","selectListNhaTro","selectListNoiLamViec","dateRegex","RegExp","replace","queryParamMap","get","selectById","selectListPhong","vd","kd","validForms","window","save","nhatro","y","updateLocation","show","hide","label","IOS","reload","alert","undefined","check","handler","validateRegex","input","match","i8","i9","CookieService","i10","NgxSpinnerService","i11","Platform","NhapTtCaNhanComponent_Template","NhapTtCaNhanComponent_Template_form_ngSubmit_1_listener","NhapTtCaNhanComponent_Template_ng_select_ngModelChange_15_listener","NhapTtCaNhanComponent_Template_ng_select_change_15_listener","NhapTtCaNhanComponent_div_17_Template","NhapTtCaNhanComponent_Template_input_ngModelChange_22_listener","NhapTtCaNhanComponent_Template_input_change_22_listener","NhapTtCaNhanComponent_div_24_Template","NhapTtCaNhanComponent_Template_i_click_30_listener","NhapTtCaNhanComponent_Template_input_ngModelChange_31_listener","NhapTtCaNhanComponent_Template_input_change_31_listener","NhapTtCaNhanComponent_div_33_Template","NhapTtCaNhanComponent_Template_input_ngModelChange_38_listener","NhapTtCaNhanComponent_div_40_Template","NhapTtCaNhanComponent_Template_ng_select_ngModelChange_45_listener","NhapTtCaNhanComponent_div_47_Template","NhapTtCaNhanComponent_Template_ng_select_ngModelChange_52_listener","NhapTtCaNhanComponent_div_54_Template","NhapTtCaNhanComponent_Template_kendo_datepicker_valueChange_60_listener","NhapTtCaNhanComponent_Template_ng_select_ngModelChange_66_listener","NhapTtCaNhanComponent_Template_ng_select_change_66_listener","NhapTtCaNhanComponent_div_68_Template","NhapTtCaNhanComponent_Template_ng_select_ngModelChange_73_listener","NhapTtCaNhanComponent_Template_ng_select_change_73_listener","NhapTtCaNhanComponent_div_75_Template","NhapTtCaNhanComponent_Template_ng_select_ngModelChange_80_listener","NhapTtCaNhanComponent_Template_ng_select_change_80_listener","NhapTtCaNhanComponent_div_82_Template","NhapTtCaNhanComponent_Template_input_ngModelChange_87_listener","NhapTtCaNhanComponent_Template_ng_select_ngModelChange_94_listener","NhapTtCaNhanComponent_Template_ng_select_change_94_listener","NhapTtCaNhanComponent_div_96_Template","NhapTtCaNhanComponent_Template_ng_select_ngModelChange_101_listener","NhapTtCaNhanComponent_div_105_Template","NhapTtCaNhanComponent_button_115_Template","NhapTtCaNhanComponent_button_116_Template","QLKhachQrcodeComponent_button_111_Template_button_click_0_listener","getCameras","devices","cameraId","start","fps","qrbox","height","decodedText","decodedResult","errorMessage","_r27","QLKhachQrcodeComponent_Template_ng_select_ngModelChange_14_listener","QLKhachQrcodeComponent_Template_ng_select_click_14_listener","QLKhachQrcodeComponent_Template_ng_select_ngModelChange_20_listener","QLKhachQrcodeComponent_Template_ng_select_click_20_listener","QLKhachQrcodeComponent_Template_input_ngModelChange_27_listener","QLKhachQrcodeComponent_div_29_Template","QLKhachQrcodeComponent_Template_ng_select_ngModelChange_34_listener","QLKhachQrcodeComponent_div_36_Template","QLKhachQrcodeComponent_Template_ng_select_ngModelChange_41_listener","QLKhachQrcodeComponent_div_43_Template","QLKhachQrcodeComponent_Template_input_ngModelChange_49_listener","QLKhachQrcodeComponent_Template_input_change_49_listener","QLKhachQrcodeComponent_div_51_Template","QLKhachQrcodeComponent_Template_input_ngModelChange_56_listener","QLKhachQrcodeComponent_Template_input_change_56_listener","QLKhachQrcodeComponent_div_58_Template","QLKhachQrcodeComponent_Template_input_ngModelChange_68_listener","QLKhachQrcodeComponent_Template_input_change_68_listener","QLKhachQrcodeComponent_Template_ng_select_ngModelChange_73_listener","QLKhachQrcodeComponent_Template_ng_select_change_73_listener","QLKhachQrcodeComponent_Template_ng_select_ngModelChange_78_listener","QLKhachQrcodeComponent_Template_ng_select_change_78_listener","QLKhachQrcodeComponent_Template_ng_select_ngModelChange_83_listener","QLKhachQrcodeComponent_Template_ng_select_change_83_listener","QLKhachQrcodeComponent_Template_ng_select_ngModelChange_88_listener","QLKhachQrcodeComponent_div_90_Template","QLKhachQrcodeComponent_div_91_Template","QLKhachQrcodeComponent_div_92_Template","QLKhachQrcodeComponent_div_93_Template","QLKhachQrcodeComponent_div_94_Template","QLKhachQrcodeComponent_Template_ng_select_ngModelChange_101_listener","QLKhachQrcodeComponent_Template_ng_select_change_101_listener","QLKhachQrcodeComponent_Template_ng_select_ngModelChange_106_listener","QLKhachQrcodeComponent_button_111_Template"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}